Сетевой порт/Что такое NAT и как определить, находитесь ли вы за NAT
Что такое NAT
[править]NAT — Network Address Translation, трансляция сетевых адресов. Оригинал RFC 1631, RFC 3022. Перевод RFC 3022.
Ваш компьютер может быть подключен к Интернету:
- Напрямую — обычно при подключении непосредственно к модему (DSL, кабельному или обычному аналоговому).
- Через NAT — тогда ваш компьютер или модем имеет локальный IP-адрес, из Интернета недоступный.
Здесь NAT — это процесс трансляции локальных адресов во внешние. Благодаря этому процессу ваш компьютер получает доступ в Интернет.
NAT автоматически делает порты вашей машины недоступными из Интернета для прямого входящего соединения.
Находитесь ли вы за NAT
[править]IP-адрес компьютера
[править]- Windows
Выберите команду главного меню Пуск > Выполнить... и наберите команду cmd
В появившемся командном окне выполните команду ipconfig
Windows IP Configuration Ethernet adapter Local Area Connection: IP . . . . . . . . . . . . : 192.168.0.73 Subnet Mask . . . . . . . . . . . : 255.255.224.0 Default Gateway . . . . . . . . . : 192.168.0.1 |
Первый из этих адресов — это IP-адрес вашего компьютера.
Default Gateway — адрес шлюза, он же маршрутизатор (роутер).
Subnet Mask определяет, какие адреса являются локальными (к ним компьютер будет обращаться напрямую), а какие нет (к ним обращение будет идти через маршрутизатор).
- Linux
Выполните в терминале команду:
ifconfig
Локальный ли?
[править]Три специальных диапазона IP-адресов зарезервированы для локальных сетей и в Интернете не используются:
10. 0. 0. 0 - 10.255.255.255 172. Х. 0. 0 - 172. Х.255.255 (где X - от 16 до 31) 192.168. X. 0 - 192.168. Х.255 (где X - от 0 до 255, обычно 0 или 1)
Четвертый диапазон предназначен для самоназначаемых IP-адресов; в случае если на компьютере настроен DHCP-клиент и ему не удалось получить IP-адрес, он берёт случайный адрес из этого диапазона. Эти адреса предназначены для передачи информации только в пределах одной физической сети (так называемые Link-local-адреса, см. RFC 3927).
169.254. 0. 0 - 169.254.255.255
Если IP-адрес вашего компьютера находится в одном из этих диапазонов, то есть начинается с 10. или с 192.168. или с 172.nn. (где nn — от 16 до 31), то это локальный (внутренний) адрес и вы точно находитесь за NAT.
Внешний ли?
[править]Зайдите на любую из этих страниц: whatsmyip.org, myipaddress.com, showmyip.com, www.radiotoolbox.com, 2ip.ru, myip.ru, whatismyip.media, internet.yandex.ru.
Эти сайты покажут вам адрес, под которым вас видят другие компьютеры в Интернете. Если он совпадает с IP-адресом вашего компьютера, то вы точно подключены к Интернету напрямую (то есть не за NAT) и дальше вам читать не нужно.
Остальные варианты
[править]В остальных случаях возможны такие варианты:
- вы находитесь за NAT, но ваш сетевой администратор зачем-то выбрал нестандартные внутренние адреса для вашей локальной сети
- вы выходите в Интернет через прокси-сервер. Его надо настраивать в каждой программе, без этого выход в Интернет невозможен.
Во многих случаях вы можете определить, есть ли между вами и Интернетом прокси-сервер, пользуясь, например, сайтом lagado.com/proxy-test.
Подключение через прокси в этом руководстве пока не рассматривается.
Чей это NAT
[править]Если вы за NAT, то следующим шагом надо определить, где именно находится NAT-устройство.
Провайдеры
[править]Такую ситуацию описывают разными словами:
- провайдер предоставляет вам доступ в Интернет через NAT
- у вас внутренний («серый») IP-адрес
- провайдер не даёт вам внешний IP-адрес
- вы подключены через локальную сеть провайдера
Проще всего позвонить провайдеру и узнать. Или спросить у соседей с таким же подключением. Обычно такой провайдер предоставляет дополнительную услугу — внешний («белый») IP-адрес за отдельную плату.
Без внешнего IP-адреса сделать себе доступный порт нельзя.
то в принципе ситуация UPnP, вдруг маршрутизатор оставил его разрешённым
Дополнительно
[править]Ваш NAT
[править]В этом случае ваш внешний IP-адрес «принадлежит» вам лично, и вы практически всегда можете ваше NAT-устройство настроить и получить доступный порт.
В качестве NAT может выступать компьютер, подключённый к Интернету напрямую; тогда ваш второй компьютер (для которого вам нужно открыть порт) получает доступ к Интернет через него с помощью встроенного в Windows ICS или сторонней программы, например, WinRoute. Про настройку порта в ICS смотрите тут или тут (обе ссылки на английском).
Но чаще это обычный домашний маршрутизатор, на настройке которого и фокусируется далее это руководство:
Маршрутизатор и доступ к его настройкам
Двойной NAT
[править]К сожалению, иногда бывает и так, что NAT есть и у вас, и у провайдера, то есть ваш компьютер находится за двумя NAT сразу. Это можно проверить, зайдя в настройки маршрутизатора, посмотрев на его внешний (WAN) IP-адрес и далее следуя вышеописанному сценарию (принадлежит ли этот адрес диапазонам локальных сетей, совпадает ли он с тем адресом, под которым вас видят в Интернете).