在 CentOS 中,使用 iptables 命令可以配置防火墙规则,以允许特定 IP 地址访问服务器。以下是具体步骤:
1. 查看当前的 iptables 规则
首先,查看当前的防火墙规则,以确保没有冲突的规则存在:
sudo iptables -L -n -v
2. 允许特定 IP 访问服务器
假设你希望允许 IP 地址 192.168.1.100 访问服务器的 SSH 端口(默认端口 22),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
解释:
-A INPUT:将规则添加到 INPUT 链。-p tcp:指定协议为 TCP。--dport 22:指定目标端口为 22(SSH)。-s 192.168.1.100:指定源 IP 地址为192.168.1.100。-j ACCEPT:接受匹配的流量。
3. 允许多个特定 IP 访问
如果你需要允许多个特定 IP 访问,可以重复上述命令,或者使用多个 -s 参数:
sudo iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 192.168.1.100-192.168.1.110 -j ACCEPT
或者:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -s 192.168.1.101 -j ACCEPT
4. 保存 iptables 规则
CentOS 默认不会持久化 iptables 规则,重启后规则会丢失。你可以使用 iptables-services 或 firewalld 来持久化规则。
使用 iptables-services
-
安装
iptables-services:sudo yum install iptables-services -
启动并启用
iptables服务:sudo systemctl start iptables sudo systemctl enable iptables -
保存规则:
sudo service iptables save
使用 firewalld
-
安装
firewalld:sudo yum install firewalld -
启动并启用
firewalld服务:sudo systemctl start firewalld sudo systemctl enable firewalld -
允许特定 IP 访问:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' -
重新加载
firewalld配置:sudo firewall-cmd --reload
通过以上步骤,你可以在 CentOS 中使用 iptables 或 firewalld 允许特定 IP 地址访问服务器。
以上就是关于“如何在CentOS iptables中允许特定IP访问”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm