1

我正在创建一个脚本,允许您阻止 IP、端口、某些 IP 和端口以及 DNS 服务器。它基本上会获得一个名称并阻止该人的某些地址。问题是,我被困在阻止 8.8.8.8 。无论我尝试过什么,我似乎都无法阻止它!

这是我到目前为止所尝试的:

 iptables -A OUTPUT -p tcp -d 8.8.8.8 --destination-port 53 -j DROP
 iptables -A OUTPUT -p udp -d 8.8.8.8 --destination-port 53 -j DROP
 iptables -A OUTPUT -p -s 8.8.8.8 -j DROP

乃至

 iptables -A OUTPUT -p udp -o eth0 --dport 53 -j DROP

ping 任何其他站点都不起作用,而 ping 8.8.8.8 仍然有效...

我的策略都设置为允许。我应该改变它们吗?

我对此有点陌生,如果这一切看起来很奇怪,我深表歉意。谢谢!

4

1 回答 1

4

您正试图阻止 OUTPUT 链中的 SOURCE 地址。8.8.8.8 将是输出链中的 DESTINATION。输出链中数据包的 SOURCE 通常是您在其上运行这些规则的机器......试试这些:

-A INPUT -s 8.8.8.8 -j DROP
-A OUTPUT -d 8.8.8.8 -j DROP

规则 #1 将丢弃所有进入系统的源自谷歌公共 DNS 的数据包。规则 #2 将丢弃任何离开您的系统的数据包。

至于 ping,请记住 ping 使用 ICMP 协议。您正在尝试仅阻止 UDP。还要记住,如果请求或响应需要超过 1 个 udp 数据包,则 DNS 请求可以使用 TCP

于 2013-02-01T14:57:21.143 回答