在CentOS系统中,使用iptables来允许特定IP访问服务器是一个常见的任务。以下是一些基本的步骤和命令,用于允许特定IP地址通过iptables防火墙:
查看当前的iptables规则:
sudo iptables -L -n -v
允许单个IP访问:
假设你想允许IP地址192.168.1.100访问你的服务器,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
允许特定IP段访问:
如果你想允许一个IP段(例如192.168.1.0/24)访问你的服务器,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
允许特定端口访问: 如果你想允许特定IP地址访问服务器的某个端口(例如端口80),可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
保存iptables规则:
在CentOS 7及以上版本中,iptables规则默认不会保存在重启后仍然有效。你可以使用firewalld服务来管理防火墙规则,或者手动保存iptables规则。以下是手动保存iptables规则的命令:
sudo service iptables save
或者使用iptables-save命令:
sudo iptables-save > /etc/sysconfig/iptables
重启iptables服务: 如果你修改了iptables规则并希望它们立即生效,可以重启iptables服务:
sudo systemctl restart iptables
请注意,iptables规则是按顺序应用的,因此确保你的允许规则在拒绝规则之前。如果你不确定规则的顺序,可以使用以下命令查看当前的规则链:
sudo iptables -L --line-numbers
此外,如果你使用的是CentOS 8或更高版本,建议使用firewalld服务来管理防火墙规则,因为它提供了更友好的界面和更灵活的配置选项。