# iptables -t nat -S
...
-A PREROUTING -d 217.xxxx/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination 10.x.x.9
-A PREROUTING -d 217.xxxx/32 -p udp -m udp --dport 53 -j DNAT --to-destination 10.x.x.9
...
# iptables -S
...
-A FORWARD -i eth0 -j ETH0-IN
-A ETH0-IN -d 10.x.x.9/32 -p tcp -m tcp --dport 53 -j ACCEPT
-A ETH0-IN -d 10.x.x.9/32 -p udp -m udp --dport 53 -j ACCEPT
运行iptables -t nat -nvL
显示这些 NAT 转换规则为零。WTF?!在某些内核或 iptables 更新之前它可以工作,但一段时间以来,此防火墙后面的 DNS 服务器一直无法访问。经验证iptables -A INPUT -d 217.xxxx -p udp --dport 53 -j LOG
,日志确实带有未转换的数据包。操作系统 CentOS7,uname -a
此处:
Linux fwxxxx 3.10.0-862.9.1.el7.x86_64 #1 SMP Mon Jul 16 16:29:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
防火墙已从此机器中明确删除。没有在 mangle 或 raw 表中配置任何规则,其他地方也没有。坦率地说,我感到很困惑。这是一个已知的错误吗?