centos

CentOS防火墙怎样阻止特定IP访问

小樊
32
2025-11-29 17:37:49
栏目: 智能运维

在CentOS系统中,你可以使用firewalld来阻止特定IP访问。以下是具体步骤:

方法一:使用firewalld的富规则(rich rules)

  1. 启动并启用firewalld服务

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 添加富规则以阻止特定IP: 使用firewall-cmd命令添加富规则。例如,要阻止IP地址192.168.1.100访问所有端口,可以运行以下命令:

    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
    
  3. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

方法二:使用iptables

如果你更喜欢使用iptables,可以按照以下步骤操作:

  1. 阻止特定IP访问所有端口

    sudo iptables -A INPUT -s 192.168.1.100 -j DROP
    
  2. 保存iptables规则: CentOS 7及以上版本使用firewalld作为默认防火墙,但你可以手动保存iptables规则:

    sudo service iptables save
    

    CentOS 6及以下版本可以直接保存:

    sudo iptables-save > /etc/sysconfig/iptables
    

方法三:使用firewalld的IPset

如果你需要阻止多个IP地址或IP范围,可以使用firewalld的IPset功能:

  1. 安装IPset

    sudo yum install ipset
    
  2. 启动并启用IPset服务

    sudo systemctl start ipset
    sudo systemctl enable ipset
    
  3. 创建一个新的IPset集合

    sudo ipset create blacklist hash:ip
    
  4. 将IP地址添加到集合中

    sudo ipset add blacklist 192.168.1.100
    
  5. 配置firewalld使用IPset

    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" ipset="blacklist" reject'
    
  6. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

通过以上方法,你可以有效地阻止特定IP地址访问你的CentOS系统。选择适合你需求的方法进行操作即可。

0
看了该问题的人还看了