centos

如何用centos iptables阻止恶意IP

小樊
44
2025-05-22 21:35:07
栏目: 智能运维

要使用 CentOS 的 iptables 阻止恶意 IP,您可以按照以下步骤操作:

  1. 登录到 CentOS 服务器: 使用 SSH 或其他远程连接工具登录到您的 CentOS 服务器。

  2. 查看 iptables 规则: 在进行任何更改之前,您可以查看当前的 iptables 规则,以确保您不会意外地阻止合法流量。

    sudo iptables -L -n -v
    
  3. 阻止恶意 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)。

  4. 保存 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
    
  5. 阻止 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
    
  6. 阻止特定端口的流量: 如果您还想阻止来自恶意 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
    
  7. 查看阻止的 IP: 您可以使用以下命令来查看所有被阻止的 IP 地址:

    sudo iptables -L INPUT -v -n | grep DROP
    

请注意,iptables 规则可能会影响服务器的正常运行,因此在添加规则之前,请确保您了解每个规则的作用,并在必要时备份当前的 iptables 配置。如果您不确定,请咨询专业人士。

0
看了该问题的人还看了