Я использую Unifi UDM Pro в качестве шлюза для двух VLAN:
- Основная локальная сеть (интерфейс:
бр0
, подсеть: 192.168.1.1/24
)
- VLAN устройств IoT (интерфейс:
бр3
, подсеть: 192.168.3.1/24
)
У каждого свой локальный DNS (Adguard Home) сервер (192.168.1.52
и 192.168.3.52
соответственно). Для каждой подсети я хочу, чтобы клиенты не обходили локальный DNS-сервер, назначенный через DHCP. Для этого я подключаюсь к UDM Pro по SSH и выполняю следующие команды:
iptables -t nat -A PREROUTING -i br0 ! -с 192.168.1.52 ! -d 192.168.1.52 -p tcp --dport 53 -j DNAT --to 192.168.1.52
iptables -t nat -A PREROUTING -i br0 ! -с 192.168.1.52 ! -d 192.168.1.52 -p udp --dport 53 -j DNAT --to 192.168.1.52
iptables -t nat -A PREROUTING -i br3 ! -с 192.168.3.52 ! -d 192.168.3.52 -p tcp --dport 53 -j DNAT --to 192.168.3.52
iptables -t nat -A PREROUTING -i br3 ! -с 192.168.3.52 ! -d 192.168.3.52 -p udp --dport 53 -j DNAT --to 192.168.3.52
iptables -t nat -A POSTROUTING -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp --dport 53 -j MASQUERADE
Я тестирую их, используя два основных метода: копать землю
и через устройства WLAN (например, iPad):
С использованием копать землю
метод, я тестирую сначала прямой DNS-запрос, а затем один к DNS-серверу Google. Я запускаю обе команды на физическом хосте для моего DNS-сервера (который является членом каждой VLAN через Debian влан
упаковка):
копать linux.org '@192.168.3.52' -b '192.168.3.52'
копать linux.org '@8.8.8.8' -b '192.168.3.52'
Первая команда выше работает нормально. Второй дает мне тайм-аут. Я ожидаю, что второй все еще будет работать, за исключением маршрутизации через 192.168.3.52
.
Если я побегу так же копать землю
выше, но в основной локальной сети оба работают нормально, и я вижу оба запроса на своем локальном DNS-сервере.
Я не уверен, почему VLAN 3 не работает в случае перенаправления, но моя основная локальная сеть работает. Может ли кто-нибудь помочь мне понять, почему это не работает, и показать мне рабочее решение?