Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Почему (не) стоит использовать Hairpin NAT

    Почему (не) стоит использовать Hairpin NAT

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Почему (не) стоит использовать Hairpin NAT, RouterOS
     
    Jotne
    Guest
    #1
    0
    31.12.2018 08:33:00
    Я всегда использовал локальный DNS-сервер, чтобы получать доступ к своим серверам, которые находятся за NAT из интернета. Всё просто и работает отлично. Например, если мой веб-сервер – video.myserver.com с локальным IP 192.168.100.50, то для внешних пользователей в публичной DNS-записи будет прописан IP 82.xx.xx.xx, а в локальной DNS-записи – 192.168.100.50. Для каждого сервиса добавляешь одну строку (DNS), без изменений в настройках NAT.

    Если вы настраиваете Hairpin NAT и у вас динамический внешний IP, тогда нужно использовать облачные функции (или другую систему dyndns) и переделывать всю вашу NAT-настройку, чтобы это работало.

    Пример видео: https://www.youtube.com/watch?v=_kw_bQyX-3U

    Также нашёл хороший комментарий от thirdstreetzero на reddit:  
    Это ломает кучу основных стандартов и норм, не говоря уже о статистике, безопасности, таких вещах, как fasttrack и т.п. Это усложняет смену текущей конфигурации. Для будущих администраторов это будет невозможно понять, потому что так делать не стоит, а без подробных объяснений это обычно приводит к путанице и дополнительной работе, особенно если есть очереди или манипуляции с пакетами. Представьте, что вы хотите попасть в гостиную, но для этого вам нужно выйти через заднюю дверь, обойти квартал и войти через входную дверь. Если кажется, что это слишком громко сказано, попробуйте изобразить то, что собираетесь сделать, используя сетевую терминологию — это так же абсурдно.

    Ваша проблема, если формулировать правильно, в том, что вы обращаетесь к ресурсу так, что не используете кратчайший путь к нему. То есть проблема в том, как вы его адресуете, а не в том, как к нему добираетесь.

    Как только вы это осознаёте, можно переходить к следующей проблеме — универсальным способам доступа. Вы не хотите думать, где вы находитесь или в какой сети, чтобы получить доступ к ресурсу. Очевидно, локальный IP не подойдёт, потому что он не сработает вне локалки.

    К счастью, у нас есть решение — DNS. Осталось только настроить локальный DNS-сервер, который будет обслуживать запросы из локальной сети и её окружения, а внешний DNS — для внешних пользователей.

    P.S. Люди употребляют метамфетамин, чтобы сбежать от своей никчёмной жизни. Люди гоняют на машинах, потому что не умеют правильно планировать время. Люди не убирают за своими собаками, потому что ленивы. Это похоже — люди, не понимая, что делают, создают решение проблемы, которую не осознают.

    Долгое время к этому усугубляли ситуацию плохие производители роутеров, которые добавляли (и продолжают добавлять) специальные функции для реализации этого, потому что это быстро решает, как вы сказали, распространённую проблему. Но это не значит, что это правильно. На самом деле это неправильно.

    У любого устройства на ROS есть всё необходимое, чтобы грамотно решить эту проблему без использования hairpin NAT.

    Есть ли у кого-то комментарии? Есть ли веские причины использовать Hairpin NAT, кроме отсутствия локального DNS-сервера?
     
     
     
    Jotne
    Guest
    #2
    0
    13.03.2019 06:43:00
    Я согласен, что Hairpin NAT — это хорошая штука. Но если у вас есть внутренний DNS-сервер (отдельный или на вашем MT-маршрутизаторе), достаточно добавить одну строку в DNS, чтобы запрос шел на внутренний IP, а не на внешний. Так что нужно настроить всего одну строку для Hairpin NAT и одну строку для DNS. Выбирайте, что для вас удобнее.
     
     
     
    PatricF
    Guest
    #3
    0
    12.03.2019 13:51:00
    Спасибо за этот пост. Я именно так и сделал, слишком всё усложнял и понятия не имею, почему. У меня дома есть внутренний DNS-сервер (Pi-Hole), которым я пользуюсь, так что я просто добавил там записи для своих доменов — и всё сработало. Ни к чему этот ужасный HairpinNAT, так что спасибо!
     
     
     
    Steveocee
    Guest
    #4
    0
    12.03.2019 15:25:00
    Во-первых, спасибо, что поделились моим видео. Я использую home.mydomain.com для удалённого доступа к разным вещам из дома. Они различаются по номеру порта. Внутренний DNS так не умеет, поэтому меня этот вариант вполне устраивает. Я поделился тем, что нашёл, потому что сначала у меня было много проблем с настройкой hairpin NAT. Пост от thirdstreetzero — это ещё один отличный пример того, почему я так люблю MikroTik. Есть множество способов сделать одно и то же, никто не говорит, кто прав, кто нет, или кто прав больше. Загляните в комментарии под моим видео — там много людей, которые столкнулись с похожей узкоспециализированной проблемой и успешно решили её, следуя моим советам.

    Что касается идеи “обойти блок”, я не совсем согласен. В конце концов, клиенту нужно попасть куда-то, поэтому он спрашивает у роутера, куда идти — роутер говорит «иди по этому кабелю, это моя LAN» или «иди по этому кабелю, это моя LAN». Я понимаю, откуда взялся такой комментарий и почему, и могу подтвердить, что у меня это никогда не вызывало никаких проблем с очередями, повреждениями данных, безопасностью или даже fasttrack. У каждого своё мнение, но если кого-то так сильно задевает, что якобы их решение лучше, а моё не нужно, может, им стоит помочь другим, поделиться своими знаниями, сделать видео на YouTube под названием MikroTik Hairpin NAT и занять первую строчку в поиске? (Этот комментарий не претендует на высокомерие, хотя может так читаться).
     
     
     
    Sob
    Guest
    #5
    0
    13.03.2019 04:12:00
    Я пропустил эту тему, когда она была новой, но сейчас ещё не поздно выразить несогласие — hairpin NAT просто отличный! Ладно, это я так, чтобы чуть разбавить. На самом деле hairpin NAT должен был стать ненужным и давно устаревшим костылём из времён старого IPv4 и NAT, которые, по идее, должны были уйти ещё несколько лет назад. К сожалению, мир явно не так воодушевлён IPv6, как я последние лет 18 (ну, честно говоря, я уже и сам не уверен, что всё ещё в восторге, но это другой вопрос), и мы всё ещё живём во времена IPv4 + NAT, причём ситуация только ухудшается. Hairpin NAT, хоть и остаётся костылём, — простой, надёжный и элегантный способ решить множество проблем. Это всего лишь одно правило srcnat. Настроил один раз — и забыл. Оно прозрачно работает с любыми адресами, любыми доменами, даже без DNS, и не требует дальнейших изменений. Как это может не нравится? Есть один минус: пакеты с локальной сети на публичный адрес роутера, с которого порты проброшены на внутренний сервер в той же сети, будут делать лишний круг туда-сюда по локалке. Так что, если ожидается большой трафик, лучше использовать внутренний DNS. Вот и всё.
     
     
     
    CZFan
    Guest
    #6
    0
    13.03.2019 04:57:00
    Полностью согласен с вышесказанным.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры