在CentOS系统中,可以使用firewalld(防火墙)来阻止恶意IP。以下是一些基本步骤:
如果你的CentOS系统还没有安装firewalld,可以使用以下命令进行安装:
sudo yum install firewalld
安装完成后,启动并启用firewalld服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
你可以使用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
选项表示永久生效,即使重启系统也不会丢失规则。
添加或修改规则后,需要重新加载防火墙配置以使规则生效:
sudo firewall-cmd --reload
你可以使用以下命令查看当前的防火墙规则:
sudo firewall-cmd --list-all
如果你需要删除之前添加的阻止规则,可以使用以下命令:
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
sudo firewall-cmd --reload
如果你需要阻止一个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
如果你需要阻止特定端口的流量,可以使用以下命令:
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
对于大量的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地址。