在CentOS上使用iptables进行IP白名单,可以按照以下步骤操作:
CentOS 7及以上版本默认已经安装了iptables,但如果没有,可以使用以下命令安装:
sudo yum install iptables-services
启动iptables服务并设置为开机自启:
sudo systemctl start iptables
sudo systemctl enable iptables
假设你想允许IP地址192.168.1.100访问你的服务器,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这条命令的意思是:在INPUT链中添加一条规则,如果源IP地址是192.168.1.100,则接受该数据包。
如果你想允许特定IP地址通过SSH访问你的服务器,可以添加以下规则:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
这条命令的意思是:在INPUT链中添加一条规则,如果目标端口是22(SSH端口),源IP地址是192.168.1.100,则接受该数据包。
为了安全起见,你可以拒绝所有其他IP地址的访问:
sudo iptables -A INPUT -j DROP
这条命令的意思是:在INPUT链中添加一条规则,拒绝所有数据包。
iptables规则在系统重启后会丢失,因此需要保存规则:
sudo service iptables save
或者使用以下命令:
sudo iptables-save > /etc/sysconfig/iptables
你可以使用以下命令查看当前的iptables规则:
sudo iptables -L -n -v
在修改iptables规则之前,建议先备份当前的规则,以防万一需要恢复:
sudo iptables-save > /etc/sysconfig/iptables.backup
如果你使用的是CentOS 8或更高版本,iptables已经被nftables取代,但基本操作类似。
通过以上步骤,你可以在CentOS上使用iptables进行IP白名单设置。