端口53的iptables规则不起作用

我的Ubuntu 14.04 LTS服务器正在接收来自不同IP地址的端口53上的大量inputstream量。 我没有托pipe任何DNS服务。 所以我决定阻止端口53:

iptables -A INPUT -p tcp --destination-port 53 -j DROP iptables -A OUTPUT -p tcp --dport 53 -j DROP 

之后我保存新的规则:

 invoke-rc.d iptables-persistent save 

所以最终的结果是这样的:

 Chain INPUT (policy ACCEPT) target prot opt source destination DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 Chain FORWARD (policy ACCEPT) target prot opt source destination DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) target prot opt source destination DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 Chain DOCKER (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 172.17.0.3 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 172.17.0.7 tcp dpt:8080 

但是,当我使用nethogs来监视stream量,我仍然看到在53端口的stream量。任何想法为什么规则不生效?

为了您的通知:我已经安装了docker 1.9.1。

Nethogs输出:

在这里输入图像说明

而这个名单正在增长。

DNS主要是端口53上的UDP。

但是你为什么要在OUTPUT链中阻塞呢? 你不想从这台机器parsing任何域名?

 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 

通常DNSstream量是UDP回退到TCP。 你也需要DROP UDP到53端口。

 iptables -I INPUT -p udp --destination-port 53 -j DROP 

你的nethogs输出显示你的IP与其他IP上的端口53(大部分属于akam.net)讨论。 如果您正在运行parsingDNS客户端,这是正常行为。 该列表正在增长,因为你的iptablesfilter是不正确的,并阻止你的自己的parsing器的OUTPUT链上的dpt:53。