centos7进行ip和端口限制
1、限制指定IP访问本机
编辑hosts.allow和hosts.deny两个文件,保存即生效。
1.1、编辑etc/hosts.allow文件,在末尾添加可访问的ip(多个时用逗号隔开)
- 编辑 vim etc/hosts.allow
- 只允许192.22.202.1访问 sshd:192.22.202.1:allow
- 允许192.22.202.1和110.101.0全网段都可访问 sshd:110.101.0.,192.22.202.1:allow
- 保存 :wq
1.2、设置拒绝全部连接(不会拒绝etc/hosts.allow中的ip)
- 编辑 vim /etc/hosts.deny
- 拒绝全部连接 sshd:ALL
- 保存 :wq
2、设置22端口访问限制
在sshd_config文件设置指定账号身份远程访问,设置完毕要重启sshd。
- 编辑 vim /etc/ssh/sshd_config
- 任何IP只能用root身份登录 AllowUsers root
- IP为192.168.1.9只能用admin身份登录 AllowUsers admin@192.168.1.9
- IP为192.168.1.9只能用admin和root身份登录 AllowUsers admin root@192.168.1.9
- IP为192.168.1全网段只能用admin身份登录 AllowUsers admin@192.168.1.0/24
- IP为192.168.1.9和192.168.1.18只能用admin身份登录 AllowUsers admin@192.168.1.9 admin@192.168.1.18
- IP为192.168.1.9可以用任何身份登录 AllowUsers *@192.168.1.9
- 保存 :wq
- 重启sshd systemctl restart sshd 或 service sshd restart
不同版本的Centos限制特定IP访问特定端口的命令
用于记录Centos6,7,8三个版本限制特定IP才允许访问ssh服务22端口的配置过程。
首先是查看Centos版本
cat /etc/redhat-release
后续命令根据以上命令的版本确定用哪个。
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服务。
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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持好代码网。