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