Порт/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 Address. . . . . . . . . . . . : 192.168.3.73
        Subnet Mask . . . . . . . . . . . : 255.255.224.0
        Default Gateway . . . . . . . . . : 192.168.0.1

Первый из этих адресов — это IP-адрес вашего компьютера.

Default Gateway — адрес шлюза, которым может быть маршрутизатор (роутер).

Subnet Mask определяет, какие адреса являются локальными и к ним компьютер будет обращаться напрямую, а какие нет и к ним обращение будет идти через роутер.

[править] Локальный ли ?

Три специальных диапазона IP-адресов зарезервированы для локальных сетей и в Интернете не используются:

 10.   0.  0.  0 - 10. 255.255.255
 172. 16.  0.  0 - 172. 31.255.255
 192.168.  0.  0 - 192.168.255.255

Четвертый диапазон предназначен для самоназначаемых 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.

Эти сайты покажут вам адрес, под которым вас видят другие компьютеры в Интернете. Если он совпадает с 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-адрес и далее следуя вышеописанному сценарию (принадлежит ли этот адрес диапазонам локальных сетей, совпадает ли он с тем адресом, под которым вас видят в Интернете).