Що таке NAT на роутері – визначення, настройка, проблеми

Комп’ютер підключається до глобальної мережі декількома способами. Це може бути пряме підключення, в цьому випадку є зовнішній IP адреса (динамічний або статичний), який видно з інтернету. Або ж підключення може здійснюватися через маршрутизатор. При такому підключенні зовнішній адресу має тільки роутер, а всі підключені до нього користувачі є клієнтами іншої мережі. Роутер бере на себе розподіл вхідного і вихідного трафіку між клієнтами і інтернетом. Виникає ряд проблем при підключенні через маршрутизатор:

  • перестають працювати торрент-клієнти;
  • немає можливості підключитися до ігрового онлайн сервера;
  • немає звернень до сервера внутрішньої мережі із зовні ні по одному протоколу і ні на один порт.

Вирішити проблему допомагає правильна настройка маршрутизатора, а саме сервісу NAT на ньому. Для того, щоб зрозуміти, як налаштувати NAT на роутері, необхідному дізнатися, що таке трансляція адрес і для чого це використовується.

NAT: загальні визначення

NAT (network address translation) або трансляція мережевих адрес – це процес перекладу внутрішніх або локальних адрес в зовнішні. NAT використовується абсолютно всіма маршрутизаторами незалежно від їх конфігурації, призначення та вартості. За замовчуванням роутер забороняє безпосередньо звертатися до будь-якого пристрою, що знаходяться всередині мережі. Він блокує доступ на будь-які порти для вхідних з’єднань надходять з інтернету.

Але NAT і Firewall це суть різні поняття. Firewall просто забороняє доступ до ресурсу за певним TCP або UDP порту, може встановлюватися на локальній машині для обмеження доступу тільки до неї або ж на сервері для фільтрації трафіку по всій локальній мережі. Перед NAT завдання стоїть більш розгорнуто. Сервіс забороняє або дозволяє доступ всередині мережі по конкретному IP адресою або діапазону адрес. Таким чином клієнт, який звертається до ресурсу не бачить дійсного IP адреси ресурсу. NAT переводить внутрішній IP на адресу, який буде видно з інтернету.

Щоб перевірити чи знаходиться комп’ютер за NAT або транслює в інтернет реальну адресу можна наступним чином:

  • в Windows потрібно натиснути «Пуск – Виконати – cmd» і прописати ipconfig і натиснути «Enter»;
  • в Linux і MacOS в терміналі виконується ifconfig.

Висновок команди показує наступні дані:

  • IP – реальний, дійсний адреса комп’ютера;
  • Subnet mask – маска підмережі;
  • Gateway – адреса шлюзу маршрутизатора.

Як тепер розібрати чи є адреса локальним або ж безпосередньо «дивиться» в інтернет. Згідно зі специфікацією, існує чотири діапазони адрес, які ні за яких обставин не використовуються в інтернеті, а є виключно локальними:

  1. 0.0.0 – 10.255.255.255
  2. Х.0.0 – 172.Х.255.255, де Х в діапазоні від 16 до 31.
  3. 168.0.0 – 192.168.255.255
  4. 254.0.0 – 169.254.255.255

У тому випадку, коли адреса машини потрапляє в один з цих діапазонів, слід вважати, що комп’ютер знаходиться в локальній мережі або «за» NAT. Можна також додатково використовувати спеціальні служби, які мають безліч в інтернеті для визначення реального IP адреси. Тепер стало зрозуміліше знаходиться комп’ютер за NAT в роутері що це за сервіс, і за те він відповідає.

Проблеми NAT і можливості вирішення

З моменту появи NAT відразу ж стали проявлятися проблеми. Неможливо було отримати доступ за окремим протоколом або в роботі окремих програм. Дані проблеми так і не вдалося повністю усунути, вийшло тільки знайти деякі варіанти вирішення тільки з використанням трансляції адрес, але жоден варіант рішення не є правильним з точки зору специфікацій адміністрування.

Як приклад можна розглянути протокол передачі файлів (FTP), який був саміт поширеним до появи NAT. Для файлових серверів (FTP) ключовим є реальний IP адреса комп’ютера, який надсилає запит на доступ. Тут перетворення адрес не працює, тому що запит на сервер відправляється з IP, невидимого з інтернету. Немає можливості створити сесію клієнт-сервер для завантаження файлів. Обійти проблему допомагає використання FTP в пасивному режимі. У цьому режимі використовується інший набір команд, і робота ведеться через спеціальний проксі-сервер, який додатково відкриває інший порт для з’єднання і передає його програмі клієнту. Проблемою такого рішення є те, що необхідно використовувати сторонні FTP клієнти.

Повністю позбавитися від проблеми доступу вийшло тільки з появою SOCKS (Socket Secure) протоколу. Цей протокол дозволяє обмінюватися даними через проксі-сервер в «прозорому» режимі. Тобто сервер не буде знати, що відбувається підміна адрес з локальних на глобальні і навпаки. Винахід SOCKS дозволило уникнути багатьох проблем і спростити роботу адміністрування мережі:

  • створює на сервері службу, слухають вхідні запити, що дозволяє обслуговувати багатозв’язкові протоколи на зразок FTP;
  • немає необхідності використовувати і обслуговувати службу DNS всередині локальної мережі. Тепер таке завдання покладено на кешуючий проксі;
  • додаткові способи авторизації дозволяють з більшою ефективністю проводити відстеження і фільтрацію пакетів. Засобами NAT можна фільтрувати запити тільки за адресами.

Використання NAT і SOCKS не завжди виправдано з точки зору мережевого адміністрування. Іноді більш доцільним є використання спеціалізованих проксі, яких існуєте безліч для будь-якого протоколу передачі даних.

Налаштування NAT на комп’ютері

Всі сучасні операційні системи мають вже вбудований NAT. У Windows ця функція реалізована з 1999 року з появою Windows XP. Управління NAT здійснюється безпосередньо через властивості мережевого підключення. Щоб налаштувати службу потрібно зробити наступне:

  • Через меню «Пуск» запустити програму «Панель управління».
  • Знайти іконку «Мережеві підключення» і запустити її.
  • У новому вікні натиснути правою кнопкою миші на активному мережевому підключенні і вибрати в списку, що випадає «Властивості».
  • Перейти на вкладку «Додатково».
  • Встановити галочки навпроти «Дозволити іншим користувачам мережі використовувати підключення до інтернету даного комп’ютера».
  • Підтвердити зміну кнопкою «Ок».

Якщо при виведеться повідомлення що неможливо запустити службу обміну, потрібно переконатися, що запущена служба DHCP-клієнт. При необхідності можна встановити запуск служби примусово, а не за запитом автоматично.

Налаштування NAT на маршрутизаторі

Що таке NAT в роутері, доцільність його використання та проблеми, які він може створити було описано вище, тепер можна перейти безпосередньо до реалізації завдання. Налаштування служби на роутері залежить від його моделі, використовуваної прошивки і інших параметрів. Але досить зрозуміти механізм, щоб не виникало складнощів і питань по налаштуванню окремого пристрою. Для настройки виконуються наступні дії (як приклад налаштування виконуються на роутері Zyxel на прошивці v1):

  • У браузері зайти на сторінку налаштувань роутера.
  • Перейти в меню «Network – Routing» на вкладку «Policy routing».

Правда, яка сторінка і буде тією, яка управляє політиками доступу і маршрутизацією. Тут необхідно включити службу, активувавши перемикач в положення «Enable». Самі налаштування виконуються в групі «Criteria». Вибираються параметри NAT по декількох категоріях фільтрів:

  • User – трансляція по певному користувачеві.
  • Incoming – по мережному інтерфейсі.
  • Source Address – підміна адреси за адресою джерела.
  • Destination Address – за адресою кінцевого одержувача
  • Service – по конкретному порту служби.

Як об’єкт перенаправлення можна вибрати наступні варіанти:

  • Auto – автоматичний вибір об’єкта призначення. За замовчуванням встановлено Wan інтерфейс.
  • Gateway – шлюз, вказаний заздалегідь в налаштуваннях.
  • VPN Tunel – відповідно через VPN тунель.
  • Trunk – діапазон інтерфейсів, налаштованих на спільну роботу.
  • Interface – конкретний інтерфейс на вибір.

У кожному окремо взятому роутере настройки і назва пунктів меню може відрізнятися, але принцип побудови NAT залишається незмінним.

Ссылка на основную публикацию