阻止所有传入的DNS请求,除了IP x,y,

我想阻止我的两台DNS服务器上的所有传入请求APART从某些IP地址,例如1.2.3.4的IP将被允许发出请求,但NOBODY否则会。

你如何使用iptables做到这一点?

非常感谢。

这是非常简单的iptables:

我假定你的INPUT链最后没有默认的DROP规则,否则你必须要解决这个问题:

# Allow DNS (53) from <source IP> iptables -A INPUT -p udp --dport 53 -s <source IP> -j ACCEPT iptables -A INPUT -p tcp --dport 53 -s <source IP> -j ACCEPT # Deny all other DNS requests iptables -A INPUT -p udp --dport 53 -j DROP iptables -A INPUT -p tcp --dport 53 -j DROP 

如果您有一个默认的DROP策略,只需删除两条底部规则。 如果链条底部有一个默认的DROP规则,则必须在规则上方插入( -I rulenum )这些规则。