无法删除 iptables 中的防火墙阻止

无法删除 iptables 中的防火墙阻止

我对此束手无策。我永远也搞不懂为什么 IPTables 不能更容易理解 :/

无论如何,我们正在使用 iRedMail 作为我们的电子邮件系统。我的客户在几次错误设置 SMTP 后成功将自己锁定。我可以看到他的 IP 被列出(出于安全考虑已更改 :));

root@server:~#  iptables -L -n --line-numbers | grep 200.81.82.175
1    REJECT     all  --  200.81.82.175        0.0.0.0/0            reject-with icmp-port-unreachable

但我无论如何也想不出如何删除他的 IP!

我确实花了整整一个小时试图解除对他的屏蔽,但仍然无济于事。有人能给我指点一下吗?

附言一下 - 我如何才能将他的 IP 列入所有服务的白名单?我认为一旦我们解除对他的封锁,这将是最简单的选择!

答案1

当您知道链(例如INPUT)和规则编号时,删除规则非常简单:

$ sudo iptables --delete INPUT 1

其中INPUT是链的名称,1是列表中规则的编号(通过运行例如iptables -L -n您拥有的)获得。不要盲目地这样做;一定要检查你的假设!

的简写--delete-D,其作用完全相同。

您还可以删除符合特定条件的规则。例如,您可以:

$ sudo iptables --delete INPUT -s 203.0.113.123 -j REJECT

这里,是/和/--delete的类似物,并且需要指定完整规则。当规则集可能在工作过程中被修改时,这种方法更安全;因此,这是例如 所采用的方法。-I--insert-A--appendfail2ban

您可以使用sudo iptables -S以适合在相应-D命令中使用的形式打印当前规则集。

我如何才能将他的 IP 列入所有服务的白名单?我认为一旦我们解除对他的封锁,这将是最简单的选择!

将所有服务的 IP 地址列入白名单不是一个好主意。相反,应该稍微放宽黑名单标准,这样授权用户的正常但错误的行为不会导致过度阻止。例如,您可以将 fail2ban 阻止超时时间缩减到合理的值,并确保阻止仅应用于特定的目标服务。

相关内容