Hairpin NAT

Hairpin NAT

Aleksandr Kolenko

Всем привет!

Обращение к Вам не по теме поста)

Дорогие друзья, уверен Вы знаете, что каналы подобно нашему с трудом набирают подписчиков, так как контент довольно специфичный-«технарский». Тем не менее есть люди (наши с Вами коллеги) кому этот канал будет интересен. Большая просьба поддержите канал своей рекомендацией людям из Вашего окружения, интересующимся телекоммуникациями, IT и развитием в этой области. Чем больше Вас, тем больше мотивации о чем-то писать. На самом деле есть много информации которой хочется делится, но к сожалению, не всегда есть время. Из тем на будущее: продолжаем про сети и системное администрирование, добавляем темы про собеседования (по обе стороны) и психологическую составляющую этого процесса, реальные з/п в Москве и регионах, подготовка к экзаменам CCNA и CCNP тоже продолжается и по этой теме в ближайшем будущем тоже появится интересные кейсы и советы, физическое развитие и спортивные увлечения как способ бороться со стрессом и не перегореть в профессии, изучение английского. Также не стесняйтесь, пишите в комментариях или чате канала Ваши вопросы, дельные советы, делитесь опытом. Спасибо, что с нами – stay tuned!)

Ну а пока некоторые из Вас ждут поста Часть 3 про то как там в локальной сети ЦОД вот Вам интересаня тема про "шпильки". Hairpin - с английского переводится как шпилька, заколка. При чем здесь шпильки и заколки? Если интересно читаем)

Hairpin NAT - это когда требуется попасть из локальной сети на локальный же ресурс, но на маршрутизаторе трафик обрубается.Возможно вы знаете hairpin NAT под названиями NAT Reflection, NAT Loopback или NAT-on-a-Stick.В каких случаях может вообще понадобится этот hairpin NAT? К примеру сервер мониторинга и web сервер опубликованный в интеренет находятся в одном сегменте сети. Задача мониторить доступность web сервера по его public FQDN. Прошу заметить, что речь идет не просто о доступе локальных пользователей к web серверу, тут все решается с помощью split DNS. Тут речь о использовании публичного FQDN с целью A-проверить, что публичный DNS в работе, Б-что dst-nat и port-forwarding отрабатывает на внешнем интерфейсе с public IP (может использоваться как PAT, так и static NAT) В чем собственно проблема? А проблему лучше всего показать на схеме - Рисунок 1

Рисунок 1

Этап 1

Компьютер с адреса 192.168.0.5 пытается установить соединение с адресом 1.1.1.1 по 80 порту и отправляет пакет на маршрутизатор.

Этап 2

На маршрутизаторе срабатывает правило dst-nat, в результате чего адрес назначения пакета меняется на 192.168.0.10, и пакет отправляется на www-сервер 192.168.0.10.

Этап 3

Узел 192.168.0.10 получив пакет с адресом источника 192.168.0.5, определяет, что они оба находятся в одной локальной сети и отвечает ему напрямую, минуя маршрутизатор.

Проблема

Компьютер, отправив пакет на адрес 1.1.1.1, вдруг получает ответ с адреса 192.168.0.10. Естественно этот пакет он игнорирует и соединение не устанавливается.

Решение

Чтобы решить эту проблему, необходимо, чтобы www-сервер получил пакет у которого адрес источника будет равен адресу маршрутизатора. Для этого используется src-nat, он же Маскарадинг. Получаем такую вот схему - Рисунок 2

Рисунок 2

Работа схемы

Этап 1

Компьютер с адреса 192.168.0.5 пытается установить соединение с адресом 1.1.1.1 по 80 порту и отправляет пакет на маршрутизатор.

Этап 2

На маршрутизаторе срабатывает правило dst-nat, в результате чего адрес назначения пакета меняется на 192.168.0.10 и правило src-nat, где адрес источника пакета меняется на адрес интерфейса маршрутизатора (192.168.0.1). После чего пакет отправляется на www-сервер 192.168.0.10.

Этап 3

Узел 192.168.0.10 получив пакет с адресом источника 192.168.0.1 (адрес маршрутизатора), определяет, что они оба находятся в одной локальной сети и отвечает ему. В результате чего пакет попадает на маршрутизатор

Этап 4 

Connection Tracker маршрутизатора получив такой пакет выполняет обратное преобразование адресов. Компьютер получает ожидаемый ответ с адреса 1.1.1.1

Вот такая схема трансляции адресов и является Hairpin NAT.

В данных схемах описывается процесс с точки зрения концепции. Реализация у разных вендоров разная. Данная информация взята для наглядности из статьи:
https://spw.ru/educate/articles/natpart5/. В ней вы вы найдете подробности реализации hairpin NAT указыных схем на оборудовании Mikrotik.

Мы же столкнулись с подобной задачей, а реализовать потребовалась на оборудовании FortiGate 501E. Статья по реализации hairpin NAT на фортиках:
https://kb.fortinet.com/kb/documentLink.do?externalID=FD36202


Читайте так же:
Часть 1 - Внешние сети связи (линии привязки)
Часть 2 - BGP стыки с операторами, PA и PI адресах, автономные системы


P.S. Не забудьте о просьбе) Вот ссылка на наш канал -> https://t.me/info_comm


Report Page