我正在尝试阻止一些外国 IP 流量到我们的网络服务器。 Arin.net显示区块 117.0.0.0/8 属于南布里斯班澳大利亚。但是当我阻止它时,它显示为“localhost/8”。
$ sudo iptables -I INPUT -s 117.0.0.0/8 -j DROP -m comment --comment "south brisbane au"
列表的结果iptables -L --line-numbers
是:
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all -- localhost/8 anywhere /* south brisbane au */
这里发生了什么?为什么 117.0.0.0/8 显示为“localhost/8”?这个块会影响到本地主机的任何流量吗?
更新(和接受的解决方案的输出)
我-n
按照几个人的建议实施了使用,包括接受的答案。这是使用后的输出-n
:
$ sudo iptables -L -n --line-numbers | head
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all -- 117.0.0.0/8 0.0.0.0/0 /* south brisbane au */
另一个好处是,iptables -L
它变得非常缓慢。我没有时间研究它。但避免 dns 查找也解决了这个问题。显然,源上的 dns 查找变得iptables -L
非常非常慢,链中不止少数几个。它现在立即发出该链中的完整 144。源的反向查找是默认设置似乎很奇怪。
这是一个误报,原因是
相关反向 DNS 区域的所有者放置了一个“本地主机”。记录在那个地址上。有一个标志可以
iptables
关闭 DNS 查找 (-n
)。这也将使命令运行得更快,因为不会在所述查找上浪费时间。如果您需要该区域的所有者,请使用该区域的所有者,
dig
因为它将显示SOA
. 您需要使用反向地址形式(host
或其他查找工具将返回):