尽管列出了其他情况,防火墙仍然阻止端口 53?

尽管列出了其他情况,防火墙仍然阻止端口 53?

我有 3 个节点,它们具有从 bash 脚本加载的几乎相同的 iptables 规则,但是一个特定节点阻止了端口 53 上的流量,尽管列出了它正在接受该流量:

$ iptables --list -v

链输入(策略丢弃 8886 个数据包,657K 字节)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 接受全部 -- lo 任何地点任何地点            
    2 122 接受 icmp -- 任何 任何 任何地方 icmp 回显请求
20738 5600K 接受全部 -- 任何任何任何地方任何位置状态相关,已建立
    0 0 接受 tcp -- eth1 任何地方 node1.com 多端口 dports http,smtp
    0 0 接受 udp -- eth1 任何地方 ns.node1.com udp dpt:domain
    0 0 接受 tcp -- eth1 任何地方 ns.node1.com tcp dpt:domain
    0 0 接受全部 -- eth0 任何 node2.backend 任何位置            
   21 1260 接受全部 -- eth0 任何 node3.backend 任何位置            
    0 0 接受全部 -- eth0 任何 node4.backend 任何位置            

链 FORWARD(策略 DROP 0 个数据包,0 字节)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链输出(策略接受15804个数据包,26M字节)
 pkts 字节数 目标 协议 选择加入 退出 源 目标

nmap -sV -p 53 ns.node1.com// 来自远程服务器

于 2011-02-24 11:44 EST 启动 Nmap 4.11(http://www.insecure.org/nmap/)
ns.node1.com 上有趣的端口(1.2.3.4):
港口国服务版本
53/tcp 过滤域

Nmap 已完成:扫描 1 个 IP 地址(1 个主机启动),耗时 0.336 秒

有任何想法吗?

谢谢

答案1

我注意到实际上没有数据包到达您的iptablesDNS ACCEPT 规则。我认为您的规则可能iptables指定了不一致的条件组合,这些条件组合永远不会与传入的 DNS 查询匹配。

在您的案例中,您的 DNS ACCEPT 规则指定传入接口必须是eth1,并且目标 IP 地址必须解析为ns.node1.com。您应该检查传入的 DNS 查询是否ns.node1.com可以通过eth1网络接口到达。

另一种可能性是,您的测试客户端和服务器之间的某个地方有另一个数据包过滤器,它阻止了 DNS 数据包。

答案2

可能是 tcp 端口被另一个防火墙阻止了。使用 tcpdump/Wireshark 来调试问题。

从我:

nmap -sV -p 53 x.x.x.x

Starting Nmap 5.00 ( http://nmap.org ) at 2011-02-25 02:32 YEKT
Interesting ports on x.x.x.x:
PORT   STATE SERVICE VERSION
53/tcp open  domain  ISC BIND Not available

相关内容