OpenWRT DMZ NAT петля не работает

Вопрос или проблема

Я хотел бы, чтобы мои посетители, подключенные к DMZ, могли получать доступ к услугам через их глобальный DNS IP (wan), который перенаправляется в другую зону, скажем, lan.

  • OpenWRT wan – 12.23.34.45
  • клиент подключен к dmz – 192.168.2.101
  • httpd находится в lan – 192.168.1.2, настроен для vhost someservice.net (разрешается в 12.23.34.45)

Теперь клиент из dmz пытается получить доступ к someservice.net с помощью своего браузера и, следовательно, будет пытаться подключиться к 12.23.34.45:80, что, по моему представлению, должно происходить через зону wan, а затем перенаправляться обратно в lan.

Где-то в цепочках openwrt блокирует это, потому что это подключение не удается.

Моя конфигурация контроля трафика в настоящее время выглядит следующим образом:

  • lan -> wan
  • dmz -> wan
  • lan -> vpn
  • lan -> dmz

Буду признателен за любые подсказки!

Этот конкретный сценарий был связан с проблемой конфигурации NAT loopback в OpenWRT. Исходя из списка изменений, это было реализовано в базовой системе /etc/hotplug.d/firewall/10-nat-reflection только начиная с версии 10.03.1-rc4 (которую я использую), но LuCI 0.9 может только назначать перенаправления в зону “lan”. Согласно разработчику OpenWRT, LuCI 0.10 сможет назначать перенаправления и в другие зоны. На данный момент ручное перенаправление в /etc/config/firewall с параметром “option dest dmz” даст желаемый результат.

Ответ или решение

Конечно, я помогу вам разобраться с проблемой NAT-циклической привязки (NAT loopback) в OpenWRT для вашей сетевой конфигурации с DMZ.

Проблема, с которой вы столкнулись, действительно связана с настройками NAT в OpenWRT. По умолчанию, NAT loopback может не работать так, как вы ожидаете, в частности, из-за ограничений в конфигурации, связанных с тем, что LuCI не позволяет назначать переадресацию на другие зоны, кроме как на зону "lan".

Решение проблемы

Вам нужно будет внести изменения в конфигурацию фаервола с помощью текстового редактора. Пожалуйста, выполните следующие шаги:

  1. Откройте конфигурационный файл фаервола. Вам необходимо редактировать файл /etc/config/firewall. Вы можете сделать это, используя команду SSH, чтобы подключиться к вашему маршрутизатору:

    ssh root@192.168.1.1

    После успешного подключения выполните:

    vi /etc/config/firewall
  2. Добавьте ручное перенаправление. Найдите секцию, отвечающую за переадресацию, или создайте новую, в зависимости от вашей конфигурации. Вам нужно будет добавить следующее:

    config redirect
       option src      'dmz'
       option src_dport '80'
       option dest     'lan'
       option dest_ip  '192.168.1.2'
       option dest_port '80'
       option name     'DMZ to LAN Redirect'

    Это правило позволит клиентам с зоны DMZ обращаться к службе, работающей на ‘lan’, через адрес ‘someservice.net’, который разрешается в ваш внешний IP-адрес (12.23.34.45).

  3. Перезапустите службу фаервола для применения изменений:

    /etc/init.d/firewall restart

Дополнительные рекомендации

  • Убедитесь, что у вас на маршрутизаторе разрешен трафик между зонами DMZ и LAN. Вы можете это сделать, убедившись, что правила фаервола не блокируют эти соединения.

  • Проверьте настройки маршрутизатора и фаервола еще раз, если проблема не исчезнет. Можно также использовать утилиты для диагностики трафика, такие как tcpdump, чтобы отслеживать пакеты и убедиться, что они проходят правильно.

  • Если у вас еще нет установленного пакета для управления трафиком, возможно, стоит рассмотреть возможность обновления вашей прошивки OpenWRT до более новой версии, так как более новые версии могут включать улучшения и фиксы для NAT loopback.

Следуя вышеописанным шагам, вы должны быть в состоянии настроить NAT loopback для устройств, подключенных к DMZ, и обеспечить их доступ к вашим службам в LAN через внешний IP-адрес. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь задавать их.

Оцените материал
Добавить комментарий

Капча загружается...