К какому из устройств относится механизм nat. NAT - настройка преобразования сетевых адресов. NAT: существующая проблема
Посмотрело: 41179
1 Если Вы читаете этот документ, то скорее всего вы подсоединены к Интернету, и используете трансляцию сетевых адресов (Network Address Translation, NAT ) прямо сейчас! Интернет стал настолько огромным, чем кто-либо мог себе представить. Хотя точный размер неизвестен, текущая оценка это приблизительно 100 миллионов хостов и более чем 350 миллионов пользователей, активно работающих в Интернете. Фактически, норма роста такова, что Интернет эффективно удваивается в размере каждый год.
Введение
Для компьютера, чтобы общаться с другими компьютерами и Web-серверами в Интернете, он должен иметь IP адрес. IP адрес (IP означает Интернет Протокол) - это уникальное 32-битовое число, которое идентифицирует местоположение вашего компьютера на сети. В основном это работает точно так же как ваш уличный адрес: способ точно выяснить, где вы находитесь и доставить вам информацию. Теоретически, можно иметь 4,294,967,296 уникальных адресов (2^32). Фактическое число доступных адресов является меньшим (где-нибудь между 3.2 и 3.3 миллиарда) из-за способа, которым адреса разделены на классы и потребности отвести некоторые из адресов для мультивещания, тестирования или других определенных нужд. С увеличением домашних сетей и деловых сетей, число доступных IP адресов уже не достаточно. Очевидное решение состоит в том, чтобы перепроектировать формат адреса, чтобы учесть больше возможных адресов. Таким образом, развивается протокол IPv6, но, это развитие займет несколько лет, потому что требует модификации всей инфраструктуры Интернета.Вот где приходит NAT нам во спасение. В основном, Сетевая Трансляция Адресов, позволяет единственному устройству, типа маршрутизатора, действовать как агент между Интернетом (или "публичной сетю") и локальной (или "частной") сетью. Это означает, что требуется только единственный уникальный IP адрес, чтобы представлять всю группу компьютеров чему-либо вне их сети. Нехватка IP адресов - только одна причина использовать NAT. Два других серьезных основания это безопасность и администрирование
Вы узнаете о том, как можно извлечь выгоду из NAT, но сначала, давайте познакомимся с NAT чуть ближе и посмотрим, что он может делать.
Маскировка
NAT похож на секретаря большого офиса. Скажем, вы оставили инструкции секретарю, чтобы не перенаправлять вам никакие звонки, до тех пор, пока вы не попросите об этом. Позже, вы звоните потенциальному клиенту и оставляете сообщение для него, чтобы он перезвонил вам. Вы говорите секретарю, что ожидаете звонок от этого клиента и звонок нужно перевести. Клиент звонит на основной номер вашего офиса, являющийся единственным номером, который он знает. Когда клиент говорит секретарю, кого он ищет, секретарь проверяет свой список сотрудников, чтобы найти соответствие имени и его номера расширения. Секретарь знает, что вы запрашивали этот звонок, поэтому он переводит звонившего на ваш телефон.Разработанная технология Cisco, Трансляция Сетевых Адресов используется устройством (межсетевым экраном, маршрутизатором или компьютером), которое находиться между внутренней сетью и остальной частью мира. NAT имеет много форм и может работать несколькими способами:
Статический NAT - Отображение незарегистрированного IP адреса на зарегистрированный IP адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети.
В статическом NAT, компьютер с адресом 192.168.32.10 будет всегда транслироваться в адрес 213.18.123.110:
Динамический NAT - Отображает незарегистрированный IP адрес на зарегистрированный адрес от группы зарегистрированных IP адресов. Динамический NAT также устанавливает непосредственное отображение между незарегистрированным и зарегистрированным адресом, но отображение может меняться в зависимости от зарегистрированного адреса, доступного в пуле адресов, во время коммуникации.
В динамическом NAT, компьютер с адресом 192.168.32.10 транслируется в первый доступномый адрес в диапазоне от 213.18.123.100 до 213.18.123.150
Перегрузка(Overload) - форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP адрес, используя различные порты. Известен также как PAT (Port Address Translation)
При перегрузке, каждый компьютер в частной сети транслируется в тот же самый адрес (213.18.123.100), но с различным номером порта
Перекрытие - Когда IP адреса, используемые в вашей внутренней сети, также используются в другой сети, маршрутизатор должен держать таблицу поиска этих адресов так, чтобы он мог перехватить и заменить их зарегистрированными уникальными IP адресами. Важно отметить, что NAT маршрутизатор должен транслировать "внутренние" адреса в зарегистрированные уникальные адреса, а также должен транслировать "внешние" зарегистрированные адреса в адреса, которые являются уникальными для частной сети. Это может быть сделано либо через статический NAT, либо вы можете использовать DNS и реализовать динамический NAT.
Пример:
Внутренний диапазон IP (237.16.32.xx) является также зарегистрированный диапазоном, используемым другой сетью. Поэтому, маршрутизатор транслирует адреса, чтобы избежать потенциального конфликта. Он также будет транслировать зарегистрированные глобальные IP адреса обратно к незарегистрированным локальным адресам, когда пакеты посылаются во внутреннюю сеть
Внутренняя сеть – это обычно LAN (Локальная сеть), чаще всего, называемая, тупиковым доменом . Тупиковый домен это LAN, которая использует внутренние IP адреса. Большинство сетевого трафика в таком домене является локальным, он не покидает пределов внутренней сети. Домен может включать как зарегистрированные так и незарегистрированные IP адреса. Конечно, любые компьютеры, которые используют незарегистрированные IP адреса, должны использовать NAT, чтобы общаться с остальной частью мира.
NAT может быть сконфигурирован различными способами. В примере ниже NAT-маршрутизатор сконфигурирован так, чтобы транслировать незарегистрированные IP адреса (локальные внутренние адреса), которые постоянно находятся в приватной (внутренней) сети в зарегистрированные IP адреса. Это случается всякий раз, когда устройство на внутренней части с незарегистрированным адресом должно общаться с внешней сетью.
ISP назначает диапазон адресов IP вашей компании. Назначенный блок адресов - это уникальные зарегистрированные IP адреса и называются внутренними глобальными адресами (inside global)
. Незарегистрированные частные IP адреса разбиты на две группы, маленькая группа, внешние локальные адреса (outside local)
, будет использоваться NAT маршрутизаторами и основная, которая будет использоваться в домене, известна как внутренние локальные адреса (inside local)
. Внешние локальные адреса используются, чтобы транслировать уникальные IP адреса, известные как внешние глобальные адреса(outside global)
, устройств на общественной сети.
NAT транслирует только тот трафик, который проходит между внутренней и внешней сетью и определен для трансляции. Любой трафик, не соответствующий критериям трансляции или тот, который проходит между другими интерфейсами на маршрутизаторе, никогда не транслируется, и пересылается как есть.
IP адреса имеют различные обозначения, основанные на том, находятся ли они на частной сети (домен) или на общественной сети (Интернет) и является ли трафик входящим или исходящим:
- Большинство компьютеров в домене общается друг с другом, используя внутренние локальные адреса.
- Некоторые компьютеры в домене взаимодействуют с внешней сетью. Эти компьютеры имеют внутренние глобальные адреса, что означает, что они не требуют трансляции.
- Когда компьютер в домене, который имеет внутренний локальный адрес, хочет взаимодействовать с внешней сетью, пакет идет в один из NAT-маршрутизаторов посредством обычной маршрутизации.
- NAT- маршрутизатор проверяет таблицу маршрутизации, чтобы посмотреть, имеется ли у него запись для конечного адреса. Если адрес приемника не находится в таблице маршрутизации, пакет отбрасывается. Если запись доступна, роутер проверяет, идет ли пакет из внутренней сети во внешнюю, а также, соответствует ли пакет критериям, определенным для трансляции. Затем маршрутизатор проверяет таблицу трансляции адресов, чтобы выяснить, существует ли запись для внутреннего локального адреса и соответствующего ему внутреннего глобального адреса. Если запись найдена, он транслирует пакет, используя внутренний глобальный адрес. Если сконфигурирован только статический NAT, и никакой записи не найдено, то роутер посылает пакет без трансляции.
- Используя внутренний глобальный адрес, маршрутизатор пересылает пакет его адресату.
- компьютер на общественной сети посылает пакет в частную сеть. Адрес источника в пакете – это внешний глобальный адрес. Адрес приемника - внутренний глобальный адрес.
- Когда пакет прибывает во внешнюю сеть, NAT-маршрутизатор смотрит в таблицу трансляций и определяет адрес приемника, отображенный на компьютер в домене.
- NAT-маршрутизатор транслирует внутренний глобальный адрес пакета на внутренний локальный адрес и затем проверяет таблицу маршрутизации прежде, чем пошлет пакет конечному компьютеру. Всякий раз, когда запись не найден для адреса в таблице трансляций, пакет не транслируется и роутер продолжает поверку таблицы маршрутизации на поиск адреса приемника.
NAT-перегрузка (overloading) использует особенность стека протокола TCP/IP, такую как мультиплексирование, которое позволяет компьютеру поддерживать несколько параллельных подключений с удаленным компьютером, используя различные TCP или UDP порты. Пакет IP имеет заголовок, который содержит следующую информацию:
- Исходный адрес – IP адрес компьютера источника, например, 201.3.83.132.
- Исходный порт – номер TCP или UDP порта, назначенное компьютером источником для этого пакета, например, Порт 1080.
- Адрес назначения – IP адрес компьютера приемника. Например, 145.51.18.223.
- Порт назначения – номер TCP или UDP порта, который просит открыть компьютер источник на приемнике, например, порт 3021.
IP адреса определяют две машины с каждой стороны, в то время как номера портов гарантируют, что соединение между этими двумя компьютерами имеет уникальный идентификатор. Комбинация этих четырех чисел определяет единственное соединение TCP/IP. Каждый номер порта использует 16 битов, что означает, что сушествует 65 536 (2^16) возможных значения. В действительности, так как различные изготовители отображают порты немного различными способами, вы можете ожидать приблизительно 4 000 доступных портов.
Примеры динамического NAT и NAT с перегрузкой
Ниже на картинке показано как работает динамический NAT.
Кликните на одну из зеленых кнопок, чтобы послать успешный пакет либо в, либо из внутренней сети. Нажмите на одну из красных кнопок, чтобы послать пакет, который будет отброшен маршрутизатором из-за недопустимого адреса.
- внутренняя сеть была установлена с адресами IP, которые не были специально отведены для этой компании IANA (Органом по надзору за присвоением адресов в Интернете), глобальное бюро, которое раздает IP адреса. Такие адреса нужно считать немаршрутизируемыми, так как они не уникальны. Это внутренние локальные адреса.
- компания устанавливает маршрутизатор с NAT. Маршрутизатор имеет диапазон уникальных адресов IP, выданных компании. Это - внутренние глобальные адреса.
- компьютер на LAN пытается соединиться с компьютером вне сети, типа Web-сервера.
- маршрутизатор получает пакет от компьютера на LAN.
- После проверки таблицы маршрутизации и процесса проверки для трансляции, маршрутизатор сохраняет немаршрутизируемый адрес компьютера в таблице трансляции адресов. Маршрутизатор заменяет немаршрутизируемый адрес компьютера отправителя первым доступным IP адресом из диапазона уникальных адресов. Таблица трансляций теперь имеет отображение немаршрутизируемого IP адреса компьютера, которому соответствует один из уникальных IP адресов.
- Когда пакет возвращается от компьютера адресата, маршрутизатор проверяет адрес приемника в пакете. Затем он смотрит в таблицу трансляции адресов, чтобы найти, какому компьютеру в домене принадлежит данный пакет. Он изменяет адрес приемника на тот, что был сохранен ранее в таблице трансляции и посылает пакет нужному компьютеру. Если роутер не находит соответствие в таблице, он уничтожает пакет.
- Компьютер получает пакет от маршрутизатора и весь процесс повторяется, пока компьютер общается с внешней системой.
- Внутренняя сеть была установлена с немаршрутизируемыми IP адресами, которые не были специально отведены для компании
- компания устанавливает маршрутизатор с NAT. Маршрутизатор имеет уникальный IP адрес, который выдала IANA
- компьютер в домене пытается соединиться с компьютером вне сети, типа Web-сервера.
- маршрутизатор получает пакет от компьютера в домене.
- После маршрутизации и проверки пакета для выполнения трансляции, маршрутизатор сохраняет немаршрутизируемый IP адрес компьютера и номер порта в таблице трансляции. Маршрутизатор заменяет немаршрутизируемый IP адрес компьютера отправителя IP адресом маршрутизатора. Маршрутизатор заменяет исходный порт компьютера отправителя неким случайным номером порта и сохраняет его в таблице трансляции адресов для этого отправителя. Таблица трансляций имеет отображение немаршрутизируемого IP адреса компьютера и номера порта наряду с IP адресом маршрутизатора.
- Когда пакет возвращается от адресата, маршрутизатор проверяет порт применика в пакете. Он затем смотрит в таблицу трансляций, чтобы найти, какому компьютеру в домене принадлежит пакет. Далее роутер изменяет адрес приемника и порт приемника в те значения, которые были ранее сохранены в таблице трансляций и посылает пакет конечному узлу.
- компьютер получает пакет от маршрутизатора и процесс повторяется
- Так как NAT маршрутизатор теперь имеет исходный адрес компьютера и исходный порт, сохраненный к таблице трансляций, он продолжит использовать тот же самый номер порта для последующих подключений. Каждый раз, когда маршрутизатор обращается к записи в таблице трансляций сбрасывается таймер жизни этой записи. Если к записи не обращаются прежде, чем таймер истекает, она удаляется из таблицы
Число одновременных трансляций, которые маршрутизатор будет поддерживать, определяется главным образом количеством DRAM (Динамическая Память Произвольного доступа). Так как типичная запись в таблице трансляций занимает приблизительно 160 байт, маршрутизатор с 4 Мбайтами RAM может теоретически обработать 26214 одновременных соединений, что является более чем достаточно для большинства приложений.
Безопасность и Администрирование
Реализация динамического NAT автоматически создает межсетевую защиту между вашей внутренней сетью и внешними сетями или Интернет. Динамический NAT позволяет только подключения, которые порождаются в локальной сети. По существу, это означает, что компьютер на внешней сети не может соединиться с вашим компьютером, если ваш компьютер не начал соединение. Таким образом, вы можете работать в Интернете и соединиться с сайтом, и даже выгрузить файл. Но больше никто не может просто покуситься на ваш IP адрес и использовать его, чтобы соединиться с портом на вашем компьютере.
Статический NAT, также называемый входным мапингом (inbound mapping), позволяет подключения, инициированные внешними устройствами к компьютерам в LAN при определенных обстоятельствах. Например, вы можете отобразить внутренний глобальный адрес на определенный внутренний локальный адрес, который назначен на ваш Web-сервер.
Статический NAT позволяет компьютеру в LAN поддерживать определенный адрес, общаясь с устройствами вне сети:
Некоторые NAT маршрутизаторы предусматривают обширную фильтрацию и логирование трафика. Фильтрация позволяет вашей компании контролировать, какие сайты на Сети посещают работники, препятствуя им просматривать сомнительный материал. Вы можете использовать регистрацию трафика, чтобы создать журнал, какие сайты посещаются и на основании этого генерировать различные отчеты.
Иногда Сетевую Трансляцию Адресов путают с прокси-серверами, где есть определенные различия. NAT прозрачен для компьютеров источника и приемника. Никто из них не знает, что это имеет дело с третьим устройством. Но прокси сервер не прозрачен. Исходный компьютер знает, что это делает запрос на прокси. Компьютер адресата думает, что прокси сервер - это исходный компьютер и имеет дело с непосредственно ним. Кроме того, прокси-серверы обычно работают на уровне 4 (Transport) модели OSI или выше, в то время как NAT – это протокол уровня 3 (Network) . Работа на более высоких уровнях делает прокси-серверы медленнее чем NAT устройства в большинстве случаев.
Реальная выгода NAT очевидна в сетевом администрировании. Например, Вы можете переместить ваш Web-сервер или сервер FTP к другому компьютеру, не волнуясь о разорванных соединениях. Просто измените входной мапинг на новый внутренний локальный адрес в маршрутизаторе, чтобы отразить новый хост. Вы можете также делать изменения в вашей внутренней сети так как любой ваш внешний IP адрес либо принадлежит маршрутизатору либо пулу глобальных адресов.
В наших квартирах все больше и больше появляется разных цифровых устройств — ноутбуков, планшетов и смартфонов. Пока компьютер в квартире был один и подключен напрямую к сети провайдера — не возникало вопросов. А теперь, когда перед Вами встала проблема — как подключить теперь новый ноутбук или планшет к Интернету. Вот тут на помощь и приходит технология NAT
. В чем суть технологии NAT?
NAT
— Network Address Translation
— в переводе на русский звучит примерно так: «преобразование сетевых адресов». NAT
- это механизм в сетях TCP/IP, который позволяет преобразовывать IP-адреса транзитных пакетов.
Если выражаться простым языком — то если есть несколько компьютеров в локальной сети, то благодаря технологии NAT
все они могут выходить во внешнюю сеть Интернет используя при этом один внешний айпи адрес
(IP
).
Что такое IP-адрес?
Маршрутизатор — роутер — работает на третьем уровне системы OSI, соответственно используется протокол IP — маршрутизируемый протокол сетевого уровня стека TCP/IP. Неотъемлемой частью протокола является адресация сети. В соответствии с имеющимися правилами — всем устройствам в сети назначаются IP-адреса (Ай-Пи адреса ) — уникальные сетевые идентификаторы адреса узла. Используется 2 типа IP-адресов — серые и белые . Серые адреса — это часть адресного пространства, выделенная под локальную сеть — подсети IP-адресов 10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16 . Все остальные подсети используются в сети Интернет и являются белыми IP-адресами.
Как обеспечить общий доступ в Интернет для устройств в сети.
Для того, чтобы подключить к Интернет все устройства в локальной сети Вам понадобиться роутер . Роутер — это устройство, которое умеет подключаться через сеть провайдера к Интернет и раздавать его на подключенные устройства благодаря тому, что у него есть как минимум 4 LAN-порта и Wi-Fi модуль . Не путайте роутер с простым Ethernet-свитчем, который по сути является тупым «разветвителем» сети. Благодаря тому, что на роутере установлена операционная UNIX-подобная система, на устройстве можно поднимать различные сервисы, в том числе и сервис NAT . Для этого при настройке роутера ставиться галочка Enable NAT .
А дальше роутер на каждый запрос, который через него проходит, ставит определенную метку, содержащую данные о отправителе в локальной сети. Когда на этот запрос приходит ответ, роутер по метке определяет к какому IP-адресу в локальной сети отправить пакет. Вот собственно и весь принцип работы технологии NAT в двух словах .
NAT или трансляция сетевых адресов является способом переназначения одного адресного пространства в другой путем изменения информации сетевых адресов в Internet Protocol или IP. Заголовки пакетов меняются в то время, когда они находятся в пути через устройства маршрутизации. Данный метод использовался первоначально для более простого перенаправления трафика в сетях IP без необходимости нумерации каждого хоста. Он стал важным и популярным инструментом для распределения и сохранения глобального адресного пространства в условиях острого недостатка адресов IPv4.
Что такое NAT?
Использование трансляции сетевых адресов заключается в отображении каждого адреса из одного адресного пространства к адресу, который находится в другом адресном пространстве. Это может понадобиться в том случае, если изменился провайдер услуг, а у пользователя нет возможности публично объявить новый маршрут к сети. Технология NAT в условиях глобального истощения адресного пространства с конца 90-х годов используется все чаще. Обычно данная технология используется в сочетании с IP-шифрованием. IP-шифрование представляет собой метод перехода нескольких IP адресов в одно пространство. Данный механизм реализован в устройстве маршрутизации, использующем таблицы перевода с сохранением состояния для отображения в один IP адрес скрытых адресов. Также он перенаправляет на выходе все исходящие пакеты IP. Таким образом, данные пакеты отображаются выходящими из устройства маршрутизации. Ответы в обратном канале связи отображаются в исходном IP адресе при помощи правил, которые хранятся в таблицах перевода. В свою очередь таблицы перевода очищаются по истечении короткого времени, если трафик не обновит свое состояние. Вот в чем заключается основной механизм NAT. Что же это означает? Данная технология позволяет организовывать связь через маршрутизатор только в том случае, когда соединение происходит в зашифрованной сети, так как это создает таблицы перевода. Внутри такой сети веб-браузер может просматривать сайт за ее пределами, однако будучи установленным вне ее, он не может открыть ресурс, который в ней размещен. Большинство устройств NAT сегодня позволяют сетевому администратору конфигурировать записи таблицы перевода для постоянного применения. Данная функция особенно часто упоминается как перенаправление портов или статическая NAT. Она дает возможность трафику, исходящему во «внешнюю» сеть, достичь назначенных хостов в зашифрованной сети. Из-за того, что метод, используемый с целью сохранения адресного пространства IPv4 пользуется популярностью, термин NAT практически стал синонимом метода шифрования. Так как трансляция сетевых адресов меняет информацию об адресе IP-пакетов, это может иметь серьезные последствия для качества подключения. Так что она требует пристального внимания ко всем деталям реализации. Способы использования NAT друг от друга отличаются в своем конкретном поведении в различных ситуациях, которые касаются влияния на сетевой трафик.
Базовая NAT
Простейший тип NAT позволяет обеспечить трансляцию IP-адресов «один-к-одному». Основным типом данной трансляции является RFC-2663. В данном случае меняются только IP-адреса, а также контрольная сумма заголовков IP. Можно использовать основные типы трансляции для соединения двух сетейIP, имеющих несовместимую адресацию.
Большая часть разновидностей NAT способна сопоставить несколько частных хостов к одному IP-адресу, который публично обозначен. Локальная сеть в типичной конфигурации использует один из назначенных «частных» IP-адресов подсети. В этой сети маршрутизатор имеет частный адрес в пространстве. Также маршрутизатор подключается к интернету при помощи «публичного адреса», который присваивается провайдером интернета. Поскольку трафик проходит из локальной сети Интернет, то адрес источника в каждом пакете переводится из частного в публичный на лету. Также маршрутизатор отслеживает основные данные о каждом активном соединении. В частности, это касается такой информации, как адрес и порт назначения. Когда ответ возвращается к нему, он использует данные соединения, которые сохраняются во время выездного этапа. Это необходимо для того, чтобы определить частный адрес внутренней сети, к которому нужно направить ответ. Основным преимуществом такого функционала является то, что он является практическим решением проблемы исчерпания адресного пространства IPv4. С помощью одного IP-адреса к интернету могут быть подключены даже крупные сети. Все дейтаграммы пакетов в IP сетях имеют два IP адреса – это исходный адрес и адрес пункта назначения. Пакеты, проходящие из частной сети к сети общего пользования, будут иметь адрес источника пакетов, который изменяется во время перехода от публичной сети к частной. Также возможны и более сложные конфигурации.
Особенности настройки NAT
Настройка NAT может иметь определенные особенности. Чтобы избежать трудностей, связанных с переводом возвращенных пакетов, могут потребоваться их дальнейшие модификации. Большая часть интернет-трафика будет идти через протоколы UDP иTCP. Их номера изменяются таким образом, что адреса IP и номера порта при обратной отправке данных начинает сопоставляться. Протоколы, которые не основаны на UDP или TCP, требуют других методов перевода. Как правило, ICMP или протокол управления сообщения в сети интернет, соотносит передаваемую информацию с имеющимся соединением. Это значит, что они должны отображаться с использованием того же адреса IP и номера, который был установлен изначально. Что же необходимо учитывать? Настройка NAT в роутере не предоставляет ему возможности соединения «из конца в конец». По этой причине такие маршрутизаторы не могут участвовать в некоторых интернет-протоколах. Услуги, требующие инициации соединений TCP от внешней сети или пользователей без протоколов, могут быть просто недоступны. Если NAT маршрутизатор не делает особых усилий для поддержки таких протоколов, то входящие пакеты могут так и не достичь места назначения. Некоторые протоколы могут быть размещены в одной трансляции между участвующими хостами иногда при помощи шлюза прикладного уровня. Однако соединение не будет установлено, когда обе системы при помощи NAT отделены от сети Интернет. Также использование NAT усложняет туннельные протоколы, типа IPsec, так как она меняет значения в заголовках, которые взаимодействуют с проверками целостности запросов.
NAT: существующая проблема
Основным принципом интернета является соединение «из конца в конец». Оно существует с момента его разработки. Текущее состояние сети только доказывает, что NAT является нарушением данного принципа. В профессиональной среде имеется серьезная озабоченность, связанная с повсеместным использованием в IPv6 трансляции сетевых адресов. Таким образом, сегодня поднимается вопрос о том, как можно устранить эту проблему. Из-за того, что таблицы, сохраняющие состояние трансляции в маршрутизаторах NAT по своей природе не вечны, устройства внутренней сети утрачивают соединение IP в течение очень короткого временного периода. Нельзя забывать об этом обстоятельстве говоря о том, что собой представляет NAT в роутере. Это значительно сокращает время работы компактных устройств, которые работают на аккумуляторах и батарейках.
Масштабируемость
При использовании NAT также отслеживаются только те порты, которые могут быть быстро истощены внутренними приложениями, которые используют несколько одновременных соединений. Это могут быть HTTP запросы для страниц с большим количеством встроенных объектов. Смягчить данную проблему можно путем отслеживания IP адреса в назначениях в дополнение к порту. Один локальный порт таким образом может быть разделен большим количеством удаленных хостов.
NAT: некоторые сложности
Так как все внутренние адреса оказываются замаскированными под один общедоступный, для внешних хостов невозможно инициировать подключение к определенному внутреннему узлу без настройки специальной конфигурации на брандмауэре. Данная конфигурация должна перенаправлять подключения к определенному порту. Приложения для IP-телефонии, видеоконференций и подобные сервисы для своего нормального функционирования должны использовать методы обхода NAT. Порт перевода Raptи обратный адрес позволяет хосту, у которого IP адрес меняется время от времени, оставаться доступным в качестве сервера при помощи фиксированного IP адреса домашней сети. Это в принципе должно позволить настройке серверов сохранять соединение. Несмотря на то, что такое решение проблемы является не идеальным, это может стать еще одним полезным инструментом в арсенале сетевого администратора при решении задач, связанных с настройкой на роутере NAT.
PAT или Port Address Translation
Port Address Translation является реализацией Cisco Rapt, которая отображает несколько частных IP адресов в виде одного публичного. Таким образом, несколько адресов могут быть отображены как адрес, потому что каждый из них отслеживается при помощи номера порта. PAT использует уникальные номера портов источника на внутреннем глобальном IP, чтобы различать направление передачи данных. Данными номерами являются целые 16-разрядные числа. Общее число внутренних адресов, которые могут быть переведены на один внешний адрес, теоретически может достигать 65536. В реальности же количество портов, на которые может быть назначен единый адрес IP, составляет примерно 4000. PAT, как правило, пытается сохранить исходный порт «оригинала». В том случае, если он уже используется Port Address Translation назначает первый доступный номер порта, начиная с начала соответствующей группы. Когда доступных портов не остается и есть более одного внешнего IP адреса, PAT переходит к следующему для выделения исходного порта. Данный процесс будет продолжаться до тех пор, пока доступные данные не закончатся. Служба Cisco отображает адрес и порт. Она сочетает в себе адрес порта перевода и данные туннелирования пакетов IPv4 по внутренней сети IPv6. По сути это альтернативный вариант Carrier Grade NAT и DS-Lite, который поддерживает IP трансляции портов и адресов. Это позволяет избежать проблем, связанных с установкой и поддержанием соединения. Также это позволяет обеспечить механизм перехода для развертывания IPv6.
Методы перевода
Известно несколько основных способов реализации перевода сетевого адреса и порта. В определенных прикладных протоколах требуется определить внешний адрес NAT, используемый на другом конце соединения. Также часто необходимо изучить и классифицировать тип передачи. Как правило, это делается потому, что желательно между двумя клиентами, находящимися за отдельными NAT, создать прямой канал связи. Для этой цели был разработан специальный протокол RFC 3489, который обеспечивает простой обход UPD через NATS. Он на сегодняшний день уже считается устаревшим, так как в наши дни такие методы считаются недостаточными для правильной оценки работы устройств. В 2008 году был разработан протокол RFC 5389, в котором были стандартизованы новые методы. Данная спецификация сегодня называется Session Traversal. Она представляет собой специальную утилиту, предназначенную для работы NAT.
Создание двусторонней связи
Каждый пакет UDP и TCP содержит IP адрес источника и его номер порта, а также координаты конечного порта. Номер порта имеет очень важное значение для получения таких общедоступных услуг, как функционал почтовых серверов. Так, например, порт 25 подключается к SMTP почтового сервера, а порт 80 подключается к программному обеспечению веб-сервера. Существенное значение имеет также и IP адрес общедоступного сервера. Данные параметры должны быть достоверно известны тем узлам, которые намерены установить соединение. Частные IP адреса имеют значение только в локальных сетях.
И просматриваете страницы WEB сайта. Велика вероятность того, что именно сейчас вы пользуетесь преобразованием сетевых адресов (NAT).
Никто не мог предвидеть такого разрастания Интернета, какое мы наблюдаем сегодня. Хотя точные его размеры неизвестны, оценки показывают, что в Интернете имеется приблизительно 100 миллионов активных узлов и более 350 миллионов пользователей. Темпы роста Интернета таковы, что его размер ежегодно удваивается.
Какое же отношение имеет преобразование сетевых адресов к размерам Интернета? Самое непосредственное! Чтобы данный компьютер мог связываться с другими компьютерами и WEB серверами по Интернету, у него должен быть собственный IP адрес. IP адрес (IP значит протокол Интернета) представляет собой уникальное 32-битовое число, обозначающее место данного компьютера в сети. В принципе, он функционирует, как ваш домашний адрес - это способ точно найти местоположение вашего компьютера и доставить вам информацию.
IP адресация
Когда впервые появилась IP адресация, все считали, что адресов достаточно для того, чтобы удовлетворить любые потребности. Теоретически может быть в общей сложности 4 294 967 296 уникальных адресов (232). Фактическое количество доступных для использования адресов несколько меньше (приблизительно между 3.2 и 3.3 миллиардами), что объясняется особенностями разбиения адресов на классы и тем, что определенные адреса резервируются для многоадресной рассылки, тестирования и других специальных нужд.
В условиях взрывного разрастания Интернета, роста домашних и корпоративных сетей, имеющихся IP адресов попросту не хватает. Очевидное решение - изменить формат адреса, чтобы в наличии было больше адресов. Такая система развертывается (она называется IPv6), однако для ее внедрения потребуется несколько лет, потому что при этом нужно модернизировать всю структуру Интернета.
На выручку приходит система NAT (RFC 1631). Преобразование сетевых адресов позволяет одному устройству, например, маршрутизатору, выполнять функции посредника между Интернетом (или «публичной сетью») и локальной (или «частной») сетью. Это значит, что для представления целой группы компьютеров требуется только один уникальный IP адрес.
Однако недостаток IP адресов - лишь одна из причин, по которым используют NAT. Наша статья посвящена преимуществам и особенностям этой системы. Сначала рассмотрим более подробно, что такое NAT и как эта система работает…
Принцип работы системы NAT
Система NAT похожа на секретаря в большом офисе. Допустим, вы дали ему инструкцию не соединять вас ни с кем, кто бы ни звонил по телефону, пока вы не дадите разрешение на такие действия. Позже вы звоните потенциальному клиенту и оставляете ему сообщение о том, чтобы он вам перезвонил. Вы сообщаете секретарю, что ждете звонка от клиента и приказываете обеспечить соединение, когда тот позвонит.
Клиент набирает главный телефонный номер офиса, потому что ему известен только этот номер. Клиент сообщает секретарю, что он хочет связаться с вами, секретарь сверяется по справочной таблице, где указано ваше имя и ваш добавочный телефонный номер. Секретарь знает, что вы разрешили скоммутировать этого клиента, поэтому коммутирует вызывающую сторону на ваш добавочный номер.
Система преобразования сетевых адресов
Система преобразования сетевых адресов, разработанная компанией Cisco, используется устройством ( , маршрутизатором или компьютером), соединяющим внутреннюю сеть с остальным миром. Преобразование сетевых адресов может иметь разные формы и может работать разными способами:
- Статическое преобразование сетевых адресов - преобразование незарегистрированного IP адреса в зарегистрированный IP адрес по принципу «один к одному». Особенно полезно, когда требуется доступ к устройству из-за пределов локальной сети.
- Динамическое преобразование сетевых адресов - преобразование незарегистрированного IP адреса в зарегистрированный IP адрес из группы зарегистрированных IP адресов.
- Перегрузка - форма динамического преобразования, преобразующая много незарегистрированных IP адресов в один зарегистрированный адрес за счет использования различных портов. Эту процедуру еще называют PAT (Port Address Translation, преобразование портов и адресов), одноадресным NAT или мультиплексированным NAT на уровне портов.
- Совпадение - когда используемые в вашей сети адреса являются зарегистрированными IP адресами, используемыми в другой сети, маршрутизатор должен вести таблицу преобразования таких адресов, перехватывать их и заменять зарегистрированными уникальными IP адресами. Важно отметить, что маршрутизатор NAT должен преобразовывать «внутренние» адреса в зарегистрированные уникальные адреса, а также «внешние» зарегистрированные адреса в адреса, которые являются уникальными в частной сети. Такая операция может осуществляться с использованием статического преобразования сетевых адресов, либо сервиса доменных имен (DNS) и внедрения динамического преобразования сетевых адресов.
Внутренняя сеть обычно представляет собой локальную сеть (LAN, Local Area Network), которую иногда называют тупиковым доменом (stub domain). Тупиковый домен - это локальная сеть, внутри которой используются IP адреса. Большинство сетевого трафика в тупиковом домене локальное и не выходит за пределы внутренней сети. Тупиковый домен может содержать как зарегистрированные, так и незарегистрированные IP адреса. Разумеется, все компьютеры, которым присвоены незарегистрированные IP адреса, для связи с остальным миром должны пользоваться преобразованием сетевых адресов.
NAT можно настраивать различными способами. В приводимом ниже примере маршрутизатор NAT настроен так, что преобразует незарегистрированные (внутренние, локальные) IP адреса, применяемые в частной (внутренней) сети, в зарегистрированные IP адреса. Эта процедура выполняется каждый раз, когда устройству с незарегистрированным адресом во внутренней сети требуется связаться с сетью общего пользования (внешней).
- Интернет-провайдер закрепляет за вашей компанией ряд IP адресов. Адреса из закрепленной группы являются зарегистрированными IP адресами и называются внутренними глобальными адресами. Незарегистрированные, частные IP адреса разделяются на две группы. Одна небольшая группа (внешние локальные адреса) используется маршрутизаторами NAT. Вторая, значительно большая группа, которую называют внутренними локальными адресами (inside local addresses), используется в тупиковом домене. Внешние локальные адреса используются для формирования уникальных IP адресов устройств, называемых внешними глобальными адресами, для выхода в публичную сеть.
- Большинство компьютеров тупикового домена обменивается информацией друг с другом, используя внутренние локальные адреса.
- Некоторые компьютеры тупикового домена часто связываются с устройствами за пределами локальной сети. Эти компьютеры имеют внутренние глобальные адреса, которые не требуют преобразования.
- Когда компьютеру тупикового домена с внутренним локальным адресом нужно связаться с компьютером за пределами локальной сети, пакет направляется к одному из маршрутизаторов NAT.
- Маршрутизатор NAT сверяется с таблицей маршрутизации для выяснения, есть ли запись для адреса назначения. Если такая запись имеется, маршрутизатор NAT преобразует пакет и создает для него запись в таблице трансляции адресов. Если адреса назначения в таблице маршрутизации нет, пакет игнорируется.
- Используя внутренний глобальный адрес, маршрутизатор отправляет пакет к пункту назначения.
- Компьютер в публичной сети отправляет пакет в частную сеть. Адресом отправителя пакета является внешний глобальный адрес. Адресом назначения является внутренний глобальный адрес.
- Маршрутизатор NAT сверяется с таблицей трансляции адресов и определяет, что здесь имеется адрес назначения, соотносящийся с компьютером в тупиковом домене.
- Маршрутизатор NAT преобразует внутренний глобальный адрес пакета во внутренний локальный адрес и отправляет пакет к соответствующему компьютеру.
Перегрузка NAT
Перегрузка NAT использует функцию пакета протоколов TCP/IP, мультиплексирование, позволяющую компьютеру создавать с одним или несколькими удаленными компьютерами несколько одновременных соединений с применением различных портов TCP или UDP. Пакет IP содержит заголовок, в котором имеется следующая информация:
- Адрес источника - IP адрес компьютера-отправителя, например, 201.3.83.132
- Порт отправителя - номер порта TCP или UDP, назначенный компьютером-отправителем для данного пакета, например, порт 1080
- Адрес получателя - IP адрес компьютера-получателя, например, 145.51.18.223
- Порт назначения - номер порта TCP или UDP, который компьютер-отправитель требует открыть у компьютера-получателя, например, порт 3021.
Адреса указывают две машины на каждом конце, а номера портов обеспечивают уникальный идентификатор для соединения между двумя компьютерами. Комбинацией этих четырех чисел определяется одно соединение TCP/IP. В каждом номере порта используется 16 бит, а это значит, что возможно 65 536 (216) значений. На практике, с учетом того, что разные производители сопоставляют порты немного по-разному, можно ожидать, что доступными будут приблизительно 4 000 портов.
Всем привет сегодня мы поговорит как настроить на Cisco NAT. Что такое NAT и для чего он вообще нужен, так как этот функционал давно и плотно вошел в нашу повседневную жизнь и сейчас очень сложно себе представить, хотя бы одно предприятие, в котором бы не использовалась данная технология. В свое время она спасла интернет и сильно отсрочила, переход с ipv4 на ipv6, но обо всем по порядку.
Что такое NAT
NAT (Network Address Translation ) это механизм преобразование сетевых адресов, если по простому, то это технология которая позволяет за одним белым ip сидеть куче частных или серых ip. Примером моет быть офисный интернет, где все пользователи сидят через общий шлюз, на котором настроен ip адрес выходящий в интернет, что у пользователей настроены локальные ip адреса.
Выглядит это приблизительно вот так

Виды NAT
- Статический NAT - преобразование серого ip в белый, пример проброс порта в локальную сеть, например RDP
- Динамический NAT - преобразование серого ip в один из ip адресов группы белых ip адресов
- Перегруженный NAT или как его называют еще PAT (port Adress translation), преобразование нескольких серых ip в белый, давая им разные порты.
Сегодня мы рассмотрим статических NAT и PAT.
Настройка NAT Cisco
Вот как выглядит схема маленького офиса. У нас есть 3 компьютера в vlan 2, есть сервер в отдельном vlan 3. Все это добро подключено в коммутатор второго уровня cisco 2660, который в свою очередь воткнут в роутер Cisco 1841, который маршрутизирует локальный трафик между vlan 2 и 3.

Настройка Cisco 2960
Создадим vlan 2 и vlan3, зададим им имена и настроим нужные порты на эти vlan.
enable
conf t
создаем vlan 2
vlan 2
name VLAN2
exit
создаем vlan 3
vlan 3
name VLAN3
exit
Помещаем порты в vlan2
int range fa0/1-3
switchport mode access
switchport access vlan 2
exit
Помещаем порт в vlan3
int fa 0/4
switchport mode access
switchport access vlan 3
exit

int fa 0/5
switchport mode trunk
switchport trunk allowed vlan 2,3
do wr mem
Настройка Cisco 1841
Первым делом создадим sub интерфейсы и поднимем порт.
enable
conf t
int fa0/0
no shutdown
exit
int fa0/0.2
encapsulation dot1Q 2
ip address 192.168.2.251 255.255.255.0
no shutdown
exit
int fa0/0.3
encapsulation dot1Q 3
ip address 192.168.3.251 255.255.255.0
no shutdown
exit
В итоге порт загорелся зеленым

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

Настроим на нашем тестовом провайдерском роутере этот ip.
en
conf t
int fa0/0
ip address 213.235.1.1 255.255.255.252
no shutdown
exit

настроим порт fa0/1 который смотрим на сервер, и зададим ему другой белый ip 213.235.1.25 255.255.255.252
int fa0/1
ip address 213.235.1.25 255.255.255.252
no shutdown
exit

Сервер у меня будут иметь ip адрес 213.235.1.26 и шлюзом будет 213.235.1.25, интерфейс роутера провайдера смотрящего на сервер.

Теперь произведем настройку нашего локального роутера Router0, настроим на нем выделенный нам провайдером белый ip адрес 213.235.1.2 255.255.255.252, шлюзом будет 213.235.1.1
enable
conf t
int fa0/1
ip address 213.235.1.2 255.255.255.252
no shutdown
exit
ip route 0.0.0.0 0.0.0.0 213.235.1.1
exit
wr mem

Пробуем пропинговать с офисного роутера ip адреса провайдера и сервера, и видим что все отлично работает.
Router#ping 213.235.1.1
Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms
Router#ping 213.235.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 213.235.1.1, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms
Router#ping 213.235.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 213.235.1.2, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/9/17 ms
Router#ping 213.235.1.25
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 213.235.1.25, timeout is 2 seconds:
Router#ping 213.235.1.26
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 213.235.1.26, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/0 ms

Ну и само натирование. На локальном роутере выполняем следующее. Теперь нам нужно задать какой интерфейс nat будет считать внешним, а какой внутренним, тут все просто внешним будет то где настроен белый ip адрес провайдера, внутренним то что соединен с коммутатором второго уровня. fa0/1 будет внешним, а два sub интерфейса внутренними.
enable
conf t
int fa0/1
ip nat outside
exit
int fa0/0.2
ip nat inside
int fa0/0.3
ip nat inside
exit
Настройка Access List
Access List список, какой трафик нужно натировать, а какой должен работать без NAT.
Создаем список доступа по имени NAT
ip access-list standard NAT
Разрешаем два пула
permit 192.168.2.0 0.0.0.255
permit 192.168.3.0 0.0.0.255
0.0.0.255 это Wildcard bits
как видим, у нас в конфиге появился список доступа и помечены порты какие outside, а какие inside.

И вводим еще одну волшебную команду, где говорит что трафик пришедший на fa0/1 нужно натить по правилу NAT. В итоге мы настроили PAT.
ip nat inside source list NAT interface fa0/1 overload
Сохраняем все do wr mem
проверим с компьютера локальной сети доступность внешних ресурсов. Посмотрим текущие конфигурации командой ipconfig, видим ip адрес 192.168.2.1, пропингуем 213.235.1.26, как видите все ок и NAT cisco работает.


