我有3个节点,实际上从bash脚本加载了相同的iptables规则,但是一个特定的节点阻止了端口53上的stream量,尽pipe列出了它接受它:
$ iptables –list -v
链INPUT(策略DROP 8886包,657K字节)
pkts字节目标人选退出源目的地
0 0接受所有 - 任何地方的任何地方
2 122 ACCEPT icmp - 任何地方的任何地方icmp echo-request
20738 5600K接受所有 - 任何地方的任何地方状态相关,build立
0 0 ACCEPT tcp - eth1任何地方node1.com多端口dport http,smtp
0 0 ACCEPT udp - eth1任何地方ns.node1.com udp dpt:domain
0 0 ACCEPT tcp - eth1 any any ns.node1.com tcp dpt:domain
0 0全部接受 - eth0任何node2.backend在任何地方
21 1260 ACCEPT all - eth0任何node3.backend在任何地方
0 0全部接受 - eth0任何node4.backend在任何地方
链FORWARD(策略DROP 0包,0字节)
pkts字节目标人选退出源目的地
连锁OUTPUT(策略ACCEPT 15804包,26M字节)
pkts字节目标人选退出源目的地
nmap -sV -p 53 ns.node1.com //从远程服务器
从2011-02-24 11:44开始Nmap 4.11(http://www.insecure.org/nmap/) ns.node1.com上有趣的端口(1.2.3.4): 港口国服务版本 53 / tcp过滤域 Nmap完成:在0.336秒内扫描1个IP地址(1个主机)
有任何想法吗?
谢谢
我注意到零包实际上已经达到了你的iptables对DNS的ACCEPT规则。 我认为你的iptables规则可能会指定一个不匹配的条件组合,这些条件不匹配传入的DNS查询。
在您的情况下,您的DNS接受规则指定传入接口必须是eth1 ,目标IP地址必须parsing为ns.node1.com 。 您应该检查传入的ns.node1.com DNS查询是否可以通过eth1networking接口到达。
另一种可能是你的testing客户端和你的服务器之间有一个阻塞DNS数据包的地方有另一个数据包filter。
可能是TCP端口被另一个防火墙阻止。 使用tcpdump / Wireshark来debugging问题。
从我:
nmap -sV -p 53 xxxx Starting Nmap 5.00 ( http://nmap.org ) at 2011-02-25 02:32 YEKT Interesting ports on xxxx: PORT STATE SERVICE VERSION 53/tcp open domain ISC BIND Not available