centos7之如何进行ip和端口限制

centos7进行ip和端口限制 1、限制指定IP访问本机 编辑hosts allow和hosts deny两个文件,保存即生效。 1 1、编辑etc host

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    

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持好代码网。

标签: centos7 ip 端口 限制