当向 IPtables 添加 IP 地址删除规则时,它会将其转换为域名/url。为什么?

当向 IPtables 添加 IP 地址删除规则时,它会将其转换为域名/url。为什么?

因此,我一直在尝试使用 IPTables 和 bash 脚本来自动检测服务器上的暴力攻击(平均每天至少 50 次 - 这是正常的吗?)。我的服务器会为我记录这些攻击,然后每天早上将新的攻击 IP 地址转储到 IPtables 中,永久阻止它们。

我认为我没有遇到问题,但我只是好奇想知道发生了什么。基本上我的脚本正在添加 IP 地址,但当我使用 iptables -L 命令显示当前规则时,IP 似乎被转换了。这是为什么?

例如,我运行这个命令:

iptables -A INPUT -s 95.9.203.101 -j DROP

当我执行时iptables -L,它显示如下:

DROP       all  --  95.9.203.101.static.ttnet.com.tr  anywhere   

为什么不直接将其保留为 IP 地址?

它也是随机的。有些保留为 IP 地址,有些则转换。例如,所有这些都被添加为 IP 地址。我不知道为什么在显示所有规则时它们会这样出现:

DROP       all  --  95.9.203.101.static.ttnet.com.tr  anywhere            
DROP       all  --  11.189.188.61.broad.nc.sc.dynamic.163data.com.cn  anywhere            
DROP       all  --  58.218.211.166       anywhere            
DROP       all  --  denaos.datemas.de    anywhere            
DROP       all  --  117.6.130.80         anywhere            
DROP       all  --  223.203.217.202      anywhere            
DROP       all  --  182.100.67.114       anywhere            
DROP       all  --  222.187.198.50       anywhere            
DROP       all  --  182.100.67.112       anywhere            
DROP       all  --  s15283632.onlinehome-server.info  anywhere            
DROP       all  --  202.109.143.18       anywhere            
DROP       all  --  95.9.203.101.static.ttnet.com.tr  anywhere            
DROP       all  --  11.189.188.61.broad.nc.sc.dynamic.163data.com.cn  anywhere            
DROP       all  --  58.218.211.166       anywhere

任何想法?

另外,当我运行 时iptables -L,它会在某些规则上暂停,然后继续输出到屏幕。我认为这是因为它正在查找 IP 地址?我试图找到有关此问题的解释,但似乎找不到。这就是它的工作原理吗?IP 是否实际上存储在配置中,但当我运行时iptables -L它会尝试反转?

答案1

如果要显示 IP 地址和端口号而不显示其名称,可以使用选项-n。因此,您的命令将是

iptables -L -n

如果你看一下手册man iptables,你可以读到:

-n, --numeric 数字输出。IP 地址和端口号将以数字格式打印。默认情况下,程序将尝试将它们显示
为主机名、网络名称或服务(只要适用)。

当不使用-n选项时,它会暂停,因为它正在尝试将 IP 解析为名称。

相关内容