在CentOS系统中,你可以使用firewalld
来限制访问特定IP。以下是具体步骤:
启动firewalld服务(如果尚未启动):
sudo systemctl start firewalld
启用firewalld服务(如果尚未启用):
sudo systemctl enable firewalld
添加富规则以限制特定IP访问:
假设你想阻止IP地址192.168.1.100
访问你的服务器上的某个端口(例如80端口),可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" reject'
解释:
--permanent
:使规则永久生效。--zone=public
:指定防火墙区域为public。--add-rich-rule
:添加富规则。rule family="ipv4"
:指定规则适用于IPv4。source address="192.168.1.100"
:指定源IP地址。port protocol="tcp" port="80"
:指定端口和协议。reject
:拒绝访问。重新加载firewalld配置以应用新规则:
sudo firewall-cmd --reload
如果你更喜欢使用iptables
,可以按照以下步骤操作:
阻止特定IP访问某个端口:
假设你想阻止IP地址192.168.1.100
访问你的服务器上的80端口,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j DROP
解释:
-A INPUT
:将规则添加到INPUT链。-s 192.168.1.100
:指定源IP地址。-p tcp
:指定协议为TCP。--dport 80
:指定目标端口为80。-j DROP
:丢弃匹配的数据包。保存iptables规则(CentOS 7及以上版本):
sudo systemctl stop firewalld
sudo iptables-save > /etc/sysconfig/iptables
sudo systemctl start firewalld
解释:
iptables-save > /etc/sysconfig/iptables
:将当前的iptables规则保存到文件中。systemctl stop firewalld
和systemctl start firewalld
:停止并重新启动firewalld服务以应用iptables规则。通过以上两种方法,你可以有效地限制特定IP地址访问你的CentOS服务器上的资源。选择哪种方法取决于你的个人偏好和系统配置。