我正在创建一个脚本,允许您阻止,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仍然有效...
我的政策都设置为允许。我应该改变它们吗?
我对此有点新鲜,如果这一切看起来很奇怪,我会道歉。谢谢!
答案 0 :(得分:4)
您正试图阻止OUTPUT链中的SOURCE地址。 8.8.8.8将是输出链中的目的地。输出链中数据包的SOURCE通常是您运行这些规则的机器...尝试这些:
-A INPUT -s 8.8.8.8 -j DROP
-A OUTPUT -d 8.8.8.8 -j DROP
规则#1会将任何来自 IN 的数据包丢弃到源自Google公共DNS的系统中。规则#2将丢弃任何离开系统的数据包。
至于ping,请记住ping使用ICMP协议。你试图阻止UDP。还要记住,如果请求或响应需要超过1 udp的数据包,DNS请求 CAN 将使用TCP。