Сети для самых маленьких. часть пятая. acl и nat

Несколько приложений, использующих одну систему 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.

Как открыть порты на компьютере средствами Windows

Как определять открытые порты мы уже знаем, теперь давайте посмотрим как открыть порты на Windows 7/10. Как правило, для этих целей используется штатный брандмауэр Windows. Предположим, что у нас закрыт используемый почтовыми клиентами по протоколу SMTP порт 25, и нам нужно его открыть. Запустите штатный фаервол и нажмите слева ссылку «Дополнительные параметры».

В новом окне выберите Правила для входящих подключений – Создать правило.

Тип правила необходимо выбрать «Для порта», протокол оставляем по умолчанию, то есть TCP, а в поле «Определённые локальные порты» вбиваем номер нужного нам порта.

Если нужно открыть несколько портов, добавляем их через запятую. Жмём «Далее» и указываем действие, в данном случае «Разрешить подключение».

Снова жмём «Далее». Профили «Доменный», «Частный», «Публичный» оставляем включенными.

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

NAT – это что в подключении «один-ко-многим»?

Большинство разновидностей NAT способны сопоставить несколько частных хостов к одному публично обозначенному IP-адресу. В типичной конфигурации локальная сеть использует один из назначенных «частных» IP-адресов подсети (RFC 1918). Маршрутизатор в этой сети имеет частный адрес в этом пространстве.

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

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

Сети для самых маленьких. часть пятая. acl и nat

Все дейтаграммы пакетов на IP-сетях имеют 2 IP-адреса – исходный и пункта назначения. Как правило, пакеты, проходящие из частной сети к сети общего пользования, будут иметь адрес источника пакетов, изменяющийся во время перехода от публичной сети обратно к частной. Более сложные конфигурации также возможны.

Какие проблемы может вызвать двойной NAT

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

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

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

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

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

Сети для самых маленьких. часть пятая. acl и natНа этом снимке экрана отображаются параметры QoS (Quality of Service) моего маршрутизатора, которые я настроил для назначения приоритета VoIP (Voice over Internet Protocol).

Немного деталей про порты

Суть:

  1. Для сервера Teamspeak (TS) я порт не менял, т.к. такой сервер у нас один и пользователям не придется вообще вводить его порт. Они просто вбивают у себя адрес 87.123.41.12 и попадают на наш сервер TS, удобно и практично;
  2. Для FTP сервера я порт поменял, т.к., строго говоря, FTP-сервер не должен быть доступен по стандартному порту, на него могут лазить недобросовестные люди. А так вы говорите тем, кому надо, чтобы подключались на 87.123.41.12:21000 и они попадут на ваш FTP-сервер;
  3. Для Веб-сервера я http порт не менял опять же из-за удобства, чтобы пользователям не надо было вводить адрес вместе с портом в адресной строке. Они просто вводят 87.123.41.12 и подключаются на ваш Веб-сервер. Порт HTTPS же я поменял для наглядности. Пользователям, чтобы попасть на ваш Веб-сервер по защищенному каналу, придется вводить в адресной строке адрес 87.123.41.12:444;
  4. С торрентами в общем-то все просто, какой порт настроен в самой программе, такой и настраивается на роутере;
  5. Порт игрового сервера, где в качестве примера я взял обычный стимовский игровой сервер (Dedicated Server), я также не менял, а оставил стандартный;
  6. А вот с RDP ситуация интересная. Дело в том, что на каждом компьютере служба RDP работает по порту 3389 и это никак не поменять без своего RDP сервера (такие тоже бывают). Поэтому, чтобы иметь возможность подключаться на ПК 1 и 2 я задал на роутере порты 33891 и соотв. 33892, ибо так проще помнить где какой используется. Таким образом, введя в RDP клиенте адрес 87.123.41.12:33891 мы попадем на ПК 1, а введя 87.123.41.12:33892 мы соотв. попадем на ПК 2.

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

Как получается двойной NAT

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

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

Если вы не знаете, что провайдер предоставил вам, взгляните на коробку. Если есть только один порт Ethernet, это, скорее всего, простой модем (он же широкополосный шлюз). Но если есть несколько портов Ethernet или поддерживает Wi-Fi-соединения, это, скорее всего, выполняет NAT и маршрутизацию.

Об адресации в локальной сети

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

При подключении с помощью модема, собственный внешний IP адрес получает только модем (как вариант, маршрутизатор со встроенным модемом), все прочие девайсы уже являются участниками собственной локальной сети и получают адресацию внутри нее.

Роутер берет на себя функцию распределения исходящего и входящего трафика между шлюзом и клиентами интернета. Из-за нестыковки сетевых адресов, возможны некоторые глюки:

  • Некорректно работают торрент-загрузчики и прочий софт для пилинговых сетей;
  • Не всегда удается подключиться к серверу онлайн игры, особенно если он пиратский;
  • Не проходят запросы извне к серверу внутри локальной сети.

Эти недостатки можно устранить при правильной настройке на маршрутизаторе.

Эффекты

Хотя NAT считается полезной во многих ситуациях, она все еще имеет свои ограничения и недостатки. Некоторые из следующих «за» и «против» перечислены ниже:

Профессионалы

  • Она помогает смягчить последствия истощения глобального публичного пространства IP-адресов.
  • Теперь сети могут использовать частное адресное пространство RFC 1918 изнутри, сохраняя при этом доступ к Интернету.
  • Это повышает уровень безопасности, скрывая схему адресации и топологию внутренней сети.

Против

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

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

Преимущества

NAT выполняет три важных функции.

  1. Позволяет сэкономить IP-адреса (только в случае использования NAT в режиме PAT), транслируя несколько внутренних IP-адресов в один внешний публичный IP-адрес (или в несколько, но меньшим количеством, чем внутренних). По такому принципу построено большинство сетей в мире: на небольшой район домашней сети местного провайдера или на офис выделяется 1 публичный (внешний) IP-адрес, за которым работают и получают доступ интерфейсы с приватными (внутренними) IP-адресами.
  2. Позволяет предотвратить или ограничить обращение снаружи ко внутренним хостам, оставляя возможность обращения изнутри наружу. При инициации соединения изнутри сети создаётся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих снаружи, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются.
  3. Позволяет скрыть определённые внутренние сервисы внутренних хостов/серверов. По сути, выполняется та же указанная выше трансляция на определённый порт, но возможно подменить внутренний порт официально зарегистрированной службы (например, 80-й порт TCP (HTTP-сервер) на внешний 54055-й). Тем самым, снаружи, на внешнем IP-адресе после трансляции адресов на сайт (или форум) для осведомлённых посетителей можно будет попасть по адресу http://example.org:54055, но на внутреннем сервере, находящемся за NAT, он будет работать на обычном 80-м порту. Повышение безопасности и сокрытие «непубличных» ресурсов.

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

Преимущества Недостатки
Позволяет сэкономить IP-адреса (только в случае использования NAT в режиме PAT), транслируя несколько внутренних IP-адресов в один внешний публичный IP-адрес (или в несколько, но меньшим количеством, чем внутренних). По такому принципу построено большинство сетей в мире: на небольшой район домашней сети местного провайдера или на офис выделяется 1 публичный (внешний) IP-адрес, за которым работают и получают доступ интерфейсы с приватными (внутренними) IP-адресами. Старые протоколы. Протоколы, разработанные до массового внедрения NAT, не в состоянии работать, если на пути между взаимодействующими хостами есть трансляция адресов. Некоторые межсетевые экраны, осуществляющие трансляцию IP-адресов, могут исправить этот недостаток, соответствующим образом заменяя IP-адреса не только в заголовках IP, но и на более высоких уровнях (например, в командах протокола FTP). См. Application-level gateway.
Позволяет предотвратить или ограничить обращение снаружи ко внутренним хостам, оставляя возможность обращения изнутри наружу. При инициации соединения изнутри сети создаётся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих снаружи, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются. Идентификация пользователей. Из-за трансляции адресов «много в один» появляются дополнительные сложности с идентификацией пользователей и необходимость хранить полные логи трансляций.
Иллюзия DoS-атаки. Если NAT используется для подключения многих пользователей к одному и тому же сервису, это может вызвать иллюзию DoS-атаки на сервис (множество успешных и неуспешных попыток). Например, избыточное количество пользователей ICQ за NAT приводит к проблеме с подключением к серверу некоторых пользователей из-за превышения допустимой скорости подключений. Частичным решением проблемы является использование пула адресов(группы адресов), для которых осуществляется трансляция.
Пиринговые сети. В NAT-устройствах, не поддерживающих технологию Universal Plug & Play, в некоторых случаях, необходима дополнительная настройка (см.Трансляция порт-адрес) при работе с пиринговыми сетями и некоторыми другими программами, в которых необходимо не только инициировать исходящие соединения, но также принимать входящие.

Как вы можете это исправить

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

Если вы хотите сохранить свой маршрутизатор, посмотрите, можете ли вы перевести шлюз ISP в мостовой или транзитный режим. Это отключит функции NAT, брандмауэра и DHCP шлюза и уменьшит его до простого интернет-модема. Многие шлюзы предлагают эти настройки, но не все. Войдите в веб-интерфейс GUI шлюза и проверьте настройку NAT, сквозной или мостовой режим, но имейте в виду, что иногда он скрыт. Если вы этого не видите, найдите в Интернете подробную информацию о своей конкретной модели или обратитесь в службу технической поддержки вашего провайдера.

Сети для самых маленьких. часть пятая. acl и natМой шлюз Arris от TimeWarner (Spectrum) имеет параметры NAT в настройках LAN, но другие поставщики могут иметь его в WAN или другой области.

Если ваш шлюз ISP не предлагает никаких мостовых функций, подумайте о том, чтобы разместить маршрутизатор в DMZ (демилитаризованной зоне) шлюза. Если шлюз имеет DMZ, он будет в основном предоставлять маршрутизатору прямое подключение к Интернету, минуя NAT-шлюз шлюза, межсетевой экран и DHCP, чтобы ваши сетевые устройства получали эти значения непосредственно с вашего маршрутизатора.

Чтобы использовать DMZ, вы должны войти в веб-интерфейс графического интерфейса шлюза, найти настройку DMZ и ввести частный IP-адрес, назначенный вашему маршрутизатору. Кроме того, вы также должны увидеть, можете ли вы установить резервирование IP-адреса для своего маршрутизатора, поэтому ваш шлюз всегда дает тот же частный IP-адрес вашему маршрутизатору. Если шлюз не поддерживает резервирование IP-адресов, вы должны войти в веб-интерфейс маршрутизатора и вручную назначить ему статический частный IP-адрес (тот же, который вы настраиваете как хост DMZ) самостоятельно для своей глобальной сети (WAN); т.е. интернет).

Сети для самых маленьких. часть пятая. acl и natМой шлюз имеет настройки DMZ в настройках брандмауэра, как это типично для шлюзов.

Еще один вариант устранения двойного NAT при сохранении шлюза ISP и вашего маршрутизатора — это запустить Ethernet-кабель от шлюза к одному из портов LAN вашего маршрутизатора вместо порта WAN (интернет) маршрутизатора. Это в основном превратит ваш маршрутизатор в коммутатор, и любые компьютеры, подключенные через маршрутизатор (проводные или беспроводные), получат NAT, брандмауэр и DHCP от шлюза ISP. Это хороший вариант, если вы используете дополнительный маршрутизатор для улучшения Wi-Fi или потому, что вам нужно больше портов Ethernet. Если, с другой стороны, ваше стремление к другому маршрутизатору для лучшей перенаправления портов или улучшения контроля QoS, этот подход не поможет.

Работа NAT

Как работает nat в режиме masquerading? Предположим, что первый компьютер решил зайти на сайт. Он отправляет пакет, в ip адресе указывается ip адрес компьютера из внутренней сети (192.168.1.2), в поле порт указывается динамический порт, выданный браузеру операционной системой (57160). И пакет предназначен для 80 порта адреса Веб-сайта. 

Сети для самых маленьких. часть пятая. acl и nat

Но, так как адреса из внутренней сети не могут использоваться в интернет, то устройству nat нужно заменить ip адрес из внутренней сети в заголовке пакета в адресе отправителя (192.168.1.1), на ip адрес из внешней сети (184.86.48.128). 

Как это делает устройство nat? После того, как устройство nat получило пакет, оно записывает внутренний ip адрес и внутренний порт в таблицу и генерирует пару внешний адрес и внешний порт для замены в пакете. Так как у нас всего лишь один внешний адрес, то именно он записывается в поле внешний ip. Внешний порт генерируется случайным образом. Устройство нат сгенерировало адрес пота 48202. 

Сети для самых маленьких. часть пятая. acl и nat

На следующем этапе происходит трансляция, т.е. замена ip адреса и порта. IP адрес и порт отправителя удаляются из пакета и на их место записываются новые данные из таблицы nat. Внешний ip адрес устройства nat и внешний порт, которое устройство nat сгенерировало случайным образом. 

Сети для самых маленьких. часть пятая. acl и nat

В таком виде пакет передается на веб сервер. Когда приходит ответ от веб-сервера, там в качестве получателя, указывается ip адрес устройства nat и порт на этом устройстве. 

Сети для самых маленьких. часть пятая. acl и nat

Но в реальности эти данные предназначены не для устройства nat, а для компьютера внутренней сети. Поэтому устройство нат должно понять к какому компьютеру во внутренней сети предназначены данные. Затем изменить ip адрес и порт, передать данные нужному компьютеру. Это делается, с помощью таблицы nat. 

В таблице nat ищется запись в которой внешний ip адрес и внешний порт, такие же как в поступившем пакете. Пока у нас в таблице одна запись, поэтому устройство nat берет из этой записи внутренний ip адрес интересующего нас компьютера и его порт. Устройство nat сново производит замену ip адреса и порта в пакете и в в таком виде передает пакет во внутреннюю сеть. 

Сети для самых маленьких. часть пятая. acl и nat

Что происходит если в интернет захочет зайти какой-нибудь другой компьютер, предположим, что компьютер 4 тоже хочет зайти на веб-сайт zvondozvon.ru. Устройство nat работает аналогично, извлекает ip адрес и порт, записывает их в таблицу nat. В качестве внешнего ip адреса указывается единственный внешний ip адрес устройства nat и номер внешнего порта снова генерируется случайным образом. 

Сети для самых маленьких. часть пятая. acl и nat

Адрес и порт из внутренней сети меняются на адрес и порт из внешней сети. И в таком виде пакет передается в интернет. 

Сети для самых маленьких. часть пятая. acl и nat

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

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

Функциональность

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

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

Эта система была создана для решения вопросов, возникших в связи с ростом популярности и использования Интернета. В основном, доступные IP-адреса не могли поддерживать потребность во всемирном соединении, так как все больше и больше людей стали использовать Интернет. Хотя изначально 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.

Открыть порт в брандмауэре через панель управления

1. Откройте брандмауэр: один из способов — в строке поиска или в меню «Выполнить» (выполнить вызывается клавишами Win+R) напишите firewall.cpl и нажмите клавишу Enter.

2. С левой стороны выберите «Дополнительные параметры».

3. Вы открываете порт для входящих или исходящих подключений? Исходящими называются соединения, инициируемые локальным компьютером, входящие — инициируемое удаленным компьютером. Если вам нужно открыть порт для исходящих подключений — с левой стороны выберите «Правила для исходящих подключений» и продолжайте делать написанное далее. Если вам нужно открыть порт для входящих подключений — с левой стороны выберите «Правила для входящих подключений». С правой стороны нажмите на «Создать правило».

4. Поставьте точку возле «Для порта» и нажмите «Далее».

5. Возле «Определенные локальные порты» введите порт, который вы хотите открыть и нажмите «Далее».

6. Поставьте точку возле «Разрешить подключение» и нажмите «Далее». Если вы хотите больше настроек для данного порта, выбрать кому дать доступ и т.д. — поставьте точку возле «Разрешить безопасное подключение».

7. Выберите для каких профилей сети применять правило и нажмите «Далее».

8. Придумайте и напишите имя для созданного вами правила, чтобы в будущем легче было его найти, также вы можете добавить описание, что не является обязательным. По завершению нажмите «Готово» и можете закрывать брандмауэр, правило создано и уже работает.

Типы NAT

Три основных типа правил NAT используются сегодня в зависимости от того, что необходимо выполнить;

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

Пул открытых IP-адресов назначается устройству NAT. Затем частный IP-адрес может быть статически сопоставлен любому из этих общедоступных адресов. Этот тип схемы NATTING обычно используется для серверов, требующих одного и того же IP-адреса, поэтому имя «статическое», поэтому сервер 1 всегда будет иметь тот же самый IP-адрес, назначенный ему, сервер 2 будет иметь другой публичный IP-адрес, назначенный ему и так далее.

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

Опять же, устройство NAT будет состоять из пула IP-адресов. На этот раз, хотя пул IP-адресов будет использоваться по мере необходимости, а затем возвращается в пул. Поэтому, если компьютеру A нужен публичный адрес, это займет один из пула, а затем отложите его, когда закончите. В следующий раз, когда одному и тому же компьютеру понадобится IP-адрес, ему может быть присвоен другой общий адрес из пула, потому что тот, который использовался ранее, может использоваться другим компьютером, поэтому имя «динамическое». Поэтому пользователи, которые хотят общаться в Интернете в любой момент времени, будут ограничены тем, сколько общедоступных IP-адресов доступно в пуле NAT. Компания будет покупать несколько публичных IP-адресов в зависимости от их потребностей.

Трансляция адресов портов (PAT)

В этом типе настройки компания будет иметь только один общедоступный IP-адрес, назначенный для своей сети, и поэтому каждый будет использовать этот общий публичный адрес при использовании Интернета, например, в Интернете. Да, вы можете спросить, как каждый может поделиться одним адресом, ну и ключ лежит в имени, переводе адреса порта. Когда компьютер хочет использовать Интернет, устройство NAT, используя метод PAT, будет помнить IP-адрес и исходный порт внутреннего хоста. Например, 192.168.1.10 с исходным портом 55331 хотели просмотреть Amazon.com. Устройство NAT сохранит это, и когда Amazon ответит на общедоступный адрес и номер порта 55331, устройство NAT будет использовать метод PAT и искать информацию о порте, которая отображается на внутреннем компьютере, запрашивающем его. Поэтому было бы сказано, что эта информация Amazon отправила обратно на общедоступный адрес и номер порта 55331, сопоставив с IP-адресом 192.168.1.10, который изначально запросил его, хотя информация для этого компьютера. Таким образом, соединения однозначно идентифицируются исходным портом, все используют один и тот же общедоступный IP-адрес, но с уникальными портами-источниками, чтобы определить, кто запросил какую-либо информацию.

Используя этот метод, компания будет экономить разумные деньги и IP-адреса, потому что использует только один IP-адрес. Это стало основным фактором, почему IPv6 упоминается уже несколько лет, но в большинстве стран он еще не требуется.

NAT также реализуется в домашних маршрутизаторах и аппаратных брандмауэрах, таких как Netgear и Linksys этого мира, а также высокопроизводительные аппаратные брандмауэры, такие как Cisco и Juniper.

Это оказалось ценной особенностью аппаратных брандмауэров для сохранения общедоступных IP-адресов, а также контрмеры для некоторых типов атак, таких как разведывательная атака.

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

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

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

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

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