我正在尝试阻止一些到我们网络服务器的外国 IP 流量。 阿林网显示区块 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。默认情况下对源的反向查找似乎很奇怪。
答案1
这是由以下原因引起的误报
% host 117.0.0.0
0.0.0.117.in-addr.arpa domain name pointer localhost.
相关反向 DNS 区域的所有者输入“localhost”。记录在该地址上。有一个标志可以iptables
关闭 DNS 查找 ( -n
)。这也将使命令运行得更快,因为不会在所述查找上浪费时间。
如果您需要该区域的所有者,请使用,dig
因为这将显示SOA
.您需要使用反向地址形式(该形式host
或其他查找工具将返回):
% dig 0.0.0.117.in-addr.arpa
...
;; AUTHORITY SECTION:
0.117.in-addr.arpa. 86266 IN SOA dns1.vietel.com.vn. tuananh.viettel.com.vn. 2008010803 10800 3600 604800 86400