为什么我看到DST =" 127.0.0.53"在-j REDIRECTed数据包?

时间:2017-08-25 16:17:51

标签: linux networking linux-kernel iptables dnsmasq

我对NATed网络中的情况感到困惑。我在路由器上启动dnsmasq,DNS端口使用listen-address=192.168.100.1-p 5353选项。之后,我为该网络内的主机添加了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的帮助下发现了这个地址,当NATed主机尝试解析主机名时,我看到数据包丢失了SRC=127.0.0.1 DST=127.0.0.53 ...

当我编写自动脚本以生成正确的netfilter规则时,我需要知道 127.0.0.53 可能来自哪里。

我在/etc/resolv.conf中看到了相同的地址。但是我不明白,当这个数据包被重定向时,是谁将这个数据包路由到这个地址,如果即使接近理解会发生什么也是如此。

1 个答案:

答案 0 :(得分:1)

systemd-resolved在127.0.0.53:53本地为dns请求设置存根侦听器

尝试禁用它以继续sudo systemctl disable systemd-resolved