本文用于记录Centos6,7,8三个版本限制特定IP才允许访问ssh服务22端口的配置过程。
1.首先是查看Centos版本
cat /etc/redhat-release
后续命令根据以上命令的版本确定用哪个。
2.CentOS6
以下命令注意不要直接逐行复制运行,因为第一行命令就是限制所有IP对22端口的访问,必须写到脚本里面批量执行。centos6的话使用iptables限制特定IP,新建一个.sh文件如ip.sh,输入以下内容
iptables -I INPUT -p tcp --dport 22 -j DROP
iptables -I INPUT -s 192.168.0.22 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -s 192.168.0.23 -p tcp --dport 22 -j ACCEPT
service iptables save
然后chmod +x ip.sh 给文件执行权限,随后运行该脚本文件./ip.sh就可以了。以上命令第一行是限制所有的IP对目标机器的22端口进行访问,第二行和第三行是允许192.168.0.22和23可以访问该机器的22端口。
如果不放心,可以service iptables restart重启一下iptables服务。
3.CentOS7,8
yum update dbus firewalld
systemctl restart dbus
systemctl restart firewalld
sudo firewall-cmd --permanent --add-source=192.168.0.22
sudo firewall-cmd --permanent --add-source=192.168.0.23
#sudo firewall-cmd --permanent --add-port=80/tcp #可选的开放特定端口的服务
sudo firewall-cmd --permanent --remove-service=ssh #关闭对所有人开放的22端口服务
systemctl restart firewalld