Как проверить nat соединение. Исправление неполадок GTA Online при использовании «строгого» типа NAT

Вопрос: у меня выводится сообщение об ошибке, в котором сказано, что мой тип NAT - «строгий». Что это означает и как изменить тип NAT?

Ошибка: Тип NAT “Строгий”

Ответ: NAT расшифровывается как Network Address Translation, то есть «преобразование сетевых адресов». Это механизм, с помощью которого ваш маршрутизатор или интернет-шлюз преобразует частный IP-адрес и порт вашего компьютера в публичный IP-адрес и порт. Тип NAT говорит о том, какой метод ваше устройство использует для проведения этого преобразования и как оно фильтрует входящие пакеты.

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

Существует три типа NAT

  • ОТКРЫТЫЙ : вы можете подключаться к устройствам с любым типом NAT.
  • УМЕРЕННЫЙ : вы можете подключаться к устройствам с «открытым» и «умеренным» типом NAT.
  • СТРОГИЙ : вы можете подключаться только к устройствам с «открытым» типом NAT.

Если ваш тип NAT - «строгий», вы не сможете подключаться напрямую к подавляющему числу игроков. Из-за этого будут возникать проблемы: высокая задержка сигнала («лаг»), меньшие по размеру игровые сессии, большее время ожидания, более частые разъединения. При возникновении конфликтов с соединением из игры может выкинуть игрока с самым «строгим» типом NAT.

Как изменить тип NAT?

В некоторых маршрутизаторах есть специальный «игровой режим». Как правило, если включить этот режим, устанавливается более мягкий тип NAT. Чтобы узнать, поддерживает ли ваш маршрутизатор такую функцию, прочитайте руководство пользователя или поищите сведения об этом в Интернете.

Если ваш тип NAT - «строгий», он может блокировать порты, используемые игрой, или же преобразовывать частный порт в недетерминированный публичный порт при рассылке пакетов другим игрокам в сессии. Другие игроки не смогут определить, к какому порту подключаться. Чтобы устранить эту проблему, воспользуйтесь uPnP или настройте переадресацию портов на своем маршрутизаторе. Большинство маршрутизаторов в той или иной мере поддерживают переадресацию портов. Если выставить корректные настройки, маршрутизатор будет перенаправлять входящие пакеты от определенных портов на указанное устройство внутри вашей сети. Для пользования этой функцией также может понадобиться статический IP-адрес (имеется в виду не статический адрес, назначаемый интернет-провайдером, а просто частный статический адрес компьютера в вашей внутренней сети). Инструкции по переадресации портов в вашей модели маршрутизатора можно поискать на сайте http://portforward.com . А на странице http://portforward.com/networking/staticip.htm рассказывается, как присвоить компьютеру статический IP-адрес. Для обмена пакетами данных GTA Online использует UDP-порт 6672. После того как вашему компьютеру будет присвоен статический IP-адрес, настройте переадресацию UDP-порта 6672 на этот адрес.

Изменение тип NAT на примере роутера “ZTE”

Дополнительные порты для переадресации в GTA Online:

  • TCP -порты: 80, 443
  • UDP -порты: 6672, 61455, 61456, 61457 и 61458

Что еще можно сделать для улучшения качества соединения?

  1. Убедитесь, что на вашем маршрутизаторе установлена новейшая версия программного обеспечения (это очень важно).
  2. Отключите маршрутизатор на 10 минут, затем снова включите. Некоторые старые модели маршрутизаторов со временем начинают работать хуже, и, как и в случае с компьютерами, для восстановления функциональности требуется перезагрузка.
  3. Отключите брандмауэр и другие приложения, фильтрующие сетевой трафик, либо откройте указанные выше порты.
  4. Включите либо выключите uPnP в маршрутизаторе.
  5. Подключите компьютер напрямую к модему, используя Ethernet-кабель (то есть не по Wi-Fi).
  6. Если маршрутизатор подключен к сетевому шлюзу (это устройство, совмещающее в себе модем и маршрутизатор), NAT могут использовать оба устройства. Для устранения этой проблемы переведите шлюз в «режим моста» - в таком случае NAT будет использовать только маршрутизатор. Чтобы узнать, как перевести шлюз в «режим моста» (или получить данные PPPoE, если вы пользуетесь ADSL-модемом), прочитайте руководство пользователя или обратитесь в службу техподдержки своего провайдера. Подробнее о двойном использовании NAT можно почитать здесь: http://portforward.com/help/doublerouterportforwarding.htm .
  7. Если вы пользуетесь ADSL-модемом, проверьте, улучшается ли тип NAT при установке PPPoE-соединения через компьютер. Соответствующие инструкции должны быть изложены в руководстве пользователя (либо вы можете обратиться в службу техподдержки своего провайдера).

NAT (Network address translation) – технология трансляции сетевых адресов. Технология NAT позволила решить наибольшую проблему протокола IPv4: к середине 1990-х годов пространство IPv4-адресов могло быть полностью исчерпано. Если бы технологию NAT не изобрели то, рост Интернета значительно замедлился бы. Конечно, на сегодня создана новая версия протокола IP – IPv6. Данная версия поддерживает огромное количество IP-адресов, что существование NAT – бессмысленно. Однако, до сих пор довольно много организаций используют в своей работе протокол IPv4 и полный переход на IPv6 состоится не скоро. Поэтому есть смысл изучить технологию NAT.

Трансляция сетевых адресов NAT позволяет хосту, не имеющего “белого IP”, осуществлять связь с другими хостами через Интернет. Белый IP-адрес представляет из себя зарегистрированный, уникальный, глобальный IP-адрес в сети Интернет. Есть также “серые IP-адреса”, которые используются в частной сети и не маршрутизируются в сети Интернет. Поэтому необходима технология NAT, которая будет подменять серый IP-адрес на белый. Диапазон “серых IP-адресов” представлен в таблице.

Трансляция NAT заменяет частные IP-адреса открытыми зарегистрированными IP-адресами в каждом пакете протокола IP.

Осуществляя трансляцию NAT, маршрутизатор изменяет IP-адрес отправителя в тот момент, когда пакет покидает частную сеть. Маршрутизатор также изменяет адрес получателя каждого пакета, который возвращается в частную сеть. Программное обеспечение Cisco IOS поддерживает несколько разновидностей трансляции NAT:

  1. Статическая трансляция NAT – каждому частному IP-адресу соответствует один публичный IP. При использовании статической трансляции маршрутизатор NAT просто устанавливает взаимно однозначное соответствие между частным и зарегистрированным IP-адресом, от имени которого он выступает.
  2. Динамическая трансляция NAT – преобразование внутренних Ip-адресов во внешние происходит динамически. Создается пул возможных публичных IP-адресов и из этого пула динамически выбираются Ip-адреса для преобразования.
  3. Трансляция адресов портов PAT – позволяет выполнить масштабирование для поддержки многих клиентов с использованием всего лишь нескольких открытых IP-адресов. PAT транслирует сетевой адрес в зависимости от TCP/UDP-порта получателя.

Рассмотрим более подробно каждый из видов трансляции.

Статическая трансляция NAT делает точное соответствие между частным и публичным Ip-адресом. Рассмотрим на примере.

Провайдер ISP компании назначает ей зарегистрированный номер сети 200.1.1.0. Соответственно маршрутизатор NAT должен сделать так, чтобы этот частный адрес выглядел таким образом, как если бы находился в сети 200.1.1.0. Для этого маршрутизатор изменяет IP-адрес отправителя в пакетах, которые как на рисунке пересылаются слева направо. В данном примере маршрутизатор изменяет частный Ip-адрес 10.1.1.1 на открытый 200.1.1.1. Другому частному адресу 10.1.1.2 соответствует публичный 200.1.1.2. Далее рассмотрим настройку статического NAT в Cisco.

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

На схеме видно, что пользователь получил от провайдера адрес 100.0.0.0 сети класса C. Вся эта сеть с маской 255.255.255.0 настроена на последовательном канале между пользователем и Интернетом. Поскольку это двухточечный канал, в данной сети используется только 2 из 254 действительных (возможных) IP-адресов.

Конфигурация для роутера NAT_GW:

NAT_GW>enable NAT_GW#configure terminal - описание интерфейса - задаем шлюз по-умолчанию - описание интерфейса - задаем Ip и маску NAT_GW(config-if)#no shutdown - включаем интерфейс физически NAT_GW(config-if)#exit NAT_GW(config)#ip nat inside source static 192.168.1.2 100.0.0.1 NAT_GW(config)#ip nat inside source static 192.168.1.3 100.0.0.2 - статическое сопоставление адресов NAT_GW(config)#ip nat inside source static 192.168.1.4 100.0.0.3 - статическое сопоставление адресов

Статические соответствия создаются с помощью команды ip nat inside source static . Ключевое слово inside означает, что NAT транслирует адреса для хостов, находящихся во внутренней части сети. Ключевое слово source означает, что NAT транслирует IP-адреса в пакетах, поступающих на ее внутренние интерфейсы. Ключевое слово static означает, что эти параметры определяют статическую запись, которая никогда не удалится из таблицы NAT в связи с истечением периода времени. При создании записей статической трансляции NAT маршрутизатору необходимо знать, какие интерфейсы являются внутренними (inside), а какие внешними (outside). Подкоманды интерфейса ip nat inside и ip nat outside соответствующим образом идентифицируют каждый интерфейс.

Для просмотра важной информации о NAT существует две команды show ip nat translations, show ip nat statistics.

Первая команда выводит три записи статической трансляции NAT, созданной в конфигурации. Вторая команда выводит статистическую информацию, такую, как количество активных в данный момент записей в таблице трансляции. Эта статистика также включает в себя количество повторных попаданий (hit), которое увеличивается на единицу с каждым пакетом, для которого NAT должна транслировать адреса.

Перейдем далее к динамической трансляции сетевых адресов NAT. Динамическая трансляция создает пул возможных глобальных внутренних адресов и определяет критерий соответствия для определения того, какие внутренние глобальные IP-адреса должны транслироваться с помощью NAT. Например, в схеме ниже был установлен пул из пяти глобальных IP-адресов в диапазоне 200.1.1.1 – 200.1.1.5. Трансляция NAT также настроена для преобразования всех внутренних локальных адресов, которые начинаются с октетов 10.1.1

При настройке динамической трансляции NAT на оборудовании Cisco по-прежнему требуется идентификация каждого интерфейса как внутреннего, так и внешнего, но уже не нужно задавать статическое соответствие. Для указания частных IP-адресов, подлежащих трансляции, динамическая трансляция NAT использует списки управления доступом (про них я писал ранее), а также определяет пул зарегистрированных открытых IP-адресов, которые будут выделяться из этого. Итак, алгоритм настройки динамической трансляции:

  1. Настроить интерфейсы, которые будут находится во внутренней подсети, с помощью команды ip nat inside.
  2. Настроить интерфейсы, которые будут находится во внешней подсети, с помощью команды ip nat outside.
  3. Настроить список ACL, соответствующий пакетам, поступающим на внутренние интерфейсы, для которых должна быть применена трансляция NAT
  4. Настроить пул открытых зарегистрированных IP-адресов с помощью команды режима глобального конфигурирования ip nat pool имя первый-адрес последний-адрес netmask маска-подсети.
  5. Включить динамическую трансляцию NAT, указав в команде глобального конфигурирования ip nat inside source list номер-acl pool имя-пула

Схема будет использоваться такая же как и в прошлый раз. Новая конфигурация для роутера NAT_GW:

NAT_GW>enable - переходим в расширенный режим NAT_GW#configure terminal - переходим в режим конфигурации NAT_GW(config)#interface fa0/0 - настройка интерфейса в сторону частной сети NAT_GW(config-if)#description LAN - описание интерфейса NAT_GW(config-if)#ip address 192.168.1.1 255.255.255.0 - задаем шлюз по-умолчанию NAT_GW(config-if)#no shutdown - включаем интерфейс физически NAT_GW(config-if)#ip nat inside - настраиваем интерфейс как внутренний NAT_GW(config-if)#exit NAT_GW(config)#interface fa0/1 - настройки интерфейса в сторону провайдера NAT_GW(config-if)#description ISP - описание интерфейса NAT_GW(config-if)#ip address 100.0.0.253 255.255.255.0 - задаем Ip и маску NAT_GW(config-if)#no shutdown - включаем интерфейс физически NAT_GW(config-if)#ip nat outside - настраиваем интерфейс как внешний NAT_GW(config-if)#exit NAT_GW(config)#ip nat pool testPool 100.0.0.1 100.0.0.252 netmask 255.255.255.0- создаем динамический пул NAT_GW(config)#access-list 1 permit 192.168.1.1 0.0.0.255 - создаем список доступа 1, в котором разрешаем транслировать Ip-адреса из подсети 192.168.1.1/24 NAT_GW(config)#ip nat inside source list 1 pool testPool - включаем динамическую трансляцию NAT_GW(config)#ip route 0.0.0.0 0.0.0.0 100.0.0.254 - статический маршрут в сторону провайдера

Следующий вид трансляции – трансляция адресов портов PAT (Port Address Translation). Про этот вид NAT я расскажу в следующей статье, когда мы будем подключать локальную подсеть к Интернету. Тема довольно большая и важная. PAT является наиболее популярным видом NAT’a.

Поддержите проект

Друзья, сайт Netcloud каждый день развивается благодаря вашей поддержке. Мы планируем запустить новые рубрики статей, а также некоторые полезные сервисы.

У вас есть возможность поддержать проект и внести любую сумму, которую посчитаете нужной.

NAT (происходит от английского термина Network Address Translation, который переводится как «преобразование сетевых адресов») при помощи этой функции в сетях TCP/IP преобразовываются IP-адреса транзитных пакетов. Он есть у всех роутеров, имеет название port forwarding.

Преимущество данной технологии в том, что не надо изменять конфигурацию маршрутизаторов и окончательных узлов внутренней сети. Эти технологии не применяются там, где в работе с внешними сетями задействовано много внутренних узлов.

Типы NAT

Static NAT

Как правило, не используется физическими лицами для их потребностей, а применяется компаниями, в которых есть много IP адресов с необходимостью, чтобы они для некоторых серверов оставались постоянными и были доступны из вне. Чтобы открыть какой-нибудь сервис (почта, сайт и т.д.) необходимо знать 2 параметра: IP адрес (DNS имя) и порт. При этом порт обычно не вводится (если он не был изменен), поскольку программы вводят его автоматически и, следовательно, пользователь даже не задумывается о его наличии. Для того чтобы другие пользователи глобальной паутины могли работать с определённым компьютером, им необходимы знать его IP (DNS имя) и порт сервиса.

Если у человека статический Network Address Translation и один компьютер в сети, то знать порт не обязательно, достаточно будет знания IP. Чтобы ограничить доступ , нужна установка межсетевого экрана.

Чтобы было понятнее, можно провести такую аналогию: IP адрес — это чей-то дом, а порт – его квартира. Чтобы человека нашли, нужно знать и то и другое.

Как это работает. Допустим, провайдер выдал 4 IP для 3-х серверов. Роутеру назначается первый, а остальные достаются серверам. Чтобы на них смогли попасть достаточно указать внешние IP, например, второй, а роутер всё равно перенаправит на первый сервер . Человек попадает на сервер, работает на нём, но не знает, что его адрес иной. Запись будет храниться об этом в таблице NAT.

Есть положительные моменты: адреса пользователя не видны , но он сам виден из интернета. Минусы: любому другому пользователю будет просто совершить попытку взлома его компьютера.

Dynamic NAT

В отличие от статического имеет одно исключение: из глобальной паутины нет возможности увидеть сервера, с которыми производится работа. Клиент получает несколько IP, но здесь их распределяет роутер . Когда клиент находится в интерне, роутер сам выбирает среди полученных один адрес, выдаёт его и заносит в таблицу Network Address Translation. Но сама запись долго не хранится, когда пользователь вышел из интернета она вытирается из таблицы.

Большим недостатком является то, что необходимое число входов в глобальную паутину не может быть больше количества IP адресов, которые выдал провайдер. Пока не найдутся свободные, новые пользователи не смогут подключиться к компьютеру. Но по сравнению с первым типом есть большое превосходство, другие пользователи не смогут свободно зайти на жёсткий диск компьютера, так как адреса постоянно меняются. Также самим клиентам не надо распределять IP адреса, их распределит роутер.

Port Address Translation (PAT), NAT Overload и Masquerading

Данный тип актуальнее физическому лицу, поскольку выдается единственный внешний адрес, а пользователь только назначает порт любому серверу. Скажем, кому-то необходимо, чтобы к нему могли зайти в торрент, для этого понадобятся не только внутренние, но и внешние порты. Программой используется внутренний порт только на компьютере, на котором она установлена. С других же машин будут подключаться к внешнему порту , находящемуся на роутере. Очень часто, но не всегда они совпадают.

У данного метода есть преимущество: доступ открыт для определённой программы, все остальное закрыто. А недостаток в том, что очень часто порты нужно настраивать вручную .

Как изменить тип NAT

Нужно . Для этого, в браузере набираем 192.168.1.1 или 192.168.0.1 (или другую комбинацию в зависимости от маршрутизатора). Вводим логин и пароль. Там смотрим свой IP и настройки сети.

Затем необходимо обратиться к провайдеру интернет-подключения, сообщить данные, которые смотрели в роутере и он всё перенастроит.

Терминология NAT

Для NAT важно различать внутреннюю и внешнюю сеть. К внутренней относятся все сети, которые необходимы в преобразовании, к внешней – все остальные сети.

Система имеет 4 разновидности адресов:


В задачи внутреннего входит преобразование механизмов NAT, внешний служит адресом устройства, куда необходимо войти. Под локальным понимают тот, который бывает во внутренних, а глобальным – во внешних сетях.

Как проверить находится ли компьютер за NAT

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

  • 10.0. 0. 0 — 10. 255.255.255;
  • 172.Х. 0. 0 — 172. Х.255.255 (Х принимает значение от 16 до 31);
  • 192.168. Х. 0 — 192.168.Х.255 (Х чаще всего 0 или 1, принимает значения от 0 до 255).

Это значит, что данный компьютер находится в локальной сети и пользователь в NAT.

Настройки NAT, как сделать его открытым

Чтобы настроить NAT в роутере, нужно зайти в браузер, набрать 192.168.1.1 или 192.168.0.1 (адрес роутера) после чего потребуется ввести логин с паролем (обычно Admin/Admin). Затем находится поле Configuration (настройки), потом Network (сеть) и Routing (маршруты или маршрутизация). В новом окне выбирают Policy Routing (новое правило). Здесь задаются условия маршрутизации. Выбрать можно по различным свойствам, таким, как: пользователи, интерфейсы, IP-адрес источников или получателей, порт назначения.

Задаем условия трафика, там есть несколько назначений: Auto перенаправит трафик в глобальный интерфейс, который указан по умолчанию, Gateway на адрес, имеющийся в настройках, Trunk — на несколько интерфейсов, Interface – на тот интерфейс, который указан.

На сервере настраивается следующим образом: в начале находится Диспетчер сервера , на который щёлкают мышкой, потом в новом окошке на добавить роли и компоненты , затем далее, устанавливают удалённый доступ, потом добавить компоненты и продолжить. Затем выбирают службы ролей и отмечают маршрутизация, нажимают на далее. В самом конце на закрыть.

После подключения компьютера к серверу необходимо его настроить в NAT. В меню пуск находится окно администрирование — маршрутизация и удалённый доступ. Для активации нужно нажать на «включить маршрутизацию и удалённый доступ». Затем на «далее» и выбрать преобразование сетевых адресов NAT . Потом нажимаем на интернет и включаем базовые службы назначения. Продолжаем несколько раз нажимать на «далее» и последний раз на «готово».

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

Технология NAT loopback и NAT Traversal

Суть NAT loopback в том, что если пакет попадает из внутренней сети на IP-адрес роутера, то такой пакет будет принят, как внешний и на него будут распространяться брандмауэрные правила для внешних соединений. После успешного прохождению пакета через брандмауэр вступит в работу Network Address Translation, который будет посредником для двух внутрисетевых машин. Получается следующее:

  • снаружи локальной сети можно узнать о настройках сетевой службы ;
  • зайти на сервер по имени домена, который находится в локальной сети. Без функции loopback (или hairpinning) данные действия были бы невозможными, нужно было бы для любого домена настраивать файл hosts;
  • основной минус – увеличение нагрузки на роутер с хабом.

NAT Traversal – это возможности у сетевых приложений определить то, что они располагаются за границами устройства . В этом случае Network Address Translation оказывает содействие в том, чтобы определить внешний IP-адрес данного устройства и сопоставлять порты, чтобы NAT пересылал используемые приложениями пакеты с внешнего порта на внутренний. Все эти процессы выполняются автоматически. Без них пользователю пришлось бы вручную сопоставлять настройки портов и вносить в разные параметры изменения. Но есть и минусы – нужно проявлять осторожность для таких приложений – они обладают возможностями широкого контроля над устройствами, а следовательно могут появится уязвимости.

Многие пользователи, имея роутер, думают, что он нужен только для того, чтобы подключиться к интернету смогли только они сами. На самом же деле он выполняет ещё и функцию подключения к серверу других пользователей. В этой статье мы расскажем, что такое NAT в маршрутизаторе, для чего он нужен и как его настроить.

NAT в роутере - что это?

Network Address Translation с английского переводится как «трансляция сетевых адресов» - это процесс перевода внутренних адресов во внешние адреса. Если данная функция не будет настроена, то роутер заблокирует доступ к любым портам всем входящим соединениям из глобальной сети Интернет, при настроенных же параметрах – будет разрешать.

Настройка

Чтобы самостоятельно настроить nat в роутере, необходимо выполнить следующий ряд действий:

  • Запустить любой браузер на компьютере и в поисковой строке набрать адрес данного устройства 192.168.1.1 либо 192.168.0.1.
  • Затем ввести логин и пароль Admin/ Admin. После, можно будет заменить данный логин и пароль своими.
  • В открывшемся окне выбрать Настройки - Сеть – Маршрутизация (маршруты) и нажать на Новое правило, которое позволит задать условия маршрутизации любым способом. Бывает пять способов: через DNS имя, через порт, через трансляцию по определённому пользователю, через сетевой интерфейс либо подмену адреса по адресу источника.
  • Далее необходимо задать условия трафика, одним из четырёх предложенных вариантов (Auto, Gateway, Trunk, Interface) и нажать «Далее» и «Закрыть».

После выполнения данного ряда действий, маршрутизатор готов к работе.

Бывают случаи, когда настроить nat нужно и на компьютере. Для этого через «Пуск» следует зайти в «Панель управления» и запустить «Сетевые подключения». Выбрать новое сетевое устройство и кликнуть по нему правой клавишей мышки, в «Свойствах» выбрать «Дополнительно». И установить галочки напротив «Разрешить др. пользователям сети использовать данное подключение» и нажать Ок.

Настройка обратной петли

Смысл обратной петли nat loopback состоит в том, что если пакет попадает из внутренней сети на внешний IP-адрес роутера, он считается пришедшим извне - а значит, работают правила брандмауэра, относящиеся к внешним соединениям. Если же пакет успешно проходит сквозь брандмауэр, то срабатывает nat, который становится посредником между двумя компьютерами, находящимися в внутри одной сети.

Внимание! Без функции nat loopback нельзя было бы узнать о настройках сетевой службы либо зайти на сервер. Для каждого домена необходимо было бы настраивать файл hosts вручную.

Типы nat

Существует несколько типов Network Address Translation. Рассмотрим каждый из них детально:

Важно! Зачастую порты нужно настраивать вручную.

Как изменить тип

Для того чтобы поменять тип NAT с одного на другой необходимо зайти на свой маршрутизатор, введя в поисковой строчке браузера комбинацию 192.168.1.1 либо 192.168.0.1., и ввести свой логин и пароль. Затем посмотреть свой IP адрес и настройки сети своего устройства. После чего необходимо обратиться к провайдеру интернет-подключения, для того чтобы он перенастроил ваш роутер на нужный вам тип. Для этого ему необходимо будет сообщить все данные.

Это абсолютно разные технологии. Не путайте их.

Что такое NAT

NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.

Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.

зачем нужен NAT, как его используют

Для вывода в интернет внутренней сети

  • через пул внешних адресов
  • через один внешний адрес

Для подмены внешнего ip адреса другим (перенаправление трафика)

Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.

Для объединения двух локальных сетей с пересекающейся внутренней адресацией.

как устроен NAT

s+d NAT (branch merging - evil!)

port-mapping, прокидывание портов

Преимущества и недостатки

Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.

NAT обладает свойством "экранировать" внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.

Настройка на Cisco IOS

Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco).

Для настройки NAT на маршрутизаторе требуется: o Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);

Ip access-list extended LOCAL permit ip 10.0.0.0 0.255.255.255 any

Route-map INT1 match ip address LOCAL match interface FastEthernet0/1.1

Аксесс-лист LOCAL выбирает весь трафик из 10 сети.

Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1

o Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.

Ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0

Задание пула внешних адресов с именем GLOBAL. В пуле всего один адрес.

o Включить NAT для выбранных внутренних и внешних адресов.

Ip nat inside source route-map INT1 pool GLOBAL overload

Включение NAT для трансляции адресов источника на внутреннем интерфейсе. Будет транслироваться только трафик попадающий под условия роут-мапа INT1. Внешний адрес будет браться из пула GLOBAL.

Ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend

Статическое «прокидывание порта» или «публикация сервиса». В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23.

o Назначить внутренние и внешние интерфейсы.

Interface FastEthernet0/0 ip nat inside interface FastEthernet0/1.1 ip nat outside

Интерфейс Fa 0/0 назначен внутренним для NAT.

Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.

O Отладка и диагностика:

Sh ip nat translations - просмотр таблицы текущих трансляций; clear ip nat translations - удалить все текущие трансляции; debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).

Примеры

Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.

Простая схема вывода небольшой сети в интернет через пул внешних адресов

Простая схема вывода сети в интернет через один внешний адрес

Схема объединения сетей с пересекающейся адресацией

Порядок работы NAT

Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:

Inside-to-Outside

If IPSec then check input access list decryption - for CET (Cisco Encryption Technology) or IPSec check input access list check input rate limits input accounting redirect to web cache policy routing routing NAT inside to outside (local to global translation) crypto (check map and mark for encryption) check output access list inspect (Context-based Access Control (CBAC)) TCP intercept encryption Queueing

Outside-to-Inside

If IPSec then check input access list decryption - for CET or IPSec check input access list check input rate limits input accounting redirect to web cache NAT outside to inside (global to local translation) policy routing routing crypto (check map and mark for encryption) check output access list inspect CBAC TCP intercept encryption Queueing

Интернет-канал от одного провайдера через NAT

Простая схема реализации NAT с одним провайдером

Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla

Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150. Выход в интернет организован с этого ip адреса через NAT.

Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150. Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2. В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.

В чем сложность задачи? clear ip nat translations?

Схема

Конфиг

1 clear ip nat translations *

Найден, оттестирован такой кусок EEM. Не на всех версиях IOS генерируется событие.. Надо уточнить.

! event manager applet NAT-TRACK event syslog pattern "TRACKING-5-STATE" action 0.1 cli command "enable" action 0.2 wait 3 action 0.3 cli command "clear ip nat translation *" action 0.4 syslog msg "NAT translation cleared after track state change" !

2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго

! username ИМЯ password 0 ПАРОЛЬ enable secret 0 ПАРОЛЬКОНФИГА! ! контроль входа на маршрутизатор line vty 0 4 login local ! ! ДХЦП ip dhcp pool LAN network ВнутрСеть Маска default-router Шлюз dns-server 10.11.12.13 ! DNS - фиктивный придумали - НЕ из нашей локальной сети! ! ! Монитор пинга на адрес шлюза провайдера-1 ! Ждать ответа 100 мс! Пинговать с частотой 1 секунда ip sla monitor 1 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1 timeout 100 frequency 1 ! ! Монитор пинга на провайдера-2 ip sla monitor 2 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2 timeout 50 frequency 1 ! ! Запуск пинговалок 1 и 2, сейчас и навсегда ip sla monitor schedule 1 life forever start-time now ip sla monitor schedule 2 life forever start-time now ! ! Трэки 10 и 20 - отслеживание состояния пинговалок! Реагирует на состояние Down или Up с задержкой 1 сек. track 10 rtr 1 reachability delay down 1 up 1 ! track 20 rtr 2 reachability delay down 1 up 1 ! ! ! Маршруты на все внешние сети на обоих провайдеров! Маршруты привязаны к трэкам! и будут активироваться только если трэк в состоянии Up ! т.е. если шлюз на соответствующего провайдера доступен ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10 ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20 ! ! ! int fa 0/0 no shut ! ! Саб-интерфейсы в сторону внешних провайдеров! помечаются как outside для NAT interface FastEthernet0/0.1 description ISP1 encaps dot1q НомерВланПров1 ip address ipНаПров1 Маска ip nat outside ! interface FastEthernet0/0.2 description ISP2 encapsulation dot1Q НомерВланПров2 ip address ipНаПров2 Маска ip nat outside ! ! Интерфейс на внутр сеть! помечается как inside для NAT ! Привязывается политика маршрутизации PBR interface FastEthernet0/1 ip address ipНаВнутрСеть маска ip nat inside ip policy route-map PBR no shut ! ! Аксесс-листы из внутр сети наружу! На веб-трафик и на все остальное ip access-list extended LOCAL permit ip внутрСеть any ! ip access-list extended WEB permit tcp внутрСеть any eq www permit tcp внутрСеть any eq 443 ! ip access-list extended ALL permit ip any any ! ! ! хитрый рут-мап PBR ! Если трафик из локалки на Веб! то назначить ему шлюзом первого провайдера! Иначе, прочему трафику из локалки! назначить шлюзом второго провайдера. ! При назначении шлюза проверяются Трэки route-map PBR permit 10 match ip address WEB set ip next-hop verify-availability ШлюзПров1 1 track 10 ! route-map PBR permit 20 match ip address ALL set ip next-hop verify-availability ШлюзПров2 1 track 20 ! ! ! хитрый рут-мап ISP1 ! срабатывает если трафик из локалки! пытается выйти через интерфейс Fa0/0.1 route-map ISP1 permit 10 match ip address LOCAL match interface FastEthernet0/0.1 ! ! хитрый рут-мап ISP2 ! срабатывает если трафик из локалки! пытается выйти через интерфейс Fa0/0.2 route-map ISP2 permit 10 match ip address LOCAL match interface FastEthernet0/0.2 ! ! ! Наконец, NAT ;-) ! ! Трафик из локалки в первого провайдера Натить через первый интерфейс ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload ! ! Трафик из локалки во второго провайдера Натить через второй интерфейс ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload ! ! Трафик на фиктивный ДНС переНатить на Гугл-ДНС ip nat outside source static 8.8.8.8 10.11.12.13 no-alias ! ! проброс внутреннего порта 3389 на внешний порт 1111 ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable ! !

Разное

CGN (carrier grade nat) с особым пулом приватных адресов

NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)