Hairpin NAT Mikrotik — доступ ко внутреннему ресурсу по внешнему IP

Научиться настройке MikroTik можно на онлайн курсе по оборудованию этого производителя. Автор курса является сертифицированным тренером MikroTik. Подробней Вы можете прочитать в конце статьи.

Согласитесь, что нечасто сталкиваемся с термином Hairpin NAT MikroTik. Когда просишь коллегу объяснить смысл, а он в ответ предлагает погуглить. Но ситуация интересная: быстро найти хорошее объяснение данной модели непросто. Предлагаю разбираться вместе для чего придуман этот набор букв.

NAT

Обычное преобразование сетевых адресов всем известно, так? Если вдруг кто то забыл, напоминаю:

Для того, чтобы каждый компьютер мог обмениваться с другими устройствами в сети Интернет ему нужен “белый” IP адрес, коих всего в мире насчитывается 2^32=4294967296, но если исключить зарезервированные сети, то и того меньше. Так для выхода в сеть Интернет обычно провайдеры предоставляют ограниченное количество IPv4 адресов, то был разработан механизм подмены NAT внутренних IP адресов из сетей: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/24 на внешний IP адрес.

Но что, если мы хотим получить доступ к внутреннему ресурсу с использованием общедоступного IP? Может ли NAT помочь нам сделать это? Короткий ответ ДА! Для этого есть несколько названий, но общими являются NAT Reflection, NAT Loopback, NAT Hairpinning или NAT-on-a-Stick. Как видно, разные поставщики называют эту технику разными именами, но концепция одна и та жетакая же.

Коллеги попросили настроить возможность обращения из локальной сети ко внутреннему корпоративному серверу по внешнему dns-имени. Настроил перенаправление портов на маршрутизаторе Mikrotik, который переводит каждый запрос с внешнего IP-адреса 12.12.12.12 порт 56789 на локальный IP-адрес и тот же порт.

Поскольку у меня задано DNS-имя (application.company.com) для внешнего IP-адреса WAN (12.12.12.12), я бы хотел, чтобы это правило также работало из внутренней сети:

172.16.222.11 -> 12.12.12.12:56789 -> 172.16.222.2:56789

Настройка правил на маршрутизаторе для Hairpin NAT Mikrotik

Решение задачи состоит в том, чтобы переписать переадресацию порта на правило, чтобы не использовать in-interface=ether1-gateway, а dst-address-type=local:

/ip firewall nat add chain=dstnat dst-address-type=local protocol=tcp dst-port=56789 \ action=dst-nat to-address=172.16.222.2 to-port=56789

Затем добавим правило Hairpin NAT Mikrotik:

/ip firewall nat add chain=srcnat src-address=172.16.222.0/24 \ dst-address=172.16.222.2 protocol=tcp dst-port=56789 \ out-interface=bridge-local action=masquerade

Задача выполнена, несогласных жду в комментариях.

MikroTik: куда нажать, чтобы заработало? При всех своих достоинствах, есть у продукции компании MikroTik один минус – много разобщенной и далеко не всегда достоверной информации о ее настройке. Рекомендуем проверенный источник на русском языке, где все собрано, логично и структурировано – видеокурс «Настройка оборудования MikroTik». В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. Все материалы остаются у вас бессрочно. Начало курса можно посмотреть бесплатно, оставив заявку на странице курса. Автор курса является сертифицированным тренером MikroTik.

Предыдущая запись Перенаправление трафика через VPN Mikrotik с помощью mangle rules Следующая запись Пошаговое руководство по SSH аутентификации с использованием открытых ключей RSA и DSA на маршрутизаторе MikroTik

Оцените статью
Информационный ресурс для любителей компьютеров и IT технологий