因此,我一直在尝试使用 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 解析为名称。