我在一个简单的 Linux 代理上。我想添加 iptable 规则以删除对特定域的所有请求。我想我运行 dig 命令来获取域的 IP 地址,然后为每个 IP 地址添加一个 iptable 规则。然而,似乎绑定到多个 IP 地址不起作用。所以,我似乎需要添加这样的 IP 范围...
iptables -I FORWARD -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 443 -j DROP
这似乎有效。然而,解析 dig 的输出并正确创建适当的 iptable 规则已被证明相当困难。有没有更好的方法?
答案1
您可以在iptables
命令中指定将在添加规则时解析的主机名。解析为多个 IP 的主机名也受支持,尽管它们会生成多条规则。
% sudo iptables --append FORWARD --protocol tcp --destination www.google.com --dport 443 --jump DROP
% sudo iptables -nL FORWARD
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 74.125.224.147 tcp dpt:443
DROP tcp -- 0.0.0.0/0 74.125.224.145 tcp dpt:443
DROP tcp -- 0.0.0.0/0 74.125.224.148 tcp dpt:443
DROP tcp -- 0.0.0.0/0 74.125.224.144 tcp dpt:443
DROP tcp -- 0.0.0.0/0 74.125.224.146 tcp dpt:443