centos

centos防火墙如何阻止恶意IP

小樊
63
2025-03-11 12:22:08
栏目: 智能运维

在CentOS系统中,可以使用firewalld(防火墙)来阻止恶意IP。以下是一些基本步骤:

1. 安装firewalld

如果你的CentOS系统还没有安装firewalld,可以使用以下命令进行安装:

sudo yum install firewalld

2. 启动并启用firewalld服务

安装完成后,启动并启用firewalld服务:

sudo systemctl start firewalld
sudo systemctl enable firewalld

3. 阻止特定IP地址

你可以使用firewall-cmd命令来阻止特定的IP地址。例如,要阻止IP地址192.168.1.100,可以使用以下命令:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'

这里的--permanent选项表示永久生效,即使重启系统也不会丢失规则。

4. 重新加载防火墙配置

添加或修改规则后,需要重新加载防火墙配置以使规则生效:

sudo firewall-cmd --reload

5. 查看当前防火墙规则

你可以使用以下命令查看当前的防火墙规则:

sudo firewall-cmd --list-all

6. 删除阻止规则

如果你需要删除之前添加的阻止规则,可以使用以下命令:

sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
sudo firewall-cmd --reload

7. 阻止IP范围

如果你需要阻止一个IP范围,可以使用CIDR表示法。例如,要阻止192.168.1.0/24这个网段,可以使用以下命令:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" reject'
sudo firewall-cmd --reload

8. 阻止特定端口

如果你需要阻止特定端口的流量,可以使用以下命令:

sudo firewall-cmd --permanent --add-port=80/tcp --permanent --add-port=443/tcp --permanent --add-port=22/tcp --permanent --remove-port=80/udp --remove-port=443/udp --remove-port=22/udp
sudo firewall-cmd --reload

9. 使用IPset

对于大量的IP地址或频繁更新的IP列表,使用IPset可能更高效。IPset允许你创建一个集合,并将多个IP地址添加到这个集合中,然后通过firewalld规则来阻止这个集合。

首先,安装IPset:

sudo yum install ipset

然后,创建一个IPset集合并添加IP地址:

sudo ipset create blacklist hash:ip
sudo ipset add blacklist 192.168.1.100
sudo ipset add blacklist 192.168.1.101

最后,创建一个firewalld规则来阻止这个集合:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source ipset="blacklist" reject'
sudo firewall-cmd --reload

通过以上步骤,你可以在CentOS系统中有效地阻止恶意IP地址。

0
看了该问题的人还看了