Nat в роутере и на сервере

Недостатки NAT

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

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

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

Плохо работают протоколы, которые не устанавливают соединения. Для которых нет возможности сохранить запись в таблице nat на всё время жизни соединения. 

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

Проблемы и ограничения

Хосты за маршрутизаторами с поддержкой NAT не имеют сквозного соединения и не могут участвовать в некоторых интернет-протоколах. Службы, требующие инициирования TCP- соединений из внешней сети или использующие протоколы без сохранения состояния, например, использующие UDP , могут быть нарушены. Если маршрутизатор NAT не приложит особых усилий для поддержки таких протоколов, входящие пакеты не смогут достичь места назначения. Некоторые протоколы могут поддерживать один экземпляр NAT между участвующими хостами ( например, FTP в «пассивном режиме» ), иногда с помощью шлюза на уровне приложения (см. Ниже), но не работают, когда обе системы отделены от Интернета с помощью NAT. Использование NAT также усложняет протоколы туннелирования, такие как IPsec, поскольку NAT изменяет значения в заголовках, которые мешают проверкам целостности, выполняемым IPsec и другими протоколами туннелирования.

Сквозная связь была основным принципом Интернета, поддерживаемым, например, Советом по архитектуре Интернета . В современных документах по архитектуре Интернета отмечается, что NAT является нарушением принципа сквозного соединения , но при тщательном проектировании NAT действительно играет важную роль. Значительно больше опасений вызывает использование IPv6 NAT, и многие архитекторы IPv6 считают, что IPv6 был предназначен для устранения необходимости в NAT.

Реализация, которая отслеживает только порты, может быть быстро исчерпана внутренними приложениями, использующими несколько одновременных подключений (например, HTTP- запрос для веб-страницы со множеством встроенных объектов). Эту проблему можно смягчить, отслеживая IP-адрес назначения в дополнение к порту (таким образом, разделяя один локальный порт со многими удаленными хостами) за счет сложности реализации и ресурсов ЦП / памяти устройства трансляции.

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

Many-to-One[править]

Следующий тип имеет несколько названий: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT.
Суть этого типа в том, что через один внешний адрес выходит наружу много приватных. Этот подход, в отличие от предыдущих, позволяет решить проблему с нехваткой внешних адресов.

Проблемы NATправить

  • Принцип сетевых адресов никак не вписывается в архитектуру IP, которая подразумевает, что каждый IP-адрес уникальным образом идентифицирует только одну машину в мире.
  • NAT нарушает «сквозной» принцип, согласно которому каждый хост должен уметь отправлять пакет любому другому хосту в любой момент времени. Поскольку отображение адресов в NAT задается исходящими пакетами, входящие пакеты не принимаются до тех пор, пока не отправлены исходящие.
  • NAT превращает Интернет из сети без установления соединения в нечто подобное сети, ориентированной на соединение. Проблема в том, что NAT-блок должен поддерживать таблицу отображения для всех соединений, проходящих через него. Запоминать состояние соединения — дело сетей, ориентированных на соединение, но никак не сетей без установления соединений.
  • При использовании NAT нарушается одно из фундаментальных правил построения многоуровневых протоколов: уровень не должен строить никаких предположений относительно того, что именно уровень поместил в поле полезной нагрузки.
  • Процессы в Интернете вовсе не обязаны использовать только TCP или UDP. Если пользователь машины решит придумать новый протокол транспортного уровня для общения с пользователем машины , то ему придется как-то бороться с тем, что NAT не сможет корректно обработать поле Порт источника TCP.

Hole punchingправить

Hole punching — метод для прямого соединения двух хостов, которые находятся за NAT-ами. Для инициации соединения требуется третья сторона – сервер, который виден обоим компьютерам. Обычно используются публичные STUN-серверы.

STUN (сокр. от англ. Session Traversal Utilities for NAT, Утилиты прохождения сессий для NAT) — это сетевой протокол, который позволяет клиенту, находящемуся за сервером трансляции адресов (или за несколькими такими серверами), определить свой внешний IP-адрес, способ трансляции адреса и порта во внешней сети, связанный с определённым внутренним номером порта. Эта информация используется для установления соединения UDP между двумя хостами в случае, если они оба находятся за маршрутизатором NAT.

Входящий пакет на сервере NAT

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

Благодаря устройству NAT клиент получает возможность передавать данные в глобальной среде Интернета, используя лишь частный, внутренний IP-адрес; ни от приложения, ни от клиента не требуется никаких дополнительных усилий. Приложению не приходится обращаться к каким-либо специальным API-интерфейсам, а клиенту не нужно выполнять дополнительную настройку. В данном случае механизм NAT оказывается прозрачным по отношению к клиенту и к серверному приложению.

Таким образом протокол NAT решает две главные задачи:

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

Хотя протокол NAT не заменяет брандмауэр, он все же является важным элементом безопасности.

В некоторых маршрутизаторах возможно отключение NAT-протокола. Однако имеются модели, где NAT-протокол активирован и отключить его невозможно. Это касается бытовых маршрутизаторов, которые еще называются Интернет-шлюзами.

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

Поэтому все маршрутизаторы имеют функции, позволяющие наложить ограничения на использование протокола NAT.

Сервер, устанавливаемый во внутренней сети и являющийся прозрачным для протокола NAT, называют виртуальным сервером (Virtual Server). Прозрачным для протокола NAT может быть не весь сервер, а лишь определенные сервисы, запускаемые на нем. Для того чтобы реализовать виртуальный сервер во внутренней сети, на маршрутизаторе используется технология перенаправления портов.

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

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

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

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

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

Доброго времени суток, дорогие читатели! Ну, что давайте про NAT

.

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

В большей степени эта проблема касается тех, кто играет в многопользовательские игры и коротко эта проблема звучит примерно так: «ПОЧЕМУ КО МНЕ НИКТО НЕ ЗАХОДИТ?». Для других эта проблема выглядит несколько иначе, а именно:

  • Почему не качает торрент?
  • Почему пользователи/друзья/знакомые/неизвестные личности не могут подключиться к FTP, WEB, VOIP
    (TS, Mamble
    , ведро) и прочим серверам, которые вы так долго пытались настроить и даже проверяли что у вас все работает?
  • Почему ваш личный домашний сервер пустует? Может это вселенский заговор?

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

Если коротко, то пользователи из интернета просто не могут к вам подключиться, потому что ваш роутер их не пускает, но он делает это не просто из прихоти, а потому, что не знает о том, что все эти люди хотят подключиться именно к вам. Вот он и думает, что они что-то хотят от него самого.

Да, только что я вам обрисовал для чего нужен NAT
. А теперь о том, что это такое.

Программная реализация NAT [ править | править код ]

При наличии уже существующего сервера под управлением серверной ОС возможно организовать трансляцию адресов без необходимости закупки дополнительных, аппаратных устройств. Как правило для программной реализации NAT требуется наличие по крайней мере двух сетевых адаптеров в сервере (возможны варианты с одним, но при наличии trunk-VLAN).

Все существующие и использующиеся серверные ОС поддерживают простейшую трансляцию адресов.

С точки зрения отказоустойчивости, гибкости и производительности, используются операционные системы семейства UNIX (большинство GNU/Linux, *BSD-системы, а также OpenSolaris и др.). Во многих из них NAT доступен «из коробки», в других возможна реализация за счёт добавления модулей в сочетании с межсетевыми экранами с функциями трансляции адресов (IPFW, IPtables и др.). Также, NAT работает «из коробки» в семействе операционных систем Windows Server.

Полезно

Узнать IP – адрес компьютера в интернете

Онлайн генератор устойчивых паролей

Онлайн калькулятор подсетей

Калькулятор инсталляции IP – АТС Asterisk

Руководство администратора FreePBX на русском языке

Руководство администратора Cisco UCM/CME на русском языке

FreePBX и Asterisk

Настройка программных телефонов

Динамический[править]

Есть пул белых адресов, например, провайдер выделил сеть 198.51.100.0/28 с 16-ю адресами. Два из них (первый и последний) — адрес сети и широковещательный, ещё два адреса назначаются на оборудование для обеспечения маршрутизации. Двенадцать оставшихся адресов можно использовать для NAT и выпускать через них своих пользователей.

Ситуация похожа на статический NAT — один приватный адрес транслируется на один внешний, — но теперь внешний не чётко зафиксирован, а будет выбираться динамически из заданного диапазона. Проблема подхода такая же, как и в случае со статическим NAT — не решается проблема ограниченности белых адресов.

Типы 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, могут вызвать

Когда в вашей сети есть двойной NAT, вы можете столкнуться с проблемами со службами, требующими поддержки UPnP (Universal Plug-and-Play) или перенаправления портов вручную. Это может включать в себя онлайн-игры на компьютерах или консолях, удаленный рабочий стол на ваших компьютерах, подключение к серверу VPN или доступ к каналам камеры безопасности. Подобные службы иногда требуют открытия определенных портов в брандмауэре маршрутизатора и направления их на конкретный компьютер или устройство в сети.

Eric Geier

На этом снимке экрана показано, как я настроил свой маршрутизатор для переадресации портов, чтобы я мог использовать удаленный SSH (Secure Shell) на сервер в моей локальной сети. Я не могу этого сделать, если мой шлюз также выполняет NAT (преобразование сетевых адресов).

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

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

Эрик Гейер

На этом снимке экрана показаны элементы управления QoS (качество обслуживания) моего маршрутизатора, которые я настроил для назначения высшего приоритета VoIP (передача голоса по Интернет-протоколу).

Функционирование [ править | править код ]

Преобразование адреса методом NAT может производиться почти любым маршрутизирующим устройством — маршрутизатором , сервером доступа, межсетевым экраном. Наиболее популярным является SNAT, суть механизма которого состоит в замене адреса источника (англ. source ) при прохождении пакета в одну сторону и обратной замене адреса назначения (англ. destination ) в ответном пакете. Наряду с адресами источник/назначение могут также заменяться номера портов источника и назначения.

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

Помимо source NAT (предоставления пользователям локальной сети с внутренними адресами доступа к сети Интернет) часто применяется также destination NAT, когда обращения извне транслируются межсетевым экраном на компьютер пользователя в локальной сети, имеющий внутренний адрес и потому недоступный извне сети непосредственно (без NAT).

Существует 3 базовых концепции трансляции адресов: статическая (Static Network Address Translation), динамическая (Dynamic Address Translation), маскарадная (NAPT, NAT Overload, PAT).

Статический NAT — отображение незарегистрированного IP-адреса на зарегистрированный IP-адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети.

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

Перегруженный NAT (NAPT, NAT Overload, PAT, маскарадинг) — форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP-адрес, используя различные порты. Известен также как PAT (Port Address Translation). При перегрузке каждый компьютер в частной сети транслируется в тот же самый адрес, но с различным номером порта.

Механизм NAT определён в RFC 1631, RFC 3022.

Типы NAT

Классификация NAT, часто встречающаяся в связи с VoIP. Термин «соединение» использован в значении «последовательный обмен пакетами UDP».

Симметричный NAT (Symmetric NAT) — трансляция, при которой каждое соединение, инициируемое парой «внутренний адрес: внутренний порт» преобразуется в свободную уникальную случайно выбранную пару «публичный адрес: публичный порт». При этом инициация соединения из публичной сети невозможна. [ источник не указан 1246 дней ]

Cone NAT, Full Cone NAT — однозначная (взаимная) трансляция между парами «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт». Любой внешний хост может инициировать соединение с внутренним хостом (если это разрешено в правилах межсетевого экрана).

Address-Restricted cone NAT, Restricted cone NAT — постоянная трансляция между парой «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт». Любое соединение, инициированное с внутреннего адреса, позволяет в дальнейшем получать ему пакеты с любого порта того публичного хоста, к которому он отправлял пакет(ы) ранее.

Port-Restricted cone NAT — трансляция между парой «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт», при которой входящие пакеты проходят на внутренний хост только с одного порта публичного хоста — того, на который внутренний хост уже посылал пакет.

Source NAT

Основное назначение Source NAT MikroTik – изменение IP-адреса и/или порта источника и выполнение обратной функции для ответа.

Самое распространенное применение – это выход множества ПК в интернет через один белый IP-адрес.

Стандартные действия для цепочки src-nat:

  • src-nat – преобразование адреса и/или порта отправителя;
  • masquerad – преобразование адреса отправителя на адрес исходящего интерфейса и порта на случайный порт.

Настройка MikroTik NAT для доступа в интернет

Настройка NAT для статического WAN

Если мы получаем статический IP от провайдера, то рекомендуем для настройки NAT на MikroTik использовать правило src-nat. Это позволит устройствам из LAN выходить в глобальную сеть интернет. Откроем:

IP=>Firewall=>NAT=> “+”.

  • Chain: srcnat – указываем цепочку;
  • Out. Interface – задаем исходящий WAN-интерфейс.

Откроем вкладку “Action”:

  • Action: src-nat;
  • To Addresses – Внешний IP WAN интерфейса.

Настройка NAT для динамического WAN

Если мы получаем динамический IP от провайдера, то необходимо использовать правило Masquerade.

Masquerade – это частный случай src-nat для ситуаций, когда внешний IP-адрес может динамически изменяться.

Тогда настройка NAT на MikroTik будет выглядеть следующим образом:

Использование masquerade вместо src-nat может вызвать проблемы:

  • С телефонией;
  • Большая нагрузка ЦП, если создано много PPPoE соединений.
  • Проблемы с установкой соединения при 2 и более WAN-каналов.

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

Где Src. Address – локальная подсеть.

NAT loopback (Hairpin NAT)

Настройка Hairpin NAT MikroTik предназначена, чтобы организовать доступ из LAN к ресурсу в LAN по внешнему IP-адресу WAN. Чтобы подробно описать данную настройку и разобраться в проблеме, рассмотрим пример:

Если хост локальной сети (Ws01) обращается к серверу, находящемуся в этой же сети по внешнему IP, то сервер, получив запрос, зная, что данное устройство находится в одной LAN с IP 192.168.12.10 отвечает ему напрямую. Хост не принимает данный ответ, так как не обращался к серверу по айпи 192.168.12.100.

Правило Hairpin NAT MikroTik для статического WAN

Чтобы избежать проблему, описанную выше, выполним настройку hairpin NAT на MikroTik. При получение статического айпи от поставщика интернет-услуг, советуем использовать правило Src-nat:

Для значений Src. Address и Dst. Address указываем локальную подсеть.

Далее открыв вкладку “Action”:

  • Действие: src-nat;
  • To Addresses – указываем свой WAN-IP

NAT Loopback при динамическом WAN

При получении динамического IP-адреса от провайдера, для правила NAT loopback нужно использовать masquerade:

  • Выбираем цепочку srcnat;
  • Для значений Src. Address и Dst. Address указываем локальную подсеть;
  • Out. Interface – назначаем bridge;

Затем откроем пункт меню “Action”:

Назначим действие(Action) – маскарад.

Поставим созданное правило вторым:

Покажем пример такого правила:

На этом настройка Hairpin NAT на MikroTik выполнена. Теперь мы сможем обращаться к внутренним ресурсам сети по внешнему IP.

Несколько приложений, использующих одну систему NATMultiple Applications using the same NAT

В некоторых сценариях требуется, чтобы несколько приложений или служб использовали одну систему NAT.Some scenarios require multiple applications or services to use the same NAT. В этом случае необходимо придерживаться описанной ниже процедуры, чтобы несколько приложений или служб могли использовать больший внутренний префикс подсети NAT.In this case, the following workflow must be followed so that multiple applications / services can use a larger NAT internal subnet prefix

В качестве примера мы рассмотрим сосуществование Docker 4 Windows — Docker Beta — Linux VM и компонента контейнеров Windows на одном узле. Эта процедура может быть изменена.We will detail the Docker 4 Windows — Docker Beta — Linux VM co-existing with the Windows Container feature on the same host as an example. This workflow is subject to change

  1. C:> net stop dockerC:> net stop docker

  2. Stop Docker4Windows MobyLinux VMStop Docker4Windows MobyLinux VM

  3. PS C:> Get-ContainerNetwork | Remove-ContainerNetwork -force.PS C:> Get-ContainerNetwork | Remove-ContainerNetwork -force

  4. PS C:> Get-NetNat | Remove-NetNat.PS C:> Get-NetNat | Remove-NetNatПозволяет удалить все ранее существовавшие сети контейнера (т. е. удаляется vSwitch, NetNat и выполняется очистка).Removes any previously existing container networks (i.e. deletes vSwitch, deletes NetNat, cleans up)

  5. New-ContainerNetwork -Name nat -Mode NAT –subnetprefix 10.0.76.0/24 (эта подсеть используется для компонента контейнеров Windows) Создает внутренний vSwitch с именем nat.New-ContainerNetwork -Name nat -Mode NAT –subnetprefix 10.0.76.0/24 (this subnet will be used for Windows containers feature) Creates internal vSwitch named natПозволяет создать сеть NAT с именем «nat» и префиксом IP-адреса 10.0.76.0/24.Creates NAT network named “nat” with IP prefix 10.0.76.0/24

  6. Remove-NetNATRemove-NetNATПозволяет удалить сети NAT с именами nat и DockerNAT (сохраняя внутренние коммутаторы Vswitch).Removes both DockerNAT and nat NAT networks (keeps internal vSwitches)

  7. New-NetNat -Name DockerNAT -InternalIPInterfaceAddressPrefix 10.0.0.0/17 (создает более крупную сеть NAT для совместного использования D4W и контейнерами)New-NetNat -Name DockerNAT -InternalIPInterfaceAddressPrefix 10.0.0.0/17 (this will create a larger NAT network for both D4W and containers to share)Позволяет создать сеть NAT с именем DockerNAT и увеличенным префиксом 10.0.0.0/17.Creates NAT network named DockerNAT with larger prefix 10.0.0.0/17

  8. Run Docker4Windows (MobyLinux.ps1)Run Docker4Windows (MobyLinux.ps1)Позволяет создать внутренний vSwitch DockerNAT.Creates internal vSwitch DockerNATПозволяет создать сеть NAT с именем DockerNAT и префиксом 10.0.75.0/24.Creates NAT network named “DockerNAT” with IP prefix 10.0.75.0/24

  9. Net start dockerNet start dockerDocker использует пользовательскую сеть NAT по умолчанию для подключения к контейнерам Windows.Docker will use the user-defined NAT network as the default to connect Windows containers

В конце вы должны получить два внутренних коммутатора vSwitch — один с именем DockerNAT, другой с именем nat.In the end, you should have two internal vSwitches – one named DockerNAT and the other named nat. При выполнении Get-NetNat выводится только одна подтвержденная сеть NAT (10.0.0.0/17).You will only have one NAT network (10.0.0.0/17) confirmed by running Get-NetNat. IP-адреса для контейнеров Windows назначаются сетевой службой узлов Windows (HNS) (HNS) из подсети 10.0.76.0/24.IP addresses for Windows containers will be assigned by the Windows Host Network Service (HNS) from the 10.0.76.0/24 subnet. В соответствии с имеющимся сценарием MobyLinux.ps1 IP-адреса для Docker 4 Windows назначаются из подсети 10.0.75.0/24.Based on the existing MobyLinux.ps1 script, IP addresses for Docker 4 Windows will be assigned from the 10.0.75.0/24 subnet.

Резервирование интернет-канала от двух провайдеров при помощи 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 генерируется событие.. Надо уточнить.

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

Step1:

Запросить пакет UDP:

B отправляет пакеты UDP на IPC1 и PORT1 C (40000):

192.168.0.20:1234 ——> 187.34.1.55:40000

Если устройство NAT A существует, адрес запроса источника и порт, полученные C, будут адресом и портом, отображаемыми A:

202.187.45.3:62000 (Предполагается, что порт сопоставлен с 62000)

То есть запрос, фактически полученный C:

202.187.45.3:62000——> 187.34.1.55:40000

Ответный пакет UDP:

C записывает отображаемый адрес и порт, помещает их в пакет UDP и отвечает B через IPC1 (187.34.1.55) и PORT1 (40000). означает:

187.34.1.55:40000 ——> 202.187.45.3:60000 и поместите (202.187.45.3:60000) в сегмент данных ответного пакета UDP.

B либо получает ответный UDP-пакет, либо не может получить ответный UDP-пакет:

Если его невозможно получить, возможно, устройство UAT не существует и истекло время перегрузки сети.

Если его невозможно получить, устройство UAT снова существует: либо таймаут перегрузки сети, либо согласованный запрос PORT1 записан неправильно, либо устройство NAT сломано.

В случае получения B извлечет IP-адрес (и номер порта) из сегмента данных UDP и сравнит его со своим собственным IP-адресом (и номером порта) в интрасети:

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

Примечание: Объяснение симметричного межсетевого экрана UDP:

Firewall that allows UDP out, and responses have to come back to the source of the request (like a symmetric NAT, but no translation. We call this a symmetric UDP Firewall)

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

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

Настройка

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

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

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

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Распродажа для Вас
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: