Содержание
- 1 Что такое порты и зачем их бросать?
- 2 Проблемы NAT и возможности решения
- 3 NAT – это что такое?
- 4 Тип первый, Static NAT
- 5 2014 год
- 6 Несколько приложений, использующих одну систему NATMultiple Applications using the same NAT
- 7 Находитесь ли вы за NAT[править]
- 8 Пример: Разрешение доступа в Интернет внутренним пользователям
- 9 Краткое описание работ по конфигурации и развертыванию NAT
- 10 Как настроить маршрутизатор ASUS для Ростелеком, ТТК и Дом.ру
- 11 NAT Traversal
- 12 Создание виртуальной сети NATCreate a NAT virtual network
- 13 Пример: Использование NAT во время сетевых переходов
- 14 Программная реализация NAT
- 15 Преимущества и недостатки
- 16 Типы NAT
Что такое порты и зачем их бросать?
Порт — это пронумерованное виртуальное «устройство», предназначенное для передачи данных по сети. Каждая сетевая программа использует для установления связи отдельный порт или группу портов. К примеру, браузеры используют TCP-порт 80 для незашифрованного трафика (http) и 443 для зашифрованного (https).
Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.
Необходимость «проброса» портов обычно возникает при желании сыграть по сети в какую-нибудь игру с компьютера, подключенного к роутеру. Впрочем, это не единственная причина — «проброс» потребуется при любой необходимости получить «извне» доступ к какому-нибудь конкретному устройству в вашей локальной сети.
Разрешать к компьютеру вообще все подключения, то есть пробрасывать на него весь диапазон портов — плохая идея, это небезопасно. Поэтому роутеры просто игнорируют обращения к любым портам «извне». А «пробросы» — специальные исключения, маршруты трафика с конкретных портов на конкретные порты определенных устройств.
Проблемы NAT и возможности решения
С момента появления NAT сразу же стали проявляться проблемы. Невозможно было получить доступ по отдельному протоколу или в работе отдельных программ. Данные проблемы так и не удалось полностью устранить, получилось только найти некоторые варианты решения только с использованием трансляции адресов, но ни один вариант решения не является правильным с точки зрения спецификаций администрирования.
В качестве примера можно рассмотреть протокол передачи файлов (FTP), который был саммым распространенным к появлению NAT. Для файловых серверов (FTP) ключевым является реальный IP адрес компьютера, который посылает запрос на доступ. Здесь преобразование адресов не работает, потому что запрос на сервер отправляется с IP, невидимого из интернета. Нет возможности создать сессию клиент-сервер для загрузки файлов. Обойти проблему помогает использование FTP в пассивном режиме. В этом режиме используется другой набор команд, и работа ведется через специальный прокси-сервер, который дополнительно открывает другой порт для соединения и передает его программе клиенту. Проблемой такого решения является то, что необходимо использовать сторонние FTP клиенты.
Полностью избавиться от проблемы доступа получилось только с появлением SOCKS (Socket Secure) протокола. Этот протокол позволяет обмениваться данными через прокси-сервер в «прозрачном» режиме. То есть сервер не будет знать, что происходит подмена адресов с локальных на глобальные и наоборот. Изобретение SOCKS позволило избавиться от ряда проблем и упростить работу администрирования сети:
- создает на сервере службу, слушающую входящие запросы, что позволяет обслуживать многосвязные протоколы наподобие FTP;
- нет необходимости использовать и обслуживать службу DNS внутри локальной сети. Теперь такая задача возложена на кэширующие прокси;
- дополнительные способы авторизации позволяют с большей эффективностью проводить отслеживание и фильтрацию пакетов. Средствами NAT можно фильтровать запросы только по адресам.
Использование NAT и SOCKS не всегда оправдано с точки зрения сетевого администрирования. Иногда более целесообразным является использование специализированных прокси, которых существуете множество для любого протокола передачи данных.
NAT – это что такое?
Оригинальное использование трансляции сетевых адресов состоит в отображении каждого адреса из одного адресного пространства к соответствующему адресу в другом пространстве. Например, это необходимо, если провайдер интернет-услуг изменился, а пользователь не имеет возможности публично объявить новый маршрут к сети. В условиях обозримого глобального истощения IP-адресного пространства технология NAT все чаще используется с конца 1990-х годов в сочетании с IP-шифрованием (которое представляет собой метод перехода нескольких IP-адресов в одно пространство). Этот механизм реализован в устройстве маршрутизации, которое использует таблицы перевода с сохранением состояния для отображения «скрытых» адресов в один IP-адрес, и перенаправляет исходящие IP-пакеты на выходе. Таким образом, они отображаются выходящими из устройства маршрутизации. В обратном канале связи ответы отображаются в исходном IP-адресе с помощью правил, хранящихся в таблицах перевода. Правила таблицы перевода, в свою очередь, очищаются по истечении короткого периода, если новый трафик не обновляет свое состояние. Таков основной механизм NAT. Это что означает?
Данный метод позволяет осуществлять связь через маршрутизатор только тогда, когда соединение происходит в зашифрованной сети, так как это создает таблицы перевода. Например, веб-браузер внутри такой сети может просматривать сайт за ее пределами, но, будучи установленным вне ее, он не может открыть ресурс, размещенный в ней. Тем не менее большинство устройств NAT сегодня позволяют сетевому администратору конфигурировать записи таблицы перевода для постоянного использования. Эта функция часто упоминается как статическая NAT или перенаправление портов, и она позволяет трафику, исходящему во «внешнюю» сеть, достичь назначенных хостов в зашифрованной сети.
Из-за популярности этого метода, используемого с целью сохранения адресного пространства IPv4, термин NAT (это что такое фактически – указано выше) стал практически синонимом метода шифрования.
Поскольку трансляция сетевых адресов изменяет информацию об адресе IP-пакетов, это имеет серьезные последствия для качества подключения к интернету и требует пристального внимания к деталям его реализации.
Способы применения NAT отличаются друг от друга в их конкретном поведении в различных случаях, касающихся влияния на сетевой трафик.
Тип первый, Static NAT
Static NAT не требуется для дома, а нужен в том случае, если провайдер выделил несколько IP адресов (внешние или «белые» адреса) вашей компании, и вам нужно, чтобы некоторые серверы всегда были видны из интернета, при этом их адреса бы не менялись.
Т.е. происходит преобразование адресов 1-1 (один внешний IP назначается одному внутреннему серверу). При такой настройке ваши серверы всегда будут доступны из интернета на любом порту.
Кстати говоря о портах, попробую несколько углубиться в эту тему, но не слишком сильно. Дело в том, что любой сервис, любая программа обращается к компьютеру, серверу, роутеру или сервису (будь то почта, веб-страничка или любой другой сервис) не только по IP адресу, но и по порту. Например, чтобы вам открыть страничку google.com со своего компьютера, вам надо ввести две вещи: IP адрес (DNS имя) и.. порт.
Но постойте, возмутитесь вы, ведь никакого порта вы не вводите и все отлично открывается!
2014 год
Изменения в закон «О рекламе». Запрет на размещение рекламных материалов в т.н. «платных каналах». Борьба с предложениями, от авторства которых отказываются все, кроме депутатов Госдумы.
По инициативе вещателей Татарстана Государственный совет Республики Татарстан принимает законодательную инициативу, исключающую региональные кабельные телеканалы из перечня «каналов, доступ к которым осуществляется исключительно на платной основе и (или) с применением декодирующих технических устройств». По единодушному мнению региональных вещателей изменения закона, предлагаемые Госдумой, повлекут прекращение вещания их каналов, власти субъектов Федерации потеряют важнейший канал коммуникации с населением, а, следовательно, возможность доведения региональной социально значимой информации.
Учредительное собрание Объединения региональных телекомпаний.
Несколько приложений, использующих одну систему 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
-
C:> net stop dockerC:> net stop docker
-
Stop Docker4Windows MobyLinux VMStop Docker4Windows MobyLinux VM
-
PS C:> Get-ContainerNetwork | Remove-ContainerNetwork -force.PS C:> Get-ContainerNetwork | Remove-ContainerNetwork -force
-
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)
-
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
-
Remove-NetNATRemove-NetNATПозволяет удалить сети NAT с именами nat и DockerNAT (сохраняя внутренние коммутаторы Vswitch).Removes both DockerNAT and nat NAT networks (keeps internal vSwitches)
-
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
-
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
-
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-адрес компьютераправить
- Windows
Выберите команду главного меню Пуск > Выполнить… и наберите команду
В появившемся командном окне выполните команду
Windows IP Configuration Ethernet adapter Local Area Connection: IP . . . . . . . . . . . . : 192.168.0.73 Subnet Mask . . . . . . . . . . . : 255.255.224.0 Default Gateway . . . . . . . . . : 192.168.0.1 |
Первый из этих адресов — это IP-адрес вашего компьютера.
Default Gateway — адрес шлюза, он же маршрутизатор (роутер).
Subnet Mask определяет, какие адреса являются локальными (к ним компьютер будет обращаться напрямую), а какие нет (к ним обращение будет идти через маршрутизатор).
- Linux
Выполните в терминале команду:
ifconfig
Локальный ли?править
Три специальных диапазона IP-адресов зарезервированы для локальных сетей и в Интернете не используются:
10. 0. 0. 0 - 10.255.255.255 172. Х. 0. 0 - 172. Х.255.255 (где X - от 16 до 31) 192.168. X. 0 - 192.168. Х.255 (где X - от 0 до 255, обычно 0 или 1)
169.254. 0. 0 - 169.254.255.255
Если IP-адрес вашего компьютера находится в одном из этих диапазонов, то есть начинается с 10. или с 192.168. или с 172.nn. (где nn — от 16 до 31), то это локальный (внутренний) адрес и вы точно находитесь за NAT.
Внешний ли?править
Эти сайты покажут вам адрес, под которым вас видят другие компьютеры в Интернете. Если он совпадает с IP-адресом вашего компьютера, то вы точно подключены к Интернету напрямую (то есть не за NAT) и дальше вам читать не нужно.
Остальные вариантыправить
В остальных случаях возможны такие варианты:
- вы находитесь за NAT, но ваш сетевой администратор зачем-то выбрал нестандартные внутренние адреса для вашей локальной сети
- вы выходите в Интернет через прокси-сервер. Его надо настраивать в каждой программе, без этого выход в Интернет невозможен.
Подключение через прокси в этом руководстве пока не рассматривается.
Пример: Разрешение доступа в Интернет внутренним пользователям
Возможно, вы хотите предоставить доступ в Интернет внутренним пользователям, но у вас нет достаточного количества допустимых адресов. Если все взаимодействия с Интернет-устройствами возникают из внутренних устройств, то нужен один допустимый адрес или пул допустимых адресов.
На следующем рисунке показана схема простой сети с внутренним и внешним интерфейсами маршрутизатора:
В этом примере NAT нужен затем, чтобы разрешить определенным внутренним устройствам (первым 31 из каждой подсети) создать связь с устройствами снаружи, преобразуя их недопустимый адрес в допустимый адрес или пул адресов. Пул задан как диапазон адресов от 172.16.10.1 до 172.16.10.63.
Теперь можно приступить к настройке NAT. Для выполнение описанных выше действий используйте функцию динамического NAT. При динамической трансляции сетевых адресов таблица трансляции в маршрутизаторе исходно является пустой и начинает заполняться после того, как трафик для трансляции проходит через маршрутизатор. (В отличие от функции статического NAT, где трансляция настраивается статически и помещается в таблицу трансляции без присутствия трафика).
В этом примере можно настроить NAT для трансляции каждого внутреннего устройства на уникальный допустимый адрес или для трансляции всех внутренних устройств на один допустимый адрес. Второй метод известен как перегрузка. Пример настройки каждого метода приведен ниже.
Настройка NAT для разрешения доступа в Интернет внутренним пользователям
Маршрутизатор NAT |
---|
interface ethernet 0 ip address 10.10.10.1 255.255.255.0 ip nat inside interface ethernet 1 ip address 10.10.20.1 255.255.255.0 ip nat inside interface serial 0 ip address 172.16.10.64 255.255.255.0 ip nat outside ip nat pool no-overload 172.16.10.1 172.16.10.63 prefix 24 ! ip nat inside source list 7 pool no-overload ! ! access-list 7 permit 10.10.10.0 0.0.0.31 access-list 7 permit 10.10.20.0 0.0.0.31 |
Примечание. Cisco настоятельно рекомендует не настраивать списки доступа, упоминаемые в командах NAT, с помощью команды permit any. Использование команды permit any может привести к тому, что NAT будет потреблять слишком большое количество ресурсов маршрутизатора, что вызовет проблемы с сетью.
В приведенной выше конфигурации следует отметить, что только первые 32 адреса из подсети 10.10.10.0 и первые 32 адреса из подсети 10.10.20.0 разрешены списком доступа 7 Таким образом, выполняется преобразование только этих исходных адресов. Внутренняя сеть может содержать другие устройства с другими адресами, которые не транслируются.
Последнее, что нужно сделать — это .
Краткое описание работ по конфигурации и развертыванию NAT
При настройке NAT иногда сложно определить, с чего начать, особенно если пользователь только начал работу с NAT. Данное руководство поможет определить, чего ждать от NAT и каким образом провести его настройку.
-
-
Доступны ли пользователи на нескольких интерфейсах?
-
Имеют ли несколько интерфейсов выход в Интернет?
-
-
Определите, чего вы пытаетесь достичь с помощью NAT.
-
Вы пытаетесь ?
-
Вы пытаетесь (например почтовому серверу или веб-серверу)?
-
Вы пытаетесь ?
-
Вы используете (к примеру, после изменения IP-адреса сервера и до обновления всех клиентов необходимо, чтобы все необновленные клиенты могли получать доступ к серверу через исходный IP-адрес, а обновленные клиенты получали доступ к серверу через новый адрес)?
-
Вы используете NAT, чтобы ?
-
-
Чтобы выполнить описанные выше действия, настройте NAT. На основании изменений на этапе 2 необходимо определить, какие функции использовать из представленных далее:
-
Static NAT
-
Dynamic NAT
-
Overloading
-
Любая комбинация данных функций
-
-
Проверка работы NAT.
В каждом из следующих примеров настройки NAT выполняются этапы 1-3 данного краткого руководства. В этих примерах описаны некоторые стандартные сценарии, по которым Cisco рекомендует развертывание NAT.
Как настроить маршрутизатор ASUS для Ростелеком, ТТК и Дом.ру
Данная инструкция актуальная для роутеров ASUS RT-N10, RT-N11P, RT-N12, RT-AC51U, RT-AC52U, RT-N56U и RT-N66AU, а так же для всех иных моделей, работающих на программном обеспечении ASUSWRT (веб-интерфес в темных тонах).
Для того, чтобы настроить соединение с провайдером, переходим в раздел «Интернет», вкладка «Подключение». Выглядит она следующим образом:
В большинстве филиалов крупнейших российских провайдеров Ростелеком, ТТК и Дом.ру используется протокол PPPoE. Выбираем его в поле «Тип WAN-подключения»:
Обязательно обратите внимание, чтобы были установлены флажки «Да» для WAN,NAT и UPnP. Ниже обратите внимание чтобы были установлены флажки «Да» для пунктов «Получить IP-адрес WAN автоматически» и «Подключаться к DNS-серверу автоматически»:
Ниже обратите внимание чтобы были установлены флажки «Да» для пунктов «Получить IP-адрес WAN автоматически» и «Подключаться к DNS-серверу автоматически»:
В разделе «Настройка учётной записи» надо указать Логин и пароль на подключение роутера ASUS к Интернету, которые Вам выдали при заключении договора.
Никакие параметры более изменять не надо. Нажимаем кнопку «Применить» и проверяем доступ в Интернет.
Динамический IP (DHCP)
В некоторых филиалах провайдеров Ростелеком и ТТК используется тип подключения «Динамический IP» когда адрес роутер получает от DHCP-сервера провайдера и никаких иных соединений и протоколов использовать не надо. Для настройки надо тип WAN выбрать «Automatic IP»(Автоматический IP).
Обязательно проверьте, чтобы были отмечены все пункты, указанные на рисунке
Особенно обратите внимание на то, что адреса серверов DNS так же должны получаться устройством автоматически
Как настроить роутер ASUS для Билайн
В сети Интернет провайдер Билайн использует для подключения протокол L2TP:
Получение IP-адреса и DNS-сервера оставляем в автоматическом режиме. В настройках учетной записи вводим «Имя пользователя» (обычно это лицевой счёт) и пароль, который выдали представители оператора. Остаётся только ввести адрес VPN-сервера Билайн: tp.internet.beeline.ru Нажимаем кнопку «Применить».
NAT Traversal
NAT Traversal (прохождение или автонастройка NAT) — это набор возможностей, позволяющих сетевым приложениям определять, что они находятся за устройством, обеспечивающим NAT, узнавать внешний IP-адрес этого устройства и выполнять сопоставление портов для пересылки пакетов из внешнего порта NAT на внутренний порт, используемый приложением; все это выполняется автоматически, пользователю нет необходимости вручную настраивать сопоставления портов или вносить изменения в какие-либо другие параметры
Однако существуют меры предосторожности в доверии к таким приложениям — они получают обширный контроль над устройством, появляются потенциальные уязвимости.
Создание виртуальной сети NATCreate a NAT virtual network
Давайте рассмотрим настройку новой сети NAT.Let’s walk through setting up a new NAT network.
-
Откройте консоль PowerShell от имени администратора.Open a PowerShell console as Administrator.
-
Создайте внутренний коммутатор.Create an internal switch.
-
Найдите индекс интерфейса созданного виртуального коммутатора.Find the interface index of the virtual switch you just created.
Этот индекс интерфейса можно определить, выполнив команду You can find the interface index by running
Выходные данные должны иметь следующий вид:Your output should look something like this:
Внутренний коммутатор будет иметь такое имя, как , и описание интерфейса .The internal switch will have a name like and an Interface Description of . Запишите его для использования на следующем шаге.Take note of its to use in the next step.
-
Настройте шлюз NAT с помощью New-NetIPAddress.Configure the NAT gateway using New-NetIPAddress.
Ниже приведена общая команда:Here is the generic command:
Чтобы настроить шлюз, вам потребуется некоторая информация о сети:In order to configure the gateway, you’ll need a bit of information about your network:
-
IPAddress — «NAT Gateway IP» задает IP-адрес шлюза NAT в формате IPv4 или IPv6.IPAddress — NAT Gateway IP specifies the IPv4 or IPv6 address to use as the NAT gateway IP.Общая форма имеет вид a.b.c.1 (например, 172.16.0.1).The generic form will be a.b.c.1 (e.g. 172.16.0.1). Хотя последняя позиция необязательно должна быть равна 1, обычно используется именно это значение (в зависимости от длины префикса).While the final position doesn’t have to be .1, it usually is (based on prefix length)
Общий IP-адрес шлюза имеет значение 192.168.0.1.A common gateway IP is 192.168.0.1
-
PrefixLength — «NAT Subnet Prefix Length» определяет размер локальной подсети NAT (маску подсети).PrefixLength — NAT Subnet Prefix Length defines the NAT local subnet size (subnet mask).
Длина префикса подсети является целым числом от 0 до 32.The subnet prefix length will be an integer value between 0 and 32.Значение 0 соответствует всему Интернету, а значение 32 — всего одному IP-адресу.0 would map the entire internet, 32 would only allow one mapped IP. Обычно используются значения в диапазоне от 24 до 12 в зависимости от того, сколько IP-адресов необходимо подключить к NAT.Common values range from 24 to 12 depending on how many IPs need to be attached to the NAT.
Общее значение PrefixLength равно 24. Это маска подсети 255.255.255.0.A common PrefixLength is 24 — this is a subnet mask of 255.255.255.0
-
InterfaceIndex: ifIndex — это индекс интерфейса виртуального коммутатора, который вы определили на предыдущем шаге.InterfaceIndex — ifIndex is the interface index of the virtual switch, which you determined in the previous step.
Выполните следующую команду, чтобы создать шлюз NAT:Run the following to create the NAT Gateway:
-
-
Настройте сеть NAT с помощью New-NetNat.Configure the NAT network using New-NetNat.
Ниже приведена общая команда:Here is the generic command:
Чтобы настроить шлюз, потребуется указать информацию о сети и шлюзе NAT:In order to configure the gateway, you’ll need to provide information about the network and NAT Gateway:
-
Name — NATOutsideName описывает имя сети NAT.Name — NATOutsideName describes the name of the NAT network. Оно используется для удаления сети NAT.You’ll use this to remove the NAT network.
-
InternalIPInterfaceAddressPrefix — «NAT subnet prefix» задает описанные ранее префикс IP-адреса шлюза NAT и длину префикса подсети NAT.InternalIPInterfaceAddressPrefix — NAT subnet prefix describes both the NAT Gateway IP prefix from above as well as the NAT Subnet Prefix Length from above.
Общая форма имеет вид a.b.c.0/NAT Subnet Prefix Length.The generic form will be a.b.c.0/NAT Subnet Prefix Length
Учитывая приведенные выше данные, для этого примера мы используем 192.168.0.0/24.From the above, for this example, we’ll use 192.168.0.0/24
В рамках данного примера выполните следующую команду для настройки сети NAT:For our example, run the following to setup the NAT network:
-
Поздравляем!Congratulations! Теперь у вас есть виртуальная сеть NAT.You now have a virtual NAT network! Чтобы добавить виртуальную машину в сеть NAT, выполните .To add a virtual machine, to the NAT network follow .
Пример: Использование NAT во время сетевых переходов
Развертывание NAT может потребоваться для переадресования устройств сети или при замене одного устройства другим. Например, если все устройства в сети используют определенный сервер и этот сервер необходимо заменить новым сервером с новым IP-адресом, то перенастройка всех сетевых устройств, использующих новый адрес сервера, займет определенное время. Однако можно использовать NAT для настройки устройств, использующих старые адреса, чтобы транслировать их пакеты для связи с новым сервером.
После определения интерфейсов NAT, как показано выше, NAT может транслировать внешние пакеты, направленные на адреса старого сервера (172.16.10.8), и направлять их на новый адрес сервера
Обратите внимание, что новый сервер относится к другой сети LAN и устройства, находящиеся в этой сети или достижимые через нее (устройства из внутренней части сети), следует настроить на (по возможности) IP-адрес нового сервера
Для этого можно использовать статическое преобразование сетевых адресов (NAT). Пример конфигурации приведен ниже.
Настройка NAT для использования при сетевых переходах
Маршрутизатор NAT |
---|
interface ethernet 0 ip address 172.16.10.1 255.255.255.0 ip nat outside interface ethernet 1 ip address 172.16.10.64 255.255.255.0 ip nat inside interface serial 0 ip address 200.200.200.5 255.255.255.252 ip nat inside source static 172.16.50.8 172.16.10.8 |
Обратите внимание на то, что команда внутреннего источника NAT в данном примере также подразумевает, что адрес назначения пакетов, полученных на внешнем интерфейсе, 172.16.10.8, будет преобразован в адрес 172.16.50.8. Последним действием является
Последним действием является .
Программная реализация NAT
При наличии уже существующего сервера под управлением серверной ОС возможно организовать трансляцию адресов без необходимости закупки дополнительных, аппаратных устройств. Как правило для программной реализации NAT требуется наличие по крайней мере двух сетевых адаптеров в сервере (возможны варианты с одним, но при наличии trunk-VLAN).
Все существующие и использующиеся серверные ОС поддерживают простейшую трансляцию адресов.
С точки зрения отказоустойчивости, гибкости и производительности, используются операционные системы семейства UNIX (большинство GNU/Linux, *BSD-системы, а также OpenSolaris и др.). Во многих из них NAT доступен «из коробки», в других возможна реализация за счёт добавления модулей в сочетании с межсетевыми экранами с функциями трансляции адресов (IPFW,IPtables и др.). Также, NAT работает «из коробки» в семействе операционных систем Windows Server.
Преимущества и недостатки
Преимущества | Недостатки |
---|---|
Позволяет сэкономить 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
Есть достаточно много разных вариантов технологии NAT. Мы рассмотрим 3 типа, которые используются чаще всего. Однако, кроме них есть и другие возможные варианты.
Статический NAT
Первый тип это статическое отображение ip адресов один к одному. В этом случае, нам нужно иметь столько же внешних адресов, сколько и компьютеров во внутренней сети. т.е. 4 компьютера и 4 ip адреса в нашем случае. И у нас фиксированное отображение внутренних адресов во внешние ip адреса.
Такая схеме используетя редко и она возможна, когда Вы подключаете сеть организации не к интернет, а к какой-то другой организации, где тоже используются внутренние ip адреса и возможен конфликт ip адресов.
Динамический NAT
Второй вариант это динамическое преобразование, когда набор внутренних ip адресов отображается на группу внешних ip адресов. В случае динамического NAT у нас есть несколько внешних ip адресов, которые поочередно используются разными компьютерами из внутренней сети. Например сначала компьютер 1 использует первый адрес, а компьютер 3 второй адрес.
Через некоторое время, второй компьютер может использовать второй адрес, а третий компьютер первый адрес. Таким образом, преобразование выполняется динамически.
Один ко многим (masquerading)
Третий вариант, который используется чаще всего это, когда все адреса из внутренней сети, отображаются на один внешний ip адрес.
Рассмотрим, как работает вариант NAT one-to-many, потому что с его помощью, можно подключать к интернет большие сети организаций, используя один внешний ip адрес (184.86.48.128). Именно это позволяет частично смягчить проблему нехватки адресов ipv4.
Преобразование или трансляция сетевых адресов, реализуется с помощью таблицы NAT, которая находится внутри устройства NAT.