要使用 CentOS 的 iptables 阻止恶意 IP,您可以按照以下步骤操作:
登录到 CentOS 服务器: 使用 SSH 或其他远程连接工具登录到您的 CentOS 服务器。
查看 iptables 规则: 在进行任何更改之前,您可以查看当前的 iptables 规则,以确保您不会意外地阻止合法流量。
sudo iptables -L -n -v
阻止恶意 IP:
使用 iptables 的 -A 选项来添加新的规则,将恶意 IP 地址添加到阻止列表中。例如,要阻止 IP 地址 123.456.789.10,您可以使用以下命令:
sudo iptables -A INPUT -s 123.456.789.10 -j DROP
这条命令的意思是:对于所有进入的流量(INPUT 链),如果源地址(-s)是 123.456.789.10,则将其丢弃(-j DROP)。
保存 iptables 规则:
在 CentOS 7 及更高版本中,iptables 规则在重启后不会自动保存。您可以使用 firewall-cmd 命令来永久保存规则:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.456.789.10" reject'
sudo firewall-cmd --reload
在 CentOS 6 中,您可以使用 service iptables save 命令来保存规则:
sudo service iptables save
阻止 IP 范围:
如果您想阻止一个 IP 范围,可以使用 CIDR 表示法。例如,要阻止 123.456.789.0/24 范围内的所有 IP 地址,您可以使用以下命令:
sudo iptables -A INPUT -m iprange --src-range 123.456.789.0-123.456.789.255 -j DROP
阻止特定端口的流量: 如果您还想阻止来自恶意 IP 的特定端口流量,可以在 iptables 规则中指定端口。例如,要阻止上述 IP 地址访问端口 80 和 443,您可以使用以下命令:
sudo iptables -A INPUT -s 123.456.789.10 -p tcp --dport 80 -j DROP
sudo iptables -A INPUT -s 123.456.789.10 -p tcp --dport 443 -j DROP
查看阻止的 IP: 您可以使用以下命令来查看所有被阻止的 IP 地址:
sudo iptables -L INPUT -v -n | grep DROP
请注意,iptables 规则可能会影响服务器的正常运行,因此在添加规则之前,请确保您了解每个规则的作用,并在必要时备份当前的 iptables 配置。如果您不确定,请咨询专业人士。