Порт/NAT

Материал из ТХАБ.РФ
Перейти к: навигация, поиск

Что такое NAT

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


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

  • Напрямую — обычно при подключении непосредственно к модему (DSL, кабельному или обычному аналоговому).
  • Либо через NAT — тогда ваш компьютер имеет локальный  IP адрес, из интернета недоступный.

Здесь NAT — это процесс трансляции локальных адресов во внешний. Благодаря этому процессу ваш компьютер получает доступ в интернет.

NAT автоматически делает порты вашей машины недоступными из интернета для прямого входящего соединения.

Находитесь ли вы за NAT

IP адрес компьютера

В Windows 2000/XP выберите кнопку Пуск > Выполнить и наберите команду cmd

В появившемся окне выполните команду ipconfig

Windows IP Configuration

Ethernet adapter Local Area Connection:

        IP Address. . . . . . . . . . . . : 192.168.1.10
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.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|UPnP]], вдруг в роутере оставили его разрешённым.

Дополнительно

Ваш NAT

В этом случае ваш внешний IP адрес «принадлежит» вам лично, и вы практически всегда можете ваше NAT-устройство настроить и получить доступный порт.

В качестве NAT может выступать компьютер, подключёный к интернету напрямую, тогда ваш второй компьютер (для которого вам нужно открыть порт) получает интернет через него с помощью встроенного в Windows ICS или сторонней программы, например WinRoute. Про настройку порта в ICS смотрите тут или тут (обе ссылки на английском).

Но чаще это обычный домашний роутер, на настройке которого и фокусируется далее это руководство:

Роутер и доступ к его настройкам

Двойной NAT

К сожалению, иногда бывает и так, что NAT есть и у вас и у провайдера, то есть ваш компьютер находится за двумя NAT сразу. Это можно проверить, зайдя в настройки роутера, посмотрев на его внешний (WAN) IP адрес и далее следуя вышеописанному сценарию (принадлежит ли этот адрес диапазонам локальных сетей, совпадает ли он с тем адресом, под которым вас видят в интернете).

Ссылки