在CentOS系统中,你可以使用firewalld来阻止特定IP访问。以下是具体步骤:
启动并启用firewalld服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
添加富规则以阻止特定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'
重新加载firewalld配置:
sudo firewall-cmd --reload
如果你更喜欢使用iptables,可以按照以下步骤操作:
阻止特定IP访问所有端口:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
保存iptables规则:
CentOS 7及以上版本使用firewalld作为默认防火墙,但你可以手动保存iptables规则:
sudo service iptables save
CentOS 6及以下版本可以直接保存:
sudo iptables-save > /etc/sysconfig/iptables
如果你需要阻止多个IP地址或IP范围,可以使用firewalld的IPset功能:
安装IPset:
sudo yum install ipset
启动并启用IPset服务:
sudo systemctl start ipset
sudo systemctl enable ipset
创建一个新的IPset集合:
sudo ipset create blacklist hash:ip
将IP地址添加到集合中:
sudo ipset add blacklist 192.168.1.100
配置firewalld使用IPset:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" ipset="blacklist" reject'
重新加载firewalld配置:
sudo firewall-cmd --reload
通过以上方法,你可以有效地阻止特定IP地址访问你的CentOS系统。选择适合你需求的方法进行操作即可。