通过firewalld来控制IP访问

1.首先查看防火墙状态:

systemctl status firewalld

开启防火墙并设置开机自启 (服务器可能需要重启一下)

systemctl start firewalldsystemctl enable firewalld

2. 开放端口

事例:

开启XShell连接时需要使用的22端口

firewall-cmd --zone=public --add-port=22/tcp --permanent  |  --permanent的作用是使设置永久生效,不加的话机器重启之后失效firewall-cmd --reload        | 重载防火墙设置,使设置生效firewall-cmd --zone=public --query-port=22/tcp | 查看22端口是否开启firewall-cmd --zone=public --list-ports     | 查看当前系统开启的所有端口

3. 限制端口

事例:
关闭Redis默认端口6379

firewall-cmd --zone=public --remove-port=6379/tcp --permanentfirewall-cmd --reloadfirewall-cmd --zone=public --list-ports   | 查看开启的所有端口

4. 批量开启或限制端口

事例:
批量打开1000-2000之间的所有端口

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanentfirewall-cmd --reloadfirewall-cmd --zone=public --list-ports   | 查看开启的所有端口

批量限制端口1000-2000

firewall-cmd --zone=public --remove-port=1000-2000/tcp --permanentfirewall-cmd --reloadfirewall-cmd --zone=public --list-ports   | 查看开启的所有端口

5.限制IP地址访问

限制IP为192.168.0.100的地址禁止访问80端口即禁止访问机器

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="80" reject"firewall-cmd --reloadfirewall-cmd --zone=public --list-rich-rules  |  查看已经设置的规则

6.解除IP地址限制
解除限制IP为192.168.0.100

1.方法一

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="80" accept"firewall-cmd --reloadfirewall-cmd --zone=public --list-rich-rules  |  查看已经设置的规则
  • 如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可
vi /etc/firewalld/zones/public.xml

把里面对应的 rule 段删除掉:

2 . 方法二 (推荐直接remove之前添加的规则)

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="80" accept"

记得重新载入一下才会生效:

firewall-cmd --reload

7.限制IP地址段

例子:
如我们需要限制10.0.0.0-10.0.0.255这一整个段的IP访问

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"firewall-cmd --reloadfirewall-cmd --zone=public --list-rich-rules   |  查看已经设置的规则

其中10.0.0.0/24表示为从10.0.0.0这个IP开始,24代表子网掩码为255.255.255.0,共包含256个地址,即从0-255共256个IP,即正好限制了这一整段的IP地址,具体的设置规则可参考下表。


8. 打开被限制为IP地址段

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" accept"firewall-cmd --reload   firewall-cmd --zone=public --list-rich-rules   |  查看已经设置的规则

通过/etc/hosts 来限制IP

示例1: 只允许192.168.0.222登录192.168.1.81

vim /etc/hosts.allow  | 终端打开

最后一行加入:

sshd:192.168.0.222:allow        | 多个IP可以按照此格式写多行
vim /etc/hosts.deny

最后一行加入:

sshd:ALL            |除了上面允许登录的IP,其它IP都拒绝登录

最后重载一下

service sshd restart

示例2: 只允许192.168.1网段的主机登录192.168.1.81

vim /etc/hosts.allow,最后一行加入:

sshd:192.168.1.*:allow  |  vim /etc/hosts.allow 打开并输入
sshd:ALL | vim /etc/hosts.deny 打开并输入
service sshd restart

示例3: 只允许192.168.0.222以keyso用户身份、192.168.1.135以root用户身份登录192.168.1.81

vim /etc/ssh/sshd_config

最后一行加入:

AllowUsers keyso@192.168.0.222 root@192.168.1.135    | 多个用户名@IP之间使用空格分隔

最后重载

 service sshd restart

【Linux】pkill命令–按照终端号踢出用户

pkill命令有一个非常实用的功能,可以按照终端号踢出用户。

命令格式:

pkill [信号] -t [终端名称]    |  支持的信号与kill命令一样,有1、9、15等。

w命令可以查看当前系统登录了哪些用户。
比如说,现在虚拟机里面登录了root用户,XShell也远程登录了用户。那么用w命令查看,结果如下:


可以看到当前登录了两个root用户,一个是通过tty1登录,一个是通过远程终端pts/0登录。那么我们可以使用pkill -9 -t tty1命令把虚拟机的root用户踢掉。


相关命令:

 who                 | 查看在线用户ps -ef | grep pts/1     || 查看在线 用户pidkill -9 23091          |杀掉进程,踢除用户pkill -9 -t tty1        |踢除用户

转载自: https://www.jianshu.com/p/1efb17f7cc6f

centos7该如何限制IP访问?相关推荐

  1. Centos7 firewalld规则配置 | 仅容许指定IP访问

    背景:最近发现我的环境老是有不明数据,经排查发现还不止一个人在连我的环境调试东西,我真的是...            所以我配置了一下防火墙规则,仅容许指定的IP访问,避免此类情况.我俩关系好我就把 ...

  2. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装 在阿里云开源镜像地址下载镜像 Index of /centos/7.2.1511/isos/x86_64/ http://mi ...

  3. redis 公网ip访问_Redis很重要,怎么只允许指定IP访问?

    在 Linux 中安装了redis 服务,当在客户端通过远程连接的方式连接时,报could not connect错误. 错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略, ...

  4. Linux防火墙firewalld只允许特定IP访问

    Linux防火墙firewalld只允许特定IP访问 目录 目标 思路 直接说办法 其他注意事项 1.Centos 7 使用firewalld 而不是 iptables,iptables 是Cento ...

  5. ubuntu14/ubuntu16/centos7:解决可以ping ip却ping不通主机名

    最近装了两台linux虚拟机分别CentOS7和Ubuntu14,都装了samba服务,文件共享都正常,虚拟机上互联网也正常,能以ping 通局域网的ip,却都ping不通主机名,其他电脑(windo ...

  6. mysql安装mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar,问题及其他ip访问mysql

    参考文档:centos7通过rpm-bundle方式安装mysql5.7.35 - Shapley - 博客园 下载 mysql包后, 1. 解压 tar -xvf mysql-5.7.35-1.el ...

  7. weblogic服务器部署的程序,如何直接通过IP访问(即URL中去掉工程名)

    用weblogic部署的程序,怎么能够直接通过IP访问呢? 下面就是了 打开你的工程,看看webroot下的WEB-INF中有没有一个weblogic.xml文件. 1.如果没有,自己建一个,里面写上 ...

  8. SQL Server使用侦听器IP访问时遇到The target principal name is incorrect. Cannot generate SSPI context...

    SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context&quo ...

  9. 解决新版的vue-cli后无法通过ip访问vue项目

    今天遇到个问题,之前一直没遇到过,通过vue-cli脚手架搭建的项目,只能通过localhost访问,不能通过IP地址访问. 这是由 webpack 导致的,2017年11月12日的时候 webpac ...

  10. php禁止指定ip访问网站,方法分享:如何利用.htaccess禁止某个IP访问网站

    这篇文章主要给大家介绍了关于利用.htaccess实现禁止某个IP访问网站的方法,通过设置禁止某个IP段的访问,增加该虚拟主机的安全性,文中通过图文及示例代码介绍的非常详细,需要的朋友们可以参考借鉴, ...

最新文章

  1. 手写实现李航《统计学习方法》书中全部算法
  2. 博通收购高通12张PPT深度解析!
  3. python selenium 元素定位_python3+selenium入门04-元素定位
  4. 与虫子尾交3d动画网站_PPT中最酷的效果 —— 3D模型全解
  5. opencv4.0在linux下编译,Ubuntu 18.04源码编译安装OpenCV 4.0步骤
  6. springboot 默认异常处理
  7. 十九. Python基础(19)--异常
  8. 公众号第三方平台开发 - 教程五 代公众号发起网页授权源码
  9. 正则语言和正则表达式_探索正则表达式背后的语言学
  10. java token生成和验证_程序员应该如何设计更优雅的Token认证方式?
  11. zabbix agent安装_OpenSUSE RPM安装 zabbix-agent
  12. Android SQLite用法
  13. ~~Kruskal算法
  14. flume流程之SpoolDir-memory-hdfs
  15. 机器学习笔记(12)— K均值算法
  16. 人工智能语音实训平台实验指导书
  17. 虚拟机上的hadoop localhost:8088,localhost:50070均不能访问
  18. mac nmap 的下载
  19. #2016京东实习生笔试之生日礼物
  20. 计算机无法启动怎么重装系统,电脑开不开机怎么重装系统教程

热门文章

  1. Mbps、MB、Mb和Mb/s的含义与区别
  2. 计算机桌面图标底纹,怎样去除桌面图标下的底色[XP系统]【图文教程】
  3. 初识 Rax (Web Weex)
  4. 如何卸载office201032位_企业如何利用Ansys Mechanical缩减设计时间、验证设计迭代?...
  5. 简单实用的vue常用后台管理模板框架
  6. u盘安装系统win2019服务器系统,U盘启动装WIN10系统教程,U盘安装WIN2019方法,UltraISO将Windows server 2016/2019安装盘ISO写入U盘进行安装...
  7. Express脚手架
  8. C++内存泄漏及解决办法
  9. java mac算法_Mac算法的java实现
  10. 计算机专业保研面试备考:高等数学