Ваша IP адреса:
Провайдер:
...

Що таке NAT і як працює перенаправлення портів?

NAT (Network Address Translation) змінює адреси в пакетах під час проходження межі мережі. У домашніх мережах маршрутизатор найчастіше дає кільком пристроям із приватними IPv4-адресами виходити через одну зовнішню IPv4-адресу. Він також часто змінює номери портів, щоб розрізняти одночасні з’єднання.

Що відбувається з вихідним запитом

Уявімо, що ноутбук 192.168.1.20 відкриває сайт через домашній маршрутизатор. Маршрутизатор записує в таблицю відповідність між внутрішньою адресою й портом ноутбука та своєю зовнішньою адресою й вибраним портом. Сервер бачить зовнішню адресу маршрутизатора і відповідає їй. За таблицею маршрутизатор спрямовує відповідь до початкового ноутбука, навіть якщо інший телефон одночасно звертався до того самого сайту. Це спрощений приклад поширеної трансляції адрес і портів; точна поведінка залежить від обладнання. Основи описано в RFC 3022.

Чому вхідне з’єднання не завжди проходить

Неочікуваний запит ззовні не має готової відповідності в таблиці вихідних з’єднань. Для домашнього сервера адміністратор може створити правило перенаправлення зовнішнього порту на внутрішню адресу й порт. Наприклад, зовнішній TCP-порт 8443 можна спрямувати до конкретного вебсервісу всередині мережі. Правило має вказувати правильний протокол: TCP і UDP — різні простори портів. Але спершу переконайтеся, що сервер захищений, оновлений і справді має бути доступний ззовні. Відкритий порт не означає, що програма працює.

NAT не замінює міжмережевий екран

Трансляція визначає, як змінити адреси й співвіднести відповіді зі з’єднаннями. Політика міжмережевого екрана вирішує, який трафік дозволити. На практиці функції часто поєднані в одному маршрутизаторі, тому їх легко сплутати. Не покладайтеся на NAT як на єдиний засіб безпеки: окреме правило, автоматичне відкриття порту чи помилка налаштування можуть змінити доступність. Після налаштування перевіряйте кінцеву програму, а не лише номер порту. Перевірка порту на 2ip корисна як зовнішній сигнал, але не підтверджує належної автентифікації сервісу.

Що перевірити, якщо перенаправлення не працює

Спочатку перевірте внутрішню адресу сервера й доступ до нього з тієї самої мережі. Потім переконайтеся, що правило маршрутизатора вказує правильний порт і протокол, а локальний міжмережевий екран дозволяє потрібне з’єднання. Порівняйте зовнішню адресу маршрутизатора з адресою, яку видно в Інтернеті. Якщо вони різняться через другий маршрутизатор або CGNAT у провайдера, домашнього правила може бути замало. Не вимикайте весь міжмережевий екран для діагностики; перевіряйте окреме правило й журнал сервісу.

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