Сетевой порт/Что такое NAT и как определить, находитесь ли вы за NAT

Материал из Викиучебника — открытых книг для открытого мира
Перейти к: навигация, поиск

Что такое NAT[править]

NAT — Network Address Translation, трансляция сетевых адресов. Оригинал RFC 1631, RFC 3022. Перевод RFC 3022.

Network.NAT.png


Ваш компьютер может быть подключен к Интернету:

  • Напрямую — обычно при подключении непосредственно к модему (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, www.radiotoolbox.com, 2ip.ru, myip.ru, 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-адрес и далее следуя вышеописанному сценарию (принадлежит ли этот адрес диапазонам локальных сетей, совпадает ли он с тем адресом, под которым вас видят в Интернете).