Означает nat. NAT на пальцах: что это? Вход в меню настроек роутера
Помимо SNAT, т.е. предоставления пользователям локальной сети с внутренними адресами доступа к сети Интернет , часто применяется также Destination NAT , когда обращения извне транслируются межсетевым экраном на сервер в локальной сети, имеющий внутренний адрес и потому недоступный из внешней сети непосредственно (без NAT ).
На рисунках ниже приведен пример действия механизма NAT .
Рис.
7.1.
Пользователь корпоративной сети отправляет запрос в Интернет , который поступает на внутренний интерфейс маршрутизатора, сервер доступа или межсетевого экрана (устройство NAT ).
Устройство NAT получает пакет и делает запись в таблице отслеживания соединений, которая управляет преобразованием адресов.
Затем подменяет адрес источника пакета собственным внешним общедоступным IP-адресом и посылает пакет по месту назначения в Интернет .
Узел назначения получает пакет и передает ответ обратно устройству NAT .
Устройство NAT , в свою очередь , получив этот пакет, отыскивает отправителя исходного пакета в таблице отслеживания соединений, заменяет IP- адрес назначения на соответствующий частный IP- адрес и передает пакет на исходный компьютер . Поскольку устройство NAT посылает пакеты от имени всех внутренних компьютеров, оно изменяет исходный сетевой порт и данная информация хранится в таблице отслеживания соединений.
Существует 3 базовых концепции трансляции адресов:
- статическая (SAT, Static Network Address Translation),
- динамическая (DAT, Dynamic Address Translation),
- маскарадная (NAPT, NAT Overload, PAT).
Статический NAT отображает локальные IP-адреса на конкретные публичные адреса на основании один к одному. Применяется, когда локальный хост должен быть доступен извне с использованием фиксированных адресов.
Динамический NAT отображает набор частных адресов на некое множество публичных IP-адресов. Если число локальных хостов не превышает число имеющихся публичных адресов, каждому локальному адресу будет гарантироваться соответствие публичного адреса. В противном случае, число хостов, которые могут одновременно получить доступ во внешние сети, будет ограничено количеством публичных адресов.
Маскарадный NAT (NAPT, NAT Overload , PAT , маскарадинг) – форма динамического NAT , который отображает несколько частных адресов в единственный публичный IP- адрес , используя различные порты. Известен также как PAT ( Port Address Translation ).
Механизмов взаимодействия внутренней локальной сети с внешней общедоступной сетью может быть несколько – это зависит от конкретной задачи по обеспечению доступа во внешнюю сеть и обратно и прописывается определенными правилами. Определены 4 типа трансляции сетевых адресов:
- Full Cone (Полный конус)
- Restricted Cone (Ограниченный конус)
- Port Restricted Cone (Порт ограниченного конуса)
- Symmetric (Симметричный)
В первых трех типах NAT для взаимодействия разных IP-адресов внешней сети с адресами из локальной сети используется один и тот же внешний порт . Четвертый тип – симметричный – для каждого адреса и порта использует отдельный внешний порт .
Full Cone , внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для приходящих с любых адресов запросов. Если пользователю из Интернета нужно отправить пакет клиенту, расположенному за NAT ’ом, то ему необходимо знать только внешний порт устройства, через который установлено соединение. Например, компьютер за NAT ’ом с IP-адресом 192.168.0.4 посылает и получает пакеты через порт 8000, которые отображаются на внешний IP- адрес и порт , как 10.1.1.1:12345. Пакеты из внешней сети приходят на устройство с IP-адресом:портом 10.1.1.1:12345 и далее отправляются на клиентский компьютер 192.168.0.4:8000.
Во входящих пакетах проверяется только транспортный протокол; адрес и порт назначения, адрес и порт источника значения не имеют.
При использовании NAT , работающему по типу Restricted Cone , внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для любого пакета, посланного с клиентского компьютера, в нашем примере: 192.168.0.4:8000. А пакет, пришедший из внешней сети (например, от компьютера 172.16.0.5:4000) на устройство с адресом:портом 10.1.1.1:12345, будет отправлен на компьютер 192.168.0.4:8000 только в том случае, если 192.168.0.4:8000 предварительно посылал запрос на IP- адрес внешнего хоста (в нашем случае – на компьютер 172.16.0.5:4000). То есть, маршрутизатор будет транслировать входящие пакеты только с определенного адреса источника (в нашем случае компьютер 172.16.0.5:4000), но номер порта источника при этом может быть любым. В противном случае, NAT блокирует пакеты, пришедшие с хостов, на которые 192.168.0.4:8000 не отправлял запроса.
Механизм NAT Port Restricted Cone почти аналогичен механизму NAT Restricted Cone. Только в данном случае NAT блокирует все пакеты, пришедшие с хостов, на которые клиентский компьютер 192.168.0.4:8000 не отправлял запроса по какому-либо IP-адресу и порту. Mаршрутизатор обращает внимание на соответствие номера порта источника и не обращает внимания на адрес источника. В нашем примере маршрутизатор будет транслировать входящие пакеты с любым адресом источника, но порт источника при этом должен быть 4000. Если клиент отправил запросы во внешнюю сеть к нескольким IP-адресам и портам, то они смогут посылать пакеты клиенту на IP- адрес : порт 10.1.1.1:12345.
Symmetric NAT существенно отличается от первых трех механизмов способом отображения внутреннего IP-адреса:порта на внешний адрес : порт . Это отображение зависит от IP-адреса:порта компьютера, которому предназначен посланный запрос . Например, если клиентский компьютер 192.168.0.4:8000 посылает запрос компьютеру №1 (172.16.0.5:4000), то он может быть отображен как 10.1.1.1:12345, в тоже время, если он посылает с того же самого порта (192.168.0.4:8000) на другой IP- адрес , он отображается по-другому (10.1.1.1:12346).
Однако следует упомянуть и о недостатках данной технологии:
- Не все протоколы могут "преодолеть" NAT. Некоторые не в состоянии работать, если на пути между взаимодействующими хостами есть трансляция адресов. Опеределенные межсетевые экраны, осуществляющие трансляцию IP-адресов, могут исправить этот недостаток, соответствующим образом заменяя IP-адреса не только в заголовках IP, но и на более высоких уровнях (например, в командах протокола FTP).
- Из-за трансляции адресов "много в один" появляются дополнительные сложности с идентификацией пользователей и необходимость хранить полные логи трансляций.
- Атака DoS со стороны узла, осуществляющего NAT – если NAT используется для подключения многих пользователей к одному и тому же сервису, это может вызвать иллюзию DoS-атаки на сервис (множество успешных и неуспешных попыток). Например, избыточное количество пользователей ICQ за NAT приводит к проблеме с подключением к серверу некоторых пользователей из-за превышения допустимой скорости подключений.
К локальным IP-адресам относятся следующие диапазоны адресов: 10.ххх.ххх.ххх, 192.168.ххх.ххх, 172.16.ххх.ххх - 172.32.ххх.ххх.
Типы трансляторов сетевых адресов (NAT)
Трансляторы адресов подразделяются на 4 типа:
1. Полный конус (Full Cone)
2. Ограниченный конус (Restricted Cone)
3. Порт ограниченного конуса (Port Restricted Cone)
4. Симметричный (Symmetric)
В первых трех типах NATа разные IP-адреса внешней сети могут взаимодействовать с адресом из локальной сети используя один и тот же внешний порт. Четвертый типа, для каждого адреса и порта использует отдельный внешний порт.
NATы не имеют статической таблицы соответствия адресов и портов. Отображение открывается, когда первый пакет посылается из локальной сети наружу через NAT и действует определенный промежуток времени (как правило, 1-3 минуты), если пакеты через этот порт не проходят, то порт удаляется из таблицы соответствия. Обычно NAT распределяют внешние порты динамически, используется диапазон выше 1024.
Полный конус (Full Cone)
При использовании NATа работающего по типу полного конуса внешний отображаемый порт открыт для пакетов приходящих с любых адресов. Если кто-то из внешнего Интернета хочет в этот момент отправить пакет клиенту, расположенному за НАТом, то ему нужно знать только внешний порт через который установлено соединение. Например, компьютер за NATом с IP-адресом 10.0.0.1 посылает и получает пакеты через порт 8000, отображающийся на внешний IP-адрес и порт 212.23.21.25:12345, то любой в Интернете может послать пакеты на этот 212.23.21.25:12345, и эти пакеты попадут на клиентский компьютер 10.0.0.1:8000.
Ограниченный конус (Restricted Cone)
NAT, c ограниченным конусом, открывает внешний порт сразу после того как локальный компьютер отправит данные на определенный внешний IP-адрес. Например, если клиент посылает наружу пакет внешнему компьютеру 1, NAT отображает клиента 10.0.0.1:8000 на 212.23.21.25:12345, и внешний компьютер 1 может посылать пакеты назад по этому назначению. Однако, NAT будет блокировать пакеты идущие от компьютера 2, до тех пор пока клиент не пошлет пакет на IP-адрес этого компьютера. Когда он это сделает, то оба внешних компьютера 1 и 2 смогут посылать пакеты назад клиенту, и оба будут иметь одно и то же отображение через НАТ.
Порт ограниченного конуса (Port Restricted Cone)
NAT с портом ограниченного конуса почти идентичен NATу с ограниченным конусом. Только в этом случае, NAT блокирует все пакеты, если клиент предварительно не послал наружу пакет на IP-адрес и порт того компьютера, который посылает пакеты клиенту. Поэтому, если клиент посылает внешнему компьютеру 1 на порт 5060, то NAT только тогда пропустит пакет к клиенту, когда он идет с 212.33.35.80:5060. Если клиент послал наружу пакеты к нескольким IP-адресам и портам, то они могут ответить клиенту на один и тот же отображенный IP-адрес и порт.
Симметричный (Symmetric)
Симметричный NAT кардинально отличается от первых трех в способе отображения внутреннего IP-адреса и порта на внешний адрес и порт. Это отображение зависит от IP-адреса и порта компьютера, которому предназначен посланный пакет. Например, если клиент посылает с адреса 10.0.0.1:8000 компьютеру 1, то он может быть отображен как 212.23.21.25:12345, в тоже время, если он посылает с того же самого порта (10.0.0.1:8000) на другой IP-адрес, он отображается по-другому (212.23.21.25:12346).
Компьютер 1 может отправить ответ только на 212.23.21.25:12345, а компьютер 2 может ответить только на 212.23.21.25:12346.
Если любой из них попытается послать пакеты на порт с которого он не получал пакеты, то эти пакеты будут игнорированы. Внешний IP-адрес и порт открывается только тогда, когда внутренний компьютер посылает данные наружу по определенному адресу.
NAT и Интернет телефония с использованием SIP протокола
Существует три основных проблемы прохождения через NAT звонков с использованием SIP протокола.
1. Наличие локальных адресов в SIP сигнализации.
Что такое NAT
Ваш компьютер может быть подключен к интернету напрямую. Тогда говорят, что у него внешний IP адрес.
Обычно это значит, что компьютер подключен сразу к модему (DSL, кабельному или обычному аналоговому).
За NAT означает, что ваш компьютер подключен не к интернету, а к локальной сети. Тогда у него внутренний IP адрес, из интернета сам по себе недоступный.
Доступ к интернету ваш компьютер получает через NAT - процесс трансляции внутренних адресов во внешние и обратно. NAT-устройство обычно называют раутером.
Специфика работы NAT такова, что соединения, инициируемые вашим компьютером, прозрачно проходят через NAT-устройство в интернет.
Однако соединения, которые хотели бы с вами установить другие компьютеры из интернета,
до вас дойти не могут.
Находим IP адрес компьютера
Run">Откройте диалоговое окно для запуска программ: клик на кнопке Пуск, в меню выберите Выполнить .
В Windows 2000/XP
набираем команду cmd /k ipconfig
,
нажимаем OK и смотрим на результат.
Windows 2000 IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.10 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1
Первый из этих адресов - это IP адрес вашего компьютера.
Нaходитесь ли вы за NAT
Три специальных диапазона IP адресов зарезервированы для локальных сетей и в интернете не используются:
10. 0. 0. 0 - 10. 255.255.255 172. 16. 0. 0 - 172. 31.255.255 192.168. 0. 0 - 192.168.255.255
Если IP адрес вашего компьютера находится в одном из этих диапазонов, то есть начинается с 10. или с 192.168. или с 172.nn. (где nn - от 16 до 31) , то это локальный (внутренний) адрес, и вы точно находитесь за NAT.
Если нет, то теперь проверьте, под каким IP адресом вас видят другие компьютеры в интернете. Например на whatsmyip.org ("Your IP Address is x.x.x.x" вверху страницы) или на myipaddress.com .
Если IP адрес вашего компьютера совпадает с показанным одним из этих сайтов, то вы точно подключены к интернету напрямую.
В остальных случаях наверняка сказать нельзя. Возможны такие варианты:
- вы находитесь за NAT, но ваш сетевой администратор выбрал нестандартные внутренние адреса для вашей локальной сети. Найдите его и поинтересуйтесь, зачем так нужно было делать.
- вы выходите в интернет через прокси сервер (тогда whatsmyip.org показал вам адрес этого прокси сервера).
Во многих случаях вы можете определить, есть ли между вами и интернетом прокси сервер, пользуясь например
lagado.com/proxy-test .
Подключение через прокси в этом руководстве не рассматривается .
Варианты подключения через NAT
Если вы за NAT, то следующим шагом надо определить, где именно находится NAT-устройство.
NAT провайдера
- Тогда говорят, что
- провайдер предоставляет вам интернет через NAT ,
- или что провайдер не дает вам внешний IP адрес ,
- или что вы подключены через локальную сеть провайдера
Проще всего позвонить провайдеру и узнать. Или поинтересоваться у знающих соседей с таким же подключением.
При подключении к интернету через локальную сеть провайдера сделать себе доступный порт нельзя. Если, конечно, провайдер специально для вас не перенаправит определенный порт, что малореально. Или если вы не заплатите дополнительно за услугу, которая обычно называется "внешний" ("белый") IP адрес.
NAT в офисе или многоквартирном доме
В принципе ситуация такая же, но вы можете поискать подходы к местному админу. В конечном итоге решение вопроса о доступности порта зависит от того, имеете ли вы доступ к настройкам раутера.
Кроме того, можно также попробовать UPnP, вдруг в раутере оставили его разрешенным.
NAT ваш собственный
В этом случае вы практически всегда можете его настроить и получить доступный порт.
Обычно это или подключение через домашний раутер или подключение через другой компьютер, например используя ICS (второй вариант тут не рассматривается).
Конечно, в принципе бывает и так, что NAT есть и у вас дома, и у провайдера, то есть ваш компьютер находится за двумя NAT сразу. Это можно проверить, зайдя в настройки раутера, посмотрев на его внешний адрес и далее следуя вышеописанному сценарию (принадлежит ли этот адрес диапазонам локальных сетей, совпадает ли он с тем адресом, под которым вас видят в интернете).
Трансляция сетевых адресов (NAT) является способом переназначения одного адресного пространства в другое путем изменения информации То есть заголовки пакетов изменяются в то время, когда они находятся в пути через устройство маршрутизации трафика. Этот метод первоначально использовался для простоты перенаправления трафика в IP-сетях без перенумерации каждого хоста. Он стал популярным и важным инструментом для сохранения и распределения глобального адресного пространства в условиях недостатка адресов IPv4.
NAT - это что такое?
Оригинальное использование трансляции сетевых адресов состоит в отображении каждого адреса из одного адресного пространства к соответствующему адресу в другом пространстве. Например, это необходимо, если провайдер интернет-услуг изменился, а пользователь не имеет возможности публично объявить новый маршрут к сети. В условиях обозримого глобального истощения IP-адресного пространства технология NAT все чаще используется с конца 1990-х годов в сочетании с IP-шифрованием (которое представляет собой метод перехода нескольких IP-адресов в одно пространство). Этот механизм реализован в устройстве маршрутизации, которое использует таблицы перевода с сохранением состояния для отображения «скрытых» адресов в один IP-адрес, и перенаправляет исходящие IP-пакеты на выходе. Таким образом, они отображаются выходящими из устройства маршрутизации. В обратном ответы отображаются в исходном IP-адресе с помощью правил, хранящихся в таблицах перевода. Правила таблицы перевода, в свою очередь, очищаются по истечении короткого периода, если новый трафик не обновляет свое состояние. Таков основной механизм NAT. Это что означает?
Данный метод позволяет осуществлять связь через маршрутизатор только тогда, когда соединение происходит в зашифрованной сети, так как это создает таблицы перевода. Например, веб-браузер внутри такой сети может просматривать сайт за ее пределами, но, будучи установленным вне ее, он не может открыть ресурс, размещенный в ней. Тем не менее большинство устройств NAT сегодня позволяют конфигурировать записи таблицы перевода для постоянного использования. Эта функция часто упоминается как статическая NAT или перенаправление портов, и она позволяет трафику, исходящему во «внешнюю» сеть, достичь назначенных хостов в зашифрованной сети.
Из-за популярности этого метода, используемого с целью сохранения адресного пространства IPv4, термин NAT (это что такое фактически - указано выше) стал практически синонимом метода шифрования.
Поскольку трансляция сетевых адресов изменяет информацию об адресе IP-пакетов, это имеет серьезные последствия для качества подключения к интернету и требует пристального внимания к деталям его реализации.
Способы применения NAT отличаются друг от друга в их конкретном поведении в различных случаях, касающихся влияния на сетевой трафик.
Базовая NAT
Простейший тип Network Address Translation (NAT) обеспечивает трансляцию IP-адресов «один-к-одному». RFC 2663 является основным типом данной трансляции. В этом типе изменяются только IP-адреса и контрольная сумма IP-заголовков. Основные типы трансляции можно использовать для соединения двух IP-сетей, которые имеют несовместимую адресацию.
NAT - это что в подключении «один-ко-многим»?
Большинство разновидностей NAT способны сопоставить несколько частных хостов к одному публично обозначенному IP-адресу. В типичной конфигурации локальная сеть использует один из назначенных «частных» IP-адресов подсети (RFC 1918). Маршрутизатор в этой сети имеет частный адрес в этом пространстве.
Маршрутизатор также подключается к интернету с помощью «публичного» адреса, присвоенного провайдером. Так как трафик проходит из локальной сети источника в каждом пакете переводится на лету из частного адреса в публичный. Маршрутизатор отслеживает основные данные о каждом активном соединении (в частности, адрес и порт назначения). Когда ответ возвращается к нему, он использует данные соединения, которые сохраняются во время выездного этапа, чтобы определить частный адрес внутренней сети, к которому следует направить ответ.
Одним из преимуществ этого функционала является то, что он служит практическим решением надвигающегося исчерпания адресного пространства IPv4. Даже крупные сети могут быть подключены к Интернету с помощью одного IP-адреса.
Все дейтаграммы пакетов на IP-сетях имеют 2 IP-адреса - исходный и пункта назначения. Как правило, пакеты, проходящие из частной сети к сети общего пользования, будут иметь адрес источника пакетов, изменяющийся во время перехода от публичной сети обратно к частной. Более сложные конфигурации также возможны.
Особенности
Настройка NAT может иметь некоторые особенности. Во избежание трудностей в том, как перевести возвращенные пакеты, требуются их дальнейшие модификации. Подавляющее большинство интернет-трафика идет через протоколы TCP и UDP, и их номера портов изменяются таким образом, что сочетание IP-адреса и номера порта при обратном направлении данных начинает сопоставляться.
Протоколы, не основанные на TCP и UDP, требуют других методов перевода. Протокол управления сообщениями в (ICMP), как правило, соотносит передаваемые данные с существующим соединением. Это означает, что они должны быть отображены с использованием того же IP-адреса и номера, установленного изначально.
Что нужно учитывать?
Настройка NAT в роутере не дает ему возможности соединения «из конца в конец». Поэтому такие маршрутизаторы не могут участвовать в некоторых интернет-протоколах. Услуги, которые требуют инициации TCP-соединений от внешней сети или пользователей без протоколов, могут быть недоступны. Если маршрутизатор NAT не делает особых усилий для поддержки таких протоколов, входящие пакеты не могут добраться до места назначения. Некоторые протоколы могут разместиться в одной трансляции между участвующими хостами («пассивный режим» FTP, например), иногда с помощью шлюза прикладного уровня, но соединение не будет установлено, когда обе системы отделены от сети Интернет с помощью NAT. Использование трансляции сетевых адресов также усложняет такие «туннельные» протоколы, как IPsec, поскольку она изменяет значения в заголовках, которые взаимодействуют с проверками целостности запросов.
Существующая проблема
Соединение «из конца в конец» является основным принципом интернета, существующим с момента его разработки. Текущее состояние сети показывает, что NAT является нарушением этого принципа. У специалистов существует серьезная озабоченность в связи с повсеместным использованием в IPv6-трансляции сетевых адресов, и поднимается проблема о том, как эффективно ее устранить.
Из-за недолговечной природы таблиц, сохраняющих состояние трансляции в маршрутизаторах NAT, устройства внутренней сети утрачивают IP-соединение, как правило, в течение очень короткого периода времени. Говоря о том, что такое NAT в роутере, нельзя забывать про это обстоятельство. Это серьезно сокращает время работы компактных устройств, работающих на батарейках и аккумуляторах.
Масштабируемость
Кроме того, при использовании NAT отслеживаются только порты, которые могут быть быстро истощены внутренними приложениями, использующими несколько одновременных соединений (например, HTTP-запросы для веб-страниц с большим количеством встроенных объектов). Эта проблема может быть смягчена путем отслеживания IP-адреса назначения в дополнение к порту (таким образом, один локальный порт разделяется большим количеством удаленных хостов).
Некоторые сложности
Поскольку все внутренние адреса маскируются под один общедоступный, для внешних хостов становится невозможно инициировать подключение к определенному внутреннему узлу без специальной конфигурации на брандмауэре (которая должна перенаправлять подключения к определенному порту). Такие приложения, как IP-телефония, видеоконференции и подобные сервисы должны использовать методы обхода NAT, чтобы нормально функционировать.
Обратный адрес и порт перевода (Rapt) позволяет хосту, реальный IP-адрес которого меняется время от времени, оставаться доступным в качестве сервера с помощью фиксированного IP-адреса домашней сети. В принципе, это должно позволить настройке серверов сохранять соединение. Несмотря на то что это не идеальное решение проблемы, это может стать еще одним полезным инструментом в арсенале сетевого администратора при решении задачи, как настроить NAT на роутере.
Port Address Translation (PAT)
Реализацией Cisco Rapt является Port Address Translation (PAT), который отображает несколько частных IP-адресов в виде одного публичного. Несколько адресов могут быть отображены как адрес, потому что каждый из них отслеживается с помощью номера порта. PAT использует уникальные номера портов источника на внутреннем глобальном IP, чтобы различать направление передачи данных. Такими номерами являются 16-разрядные целые числа. Общее количество внутренних адресов, которые могут быть переведены на один внешний, теоретически может достигать 65536. Реальное же количество портов, на которые может быть назначен единый IP-адрес, составляет около 4000. Как правило, PAT пытается сохранить исходный порт «оригинала». Если он уже используется, Port Address Translation назначает первый доступный номер порта, начиная с начала соответствующей группы - 0-511, 512-1023 или 1024-65535. Когда больше нет доступных портов и есть более чем один внешний IP-адрес, PAT переходит к следующему, чтобы попытаться выделить исходный порт. Этот процесс продолжается до тех пор, пока не закончатся доступные данные.
Отображение адреса и порта осуществляется службой Cisco, которая сочетает в себе адрес порта перевода с данными туннелирования пакетов IPv4 по внутренней сети IPv6. По сути дела, это неофициальная альтернатива CarrierGrade NAT и DS-Lite, которая поддерживает IP-трансляции адресов/портов (и, следовательно, поддерживается настройка NAT). Таким образом, это позволяет избежать проблем в установке и поддержании соединения, а также обеспечивает механизм перехода для развертывания IPv6.
Методы перевода
Существует несколько способов реализации перевода сетевого адреса и порта. В некоторых прикладных протоколах, которые используют приложения по работе с IP-адресами, работающими в зашифрованной сети, необходимо определить внешний адрес NAT (который используется на другом конце соединения), и, кроме того, зачастую необходимо изучить и классифицировать тип передачи. Обычно это делается потому, что желательно создать прямой канал связи (либо сохранить бесперебойную передачу данных через сервер, или же для повышения производительности) между двумя клиентами, оба из которых находятся за отдельными NAT.
Для этой цели (как настроить NAT) в 2003 году был разработан специальный протокол RFC 3489, обеспечивающий простой обход UDP через NATS. На сегодняшний день он является устаревшим, поскольку такие методы в наши дни являются недостаточными для правильной оценки работы многих устройств. Новые методы были стандартизованы в протоколе RFC 5389, который был разработан в октябре 2008 года. Эта спецификация сегодня носит название SessionTraversal и представляет собой утилиту для работы NAT.
Создание двусторонней связи
Каждый пакет TCP и UDP содержит IP-адрес источника и номер его порта, а также координаты порта назначения.
Для получения таких общедоступных услуг, как функционал почтовых серверов, номер порта имеет важное значение. Например, подключается к программному обеспечению веб-сервера, а 25 - к SMTP почтового сервера. IP-адрес общедоступного сервера также имеет существенное значение, подобное почтовому адресу или номеру телефона. Оба этих параметра должны быть достоверно известны всем узлам, которые намерены установить соединение.
Частные IP-адреса имеют значение только в локальных сетях, где они используются, а также для хост-портов. Порты являются уникальными конечными точками связи на хосте, поэтому соединение через NAT поддерживается с помощью комбинированного картирования порта и IP-адреса.
РАТ (Port AddressTranslation) разрешает конфликты, которые могут возникнуть между двумя различными хостами, использующими один и тот же номер порта источника для установления уникальных подключений одновременно.
Стремительный рост сети Интернет, в скором времени после ее появления, принес проблема нехватки адресов. Сейчас это частично решается внедрением нового протокола IPv6, который обеспечит в разы больше доступных адресов для сетевых узлов. Но одним обновлением протокола не обойтись. Была придумана технология NAT, которая позволяла узлам из частной сети, подключаться к Интернет, используя всего один внешний ip адрес. Таким образом масштабирование частных локальных сетей стало намного проще, при попытке подключения их к Интернет . Сейчас мы подробно разберем технологию NAT.
Как работает NAT
Давайте для примера представим, что у нас есть локальная сеть, включающая в себя 3 рабочих станции. Мы решили подключить Интернет. Провайдер выделил нам 1 внешний , который мы должны прописать в настройках нашего маршрутизатора. В итоге мы получим следующую картинку.
Наши три компьютера будут объединены в локальную сеть с адресацией "192.168.. "
Вот так это будет выглядеть:
- Маршрутизатор - 192.168.1.1
- Компьютер 1 - 192.168.1.2
- Компьютер 2 - 192.168.1.3
- Компьютер 3 - 192.168.1.4
Если вы уже знакомы с основами локальных сетей, то должны знать, что в настройках сетевых карт, в поле "Шлюз по умолчанию", для наших компьютеров должно стоять значение 192.168.1.1. Таким образом, все запросы, которые не принадлежат нашей локальной сети, мы должны отправлять на наш маршрутизатор. Проще говоря, все запросы в Интернет, будут перенаправлены на него.
Как мы уже отметили, внешний ip у нас всего один. Вот здесь и начинается самое интересное. Как три компьютера с разными ip-адресами, смогут выходить в интернет, при наличии одного внешнего адреса?
Тут на помощь и придет технология NAT.
Как вы видите, внутри сети все узлы имеют адреса в одной подсети. Это позволяет им реализовать передачу данных. В том случае, если запрос будет направлен в интернет, он будет передан на внутренний интерфейс маршрутизатора. Затем используя технологию NAT, данные будут слегка изменены. Им будет назначен внешний IP адрес. И после этого пакеты уйдут в сеть.
Наверняка вы уже понимаете принцип работы технологии трансляции сетевых адресов. С ее помощью, всем внутренним адресам сети назначается единый внешний адрес. Это позволяет при наличии единственного внешнего адреса, выходить в сеть нескольким компьютерам одновременно.
На что здесь следует обратить внимание. Во первых, не обязательно должен быть всего один внешний адрес. Их может быть несколько.
Во вторых, использование технологии NAT накладывает некоторые ограничения, связанные с блокировкой по IP. Это проявляется при попытке доступа к ресурсу, на котором подключаться можно только одному хосту с одного ip. В том случае, если кто-то из вашей сети уже подключен к нему, вам не удастся установить соединение.
Терминология
Чтобы понимать принцип трансляции сетевых адресов, давайте разберемся с основными терминами.
Это первый тип реализации данной технологии.
При этом, каждый внутренний адрес маршрутизатор переделывает во внешний, ориентируясь на записях в таблице маршрутизации. Соответствия должны быть настроены заранее, во время конфигурирования маршрутизатора.
Настройка на маршрутизаторах Cisco
- Заходим в настройки интерфейса, который будет находиться во внутренней части сети, и применяем команду ip nat inside
- Далее для внешнего интерфейса команда ip nat outside
- Далее в режиме глобальной конфигурации нам нужно вручную задать соответствие для адресов. Используем команду ip nat inside source static inside-local inside-global . Где "inside-local " - внутренний локальный адрес, "inside-global " - внутренний глобальный
Динамическая NAT
Данная реализация схожа со статической трансляцией. Разница в том, что процесс преобразования адресов происходит в динамическом режиме, на основе настроенных ранее параметров. Теперь нет статической таблицы маршрутизации. В таблицу заносятся соответствия, которые активируются в момент передачи пакетов. В том случае, если все настроенные параметры соответствуют.
Для настройки вам нужно задать пул внешних адресов, которые будут использовать для транслирования. А также задать пул внутренних адресов, создав для них новый .
Настройка
- Задаем ip nat inside для внутренних интерфейсов
- Ip nat outside для внешних
- Создаем ACL со списком внутренних адресов, которые должны участвовать в трансляции
- Создаем пул внешних адресов. В режиме глобального конфигурирования применяем команду ip nat pool name first-address last-address mask subnet mask . Где "name " - имя для пула, "first-address " начальный адрес, "last-address " - последний адрес, "subnet mask " - маска подсети
- Включаем динамическую трансляцию адресов NAT. ip nat source list acl-number pool pool-name . Где "acl-number " - созданный ранее список контроля доступа, "pool-name " - пул адресов.
PAT - трансляция на основе портов
В любом случае, количество доступных внешних адресов ограничено. Как же еще более масштабировать большую локальную сеть, чтобы получить возможность выхода в интернет всех ее узлов? Уже ясно, что и статическая и динамическая NAT, потребует для этого большое количество внешних адресов. Но этот вариант нам не подходит.
Здесь на помощь приходит третья реализация NAT - трансляция на основе портов PAT. Суть ее в том, что в дополнение к связке "адрес - адрес", добавляется связка "адрес - порт". Таким образом, маршрутизатор может активировать соединение не только с использованием IP-адреса, но и с использованием уникального номера порта.
С учетом того, что для нумерации портов используется 16-бит, то одновременно может быть активно более 65 тысяч соединений.
Настройка
Весь процесс настройки аналогичен конфигурированию динамической маршрутизации. В том случае, если мы хотим включить PAT, нам нужно добавить ключевое слово overload в команду настройки. В итоге она будет выглядеть вот так:
ip nat source list acl-number interface interface name/ number overload
Видео к статье :
Заключение
Использование технологии NAT позволяет реализовать доступ в Интернет, для любой локальной сети. При этот вам понадобится только один внешний IP-адрес. Это наиболее часто используемый вариант - зачастую провайдеры предлагают именно такие тарифы для домашних пользователей, или небольших офисов.
Зачем искать информацию на других сайтах, если все собрано у нас?
- Пошаговая