Почему я вижу DST=127.0.0.53 в перенаправленных пакетах -j?

Меня смущает ситуация в моей сети с NAT. Я запускаю dnsmasq на маршрутизаторе с параметрами listen-address=192.168.100.1 и -p 5353 для порта DNS. После этого я добавляю правило iptables для хостов внутри этой сети:

iptables -t nat -I PREROUTING -s 192.168.100.0/24 \
    -d 192.168.100.1 -p udp --dport 53 -j REDIRECT --to-ports 5353

Но это не сработало в первый раз, так как моя INPUT политика DROP: когда я добавляю это правило, все начинает работать:

iptables -I INPUT -p udp --dport 53 -d 127.0.0.53 -j ACCEPT 

Я обнаружил этот адрес с помощью -j LOG в своей цепочке INPUT, где я видел, как пакеты, подобные SRC=127.0.0.1 DST=127.0.0.53 ..., отбрасывались, когда хост с NAT пытался разрешить имя хоста.

Поскольку я пишу автоматический скрипт, который генерирует правильные правила сетевого фильтра для ситуации, мне нужно знать, откуда может взяться этот 127.0.0.53.

Я вижу тот же адрес в /etc/resolv.conf. Но я не понимаю, кто маршрутизирует этот пакет на этот адрес, когда он «перенаправлен», если даже близко к пониманию того, что происходит.


person Croll    schedule 25.08.2017    source источник


Ответы (1)


systemd-resolved устанавливает прослушиватель-заглушку для DNS-запросов локально на 127.0.0.53:53.

попробуйте отключить его, чтобы продолжить sudo systemctl disable systemd-resolved

person Timmy Browne    schedule 03.04.2018