Закрытый НАТ - как открыть NAT в Xbox для мультиплеера и чата. В роутере nat


Урок 37. Настройка NAT (Network Address Translation) на Cisco роутере

 

С развитием интернета и компьютерных технологий количество сетевых устройств стало стремительно расти. Как ты уже знаешь, количество уникальных IP адресов ограничено.

Для экономии и эффективного распределения адресного пространства были реализованы следующие технологии:

  • Публичные и частные IP адреса
  • CIDR/VLSM

 

Следующей технологией стала NAT (Network Address Translation) - преобразование сетевых адресов.

И как работает?

Представь себе компанию с локальной сетью с 100 компьютеров. Чтобы обеспечить каждому компьютеру выход в интернет придется выделить 100 адресов. А таких компаний могут быть десятки тысяч с последующим расширением. Идея NAT состоит в том, чтобы выделить ограниченное количество адресов для целой компании и динамически их назначать хостам, выходящим в интернет. К примеру, для вышеописанной компании можно выделить 10 публичных адресов. Когда один из компьютеров попытается установить соединение с интернет, то маршрутизатор сети назначит ему один из выделенных адресов. Как только компьютер закончит сеанс связи, то назначенный адрес освободится и может быть использован другим компьютером.

 

Получается, что некоторым компьютерам может не хватить адресов? 

Да, такое возможно. Однако это легко можно решить либо с помощью увеличения количества выделенного пула адресов (что не всегда выгодно)  либо с помощью технологии PAT (об этом подробнее ниже).

Существуют 3 типа NAT:

  • Статический
  • Динамический
  • Перегруженный

 

Статический: определенным хостам на постоянной основе выделяется адрес для связи с внешним миром. 

Динамический: IP адреса назначаются всем хостам на равной основе по запросу. 

Перегруженный: данный тип NAT также называется PAT (Port Address Translation) - преобразование порт-адрес. Является расширением динамического типа, однако отличие в том, что доступ в интернет предоставляется всем желающим. То есть один и тот же публичный адрес используется одновременно несколькими хостами.

 

А как же работает связь, когда один и тот же IP адрес используется сразу несколькими компьютерами? 

Дело в том, что маршрутизатор для каждого соединения использует различные TCP/UDP порты источника. Как ты уже знаешь любое IP соединение характеризуется парой IP адресов(источника и назначения) и парой TCP/UDP портов (источника и назначения). Так вот маршрутизатор и использует порт источника для идентификации каждой сессии. Маршрутизатор запоминает каждую сессию и при поступлении входящих (ответных) пакетов может определить кому из внутренних хостов направить данный пакет. 

Теперь попробуем настроить простую  сеть с  использованием всех типов NAT.

 

 

Статический NAT

Сеть со статическим NAT

Необходимо назначить адреса по следующей схеме:

192.168.1.10 → 30.1.1.10

192.168.1.11 → 30.1.1.11

 

Введем следующие команды:

Router(config)# ip nat inside source static 192.168.1.10 30.1.1.10

Router(config)# ip nat inside source static 192.168.1.11 30.1.1.11

 

Теперь нужно указать какой интерфейс является локальным (внутренним):

Router(config)# interface fastehternet 0/0

Router(config-if)# ip nat inside

  

Указываем внешний интерфейс, то есть тот, который используется для выхода в интернет:

Router(config)# interface serial1/0

Router(config-if)# ip nat outside

 

 

Динамический NAT

Воспользуемся тем же рисунком, однако вместо статического пула с сетью 30.1.1.0 мы будем следующий пул: 

43.1.1.10/24

43.1.1.11/24

43.1.1.12/24

 

Создадим NAT пул с указанием начального и конечного адресов, а также маски либо префикса сети:

Router(config)# ip nat pool имя_пула 43.1.1.10 43.1.1.12 netmask 255.255.255.0

 

либо

Router(config)# ip nat pool имя_пула 43.1.1.10 43.1.1.12 prefix 24

 

Создаем стандартный список доступа. Данный список указывает какие локальный IP адреса могут быть преобразованы в публичные адреса, а какие не могут. То есть мы явно указываем кому разрешить доступ в интернет, а кому наоборот запретить:

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

 

Пока запомни эту команду. В уроке Списки доступа мы рассмотрим ее подробнее.

Теперь нам необходимо преобразовывать адреса в соответствии с пулом адресов и списком доступа:

Router(config)# ip nat inside source list 1 pool имя пула

 

Также как и со статическим NAT необходимо указать внутренний и внешний интерфейсы:

Router(config)# interface fastethernet 0/0

Router(config-if)# ip nat inside

--------------------------------------------------------------------------------------------------------------

Router(config) interface serial1/0

Router(config-if)# ip nat outside

 

 

Перегруженный  PAT

В этом раз мы выделим всего лишь 1 адрес 189.1.1.10. 

Сначала создаем такой же список доступа, затем пул адресов, но в данном случаем указывается только один адрес. После этого выполним команду:

Router(config)# ip nat inside source list 1 pool имя пула overload

 

Если используется только 1 внешний IP адрес, то нет необходимости создавать пул. Для этого достаточно создать список доступа (access-list), а затем выполнить команду ниже:

Router(config)# ip nat inside source list 1 interface название_интерфейса overload

 

Ключевое слово overload. Именно оно и указывает, что будет задействован PAT. 

Далее настраиваем внутренний и внешний интерфейсы.

 

NAT у нас настроен, осталось настроить маршрутизацию. Предлагаю самостоятельно настроить статическую маршрутизацию. 

Чтобы убедиться, что NAT работает, попробуем выполнить команду PING на каждом компьютере.

Для проверки правильности настроек, а также всего процесса преобразования, выполним следующие команды:

Router# show ip nat translations

 Вывод преобразований NAT

 

Router# show ip nat statistics

 

Вывод NAT статистики

 

 

Вывод работы NAT отладчика

А что такое inside local, outside global? Что означают эти  параметры? 

Inside local - преобразуемый локальный адрес (адрес источника)

Inside global - преобразованный публичный адрес (адрес источника)

Outside local и outside global - публичный адрес назначения

Для удаления записей о преобразований можно выполнить:

Router# clear ip nat translation

 

 

Port forwarding (Проброс портов)

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

 

Например, у меня Web сервер в сети. Как быть, если мне нужно предоставить доступ к моему серверу из внешней сети?  

Все очень просто. В данном случае мы настроим статический NAT с указанием портов.

Вернемся к нашей сети, где настроен  PAT.  Добавим в нее Web сервер, который будет доступен по адресу 189.1.1.10:5000. 5000 означает порт назначения

Проброс портов

Задача маршрутизатора преобразовать этот адрес в локальный адрес с портом 80: 

189.1.1.10:5000 → 192.168.1.20:80

 

Для этого достаточно сконфигурировать статический NAT для конкретного сервера:

Router(config)# ip nat inside source static tcp 192.168.1.20 80 189.1.1.10 5000 extendable

 

Теперь Web сервер будет доступен для внешней сети. 

Вот и вся наука.

 

easy-network.ru

Открываем порты за NAT при помощи NAT-PMP и UPnP IGD / Хабр

Ранее я много раз слышал, что UPnP каким-то образом умеет самостоятельно открывать порты (производить Port Forwarding на роутере) по запросу от хоста из локальной сети. Однако, то, каким именно образом это происходит, и какие протоколы для этого используются, доселе было покрыто для меня пеленой тумана.

В данной статье я хочу кратко рассказать, как работают два механизма для проброса портов, а именно NAT Port Mapping Protocol и Internet Gateway Device (IGD) Protocol, входящий в набор протоколов UPnP. К своему удивлению я обнаружил, что в рунете информация по данному вопросу более чем скудна, что и сподвигло меня на написание данной заметки.

Для начала приведу краткий FAQ:

Q: Для чего нужны данные протоколы? A: Для формирования на маршрутизаторе правила проброса определенного TCP/UDP порта (Port Forwarding) не вручную, а «автоматически», т.е. по запросу от хоста во внутренней сети.

Q: Как это реализуется? A: Устройство за NAT отправляет маршрутизатору запрос с указанием внутреннего и внешнего номеров портов и типа протокола (TCP/UDP). Если указанный внешний порт свободен, маршрутизатор формирует у себя правило трансляции и рапортует запросившему компьютеру об успешном выполнении запроса.

Q: Проводится ли на маршрутизаторе аутентификация/авторизация запросов на открытие порта? A: Нет, не проводится.

Теперь же рассмотрим работу данных протоколов более подробно (под катом).

Port Mapping Protocol
NAT-PMP описан в RFC 6886. Для своей работы он использует UDP-порт сервера 5351.

Рассмотрим работу протокола на конкретном примере — торрент-клиенте Vuze 5.7 для Windows 7.

Примечание: NAT-PMP во Vuze по умолчанию выключен. Его необходимо активировать в настройках плагинов.

1. Запускаем Wireshark. В строке фильтра вводим nat-pmp 2. Запускам Vuze. 3. Останавливаем перехват пакетов, смотрим результаты.

У меня получилось следующее:

Всего видим 6 пакетов (3 запроса и 3 ответа).

Первые 2 это запрос внешнего адреса маршрутизатора и ответ с указанием этого самого адреса. Не будем на них подробно останавливаться и лучше рассмотрим, как происходит маппинг портов на примере пакетов 3-4.

Запрос:

Здесь мы видим, что запрашивается проброс внешнего UDP порта 48166 на такой же внутренний порт. Интересно, что внутри протокола не указывается адрес хоста, на который должна происходить трансляция (Inside Local в терминологии Cisco). Это означает, что маршрутизатор должен взять адрес источника пакета из IP-заголовка и использовать его в качестве Inside Local.

Параметр Requested Port Mapping Lifetime ожидаемо означает время жизни записи в таблице трансляций.

Ответ:

Как мы видим, маршрутизатор предполагаемо создал запрашиваемую трансляцию и ответил кодом Success. Параметр Seconds Since Start of Epoch означает время с момента инициализации таблицы трансляций (т.е. с момента последней перезагрузки роутера).

Маппинг TCP-портов происходит точно также и отличается только значением поля Opcode.

После того, как приложение прекратило использовать данные порты, оно может послать маршрутизатору запрос на удаление трансляции. Главное отличие запроса на удаление от запроса на создание заключается в том, что параметр Lifetime устанавливается в ноль.

Вот что произойдет, если мы закроем Vuze.

Запрос:

Ответ:

На этом рассмотрение NAT-PMP закончено, предлагаю перейти к несколько более «мудреному» UPnP IGD.

Internet Group Device Protocol
Для обмена своими сообщениями данный протокол использует SOAP.

Однако, в отличие от NAT-PMP, IGD не использует фиксированный номер порта сервера, поэтому перед тем, как обмениваться сообщениями, нужно сперва этот порт узнать. Делается это при помощи протокола SSDP (данный протокол является частью UPnP и используется для обнаружения сервисов).

Запускаем торрент-клиент. Он формирует SSDP-запрос и отсылает его на мультикастовый адрес 239.255.255.250.

Маршрутизатор формирует ответ и отправляет его уже юникастом:

Внутри ответа мы можем увидеть URL для взаимодействия с маршрутизатором по протоколу IGD.

Далее Vuze подключается к маршрутизатору по указанному URL и получает XML с информацией о данном устройстве, в том числе содержащую набор URI для управления некоторыми функциями маршрутизатора. После того, как нужный URI найден в rootDesc.xml, Vuze отправляет SOAP-запрос на содание NAT-трансляции по найденному URI.

Примечание: до того, как запросить создание трансляции, Vuze заставил маршрутизатор перечислить все имеющиеся Port Forwarding'и. Для чего это было сделано, я могу лишь догадываться.

SOAP-запрос на создание трансляции UDP-порта:

Как говорилось ранее, нужный URI (идет сразу после POST) Vuze взял из rootDesc.xml. Для добавления трансляции используется функция с названием AddPortMapping.

Также можно отметить, что, в противоположность NAT-PMP, Inside Local-адрес указывается внутри самого протокола.

Аналогично NAT-PMP, при закрытии торрент-клиента маппинги проброшенных портов удаляются. Делается это функцией DeletePortMapping:

Можно заметить, что для удаления правила достаточно указать только тип протокола (UDP) и номер внешнего порта, не указывая остальные параметры.

Заключение
В данной статье мы рассмотрели два достаточно простых способа по созданию на домашнем роутере правил Port Forwarding по команде от хоста из локальной сети. Остается лишь отметить, что если вы считаете работу данных протоколов угрозой безопасности вашей домашней сети, то их можно попытаться выключить (хотя, конечно, гораздо лучше доверить вопросы безопасности утилите, которая для этого предназначена — файрволу). В случае моего Zyxel Giga II, на котором, к слову, и проводились все тесты, это делается CLI-командой no service upnp (примечательно, что в веб-интерфейсе опция включения/отключения UPnP отсутствует).

habr.com

Закрытый НАТ - как открыть NAT в Xbox для мультиплеера и чата.

Закрытый НАТ - как открыть NAT в Xbox для мультиплеера и чата.

Для многопользовательских игр в Xbox Live очень важен открытый NAT вашей сети. Иначе может не работать голосовой чат или сетевые игры (поиск, создание, подключение).

Что такое NAT в XBOX?

NetworkAddressTranslation – это технология для экономии и преобразования IP адресов в сетях TCP-IP.

«Все настройки» – «Сеть» – «Параметры сети»

NAT имеет важное значение для совместных баталий и общения игроков A и B в Xbox-Live:

типы nat xbox

  • Открытый (open) – позволяет создавать и подключаться к сетевым играм без ограничений.
  • Умеренный, ограниченный (moderate) – работает с открытым и другим умеренным НАТ-ом. Редко позволит создать сервер.
  • Строгий, закрытый (strict) – сможет подключиться только к открытому NAT-у, и только для подключения к другим пользователям.

Тип NAT не влияет на работоспособность сетевых игр, размещающихся в облачном хранилище, например Forza Motorsport 5 и Titanfall.

Одновременное нажатие комбинации LB+LT+RB+RT, выведет расширенную статистику. Иногда, переключает НАТ в открытый тип!

Как открыть NAT на Xbox One?

  1. Перезагрузите ваш WiFi роутер, модем, шлюз и другое сетевое оборудование, а также игровую приставку. Это самое простое решение, но и помогает оно не всегда.
  2. Включите UPnP в модеме или роутере. Это специальный режим для синхронизации работы различных маршрутизаторов. Не используйте совместно с включенной функцией DMZ.
  3. Подключите X-ONE к роутеру через кабель Ethernet. Иногда помогает побороть умеренный/строгий тип, особенно если до этого он был открытым. Кроме того, для сетевых шутеров рекомендуется использовать Ethernet подключение или WiFi на 5ГГц, так как пинги через WiFi на 2.4ГГц (большинство дешевых модемов) всегда высокие и в любой момент могут подскочить, из-за чего появятся тормоза.
  4. Пропишите статический IP для XBOX. Обычно, все настройки раздает ваш модем. Для этого используется DHCP служба, которая автоматом присваивает ip-шники всем устройствам (ноутбук, телефон, планшет, приставки, телевизор). Зайдите в настройки ИксБокса и пропишите руками: IP, маску, шлюз и DNS сервера (все параметры кроме IP будут одинаковыми на всех устройствах).
  5. Откройте или пробросьте порты в модеме. Необходимые порты для XboxLive указаны в таблице ниже. Каждый роутер имеет собственные параметры и настройки. Используйте поисковую фразу для гугла или яндекса, например: «открыть порты d-link dir 300».
  6. Включите DMZ для консоли. Данная настройка выведет приставку за пределы вашего файрвола, сразу во внешнюю сеть. На Боксе нужно использовать статические параметры IP, а в роутере для него включить DMZ. Не активируйте эту настройку совместно с пробросом портов и UPnP.
  7. Подключить внешний (статический) IP адрес. Если ваш провайдер предоставляет такую услугу, то подключение внешки поможет открыть НАТ в 99% случаев. В других случаях, проблема будет крыться в вашем провайдере, стоит долбить их службу поддержки или менять оператора. Имейте в виду, что данная услуга платная!
Номера портов Для 360 Для ONE
53 (TCP / UDP) + +
80 (TCP) + +
88 (UDP) + +
500 (UDP) +
1863 (TCP /UDP) + +
3074 (TCP/ UDP) + +
3075 (TCP/UDP) +
3544 (UDP) +
4500 (UDP) +
16000 (TCP/UDP) +

Похожие статьи по теме:

Понравилась статья? Расскажи друзьям!

Сайт использует Cookie для хранения данных! Продолжив просмотр, Вы соглашаетесь на обработку Cookie. Хорошо

myxbox.ru


Смотрите также