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

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

我想阻止我的两个 DNS 服务器上除某些 IP 地址之外的所有传入请求,例如 IP 1.2.3.4 将被允许发出请求,但其他任何 IP 都不允许。

如何使用 iptables 来实现这一点?

非常感谢。

答案1

使用 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该规则上方插入 () 这些规则。

相关内容