CentOS7 中使用 firewall-cmd 配置只允许指定ip访问本机的指定端口

CentOS7 中使用 firewall-cmd 配置只允许指定ip访问本机的指定端口

1、启动firewalld服务并设置开机自动启动,下面的命令必须在防火墙开启的状态下才可用 ,由于firewalld默认不是放行所有端口,所以启动firewalld会造成该机器的某些端口无法访问。
systemctl enable firewalld
systemctl start firewalld

2、更改防火墙默认区域为trusted,默认放行所有连接请求
firewall-cmd –set-default-zone=trusted

3.新建一个zone,将想要访问本机80端口的ip,如:192.168.1.123 ,添加的这个zone中,同时在这个zone中放行80端口。
firewall-cmd –permanent –new-zone=newzone

firewall-cmd –permanent –zone=newzone –add-source=192.168.1.123

firewall-cmd –permanent –zone=newzone –add-port=80/tcp

4.除192.168.1.123这个ip以外的地址访问本机时会使用当前默认的trusted这个zone里的规则,即禁止访问本机的80端口。
firewall-cmd –permanent –zone=trusted –add-rich-rule=“rule family=“ipv4” port protocol=“tcp” port=“80” drop”

systemctl restart firewalld

查看配置是否生效:

firewall-cmd –list-all-zone

firewall-cmd –list-all

对于一个请求具体优先使用哪个zone,优先级如下:

我们知道每个zone就是一套规则集,但是有那么多zone,对于一个具体的请求来说应该使用哪个zone(哪套规则)来处理呢?这个问题至关重要,如果这点不弄明白其他的都是空中楼阁,即使规则设置的再好,不知道怎样用、在哪里用也不行。

对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址 优先级最高

2、interface,接收请求的网卡 优先级第二

3、firewalld.conf中配置的默认zone 优先级最低

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个,也就是在firewalld.conf中配置的默认zone。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101905.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)

    使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)直接跳到末尾获取完整源码今天我将带着大家使用HTML、CSS和JS创建音乐播放器,没有使用任何其他库。我们的音乐播放器具有三个部分。主屏幕、播放器部分和播放列表部分。我们的主页部分有一个平滑的工作滑块,也有水平滚动。这个音乐播放器最好的部分是它最小化了音乐播放器。是的,您可以最小化和最大化播放器本身。使这个项目成为一个很棒的音乐播放器。❤️使用HTML、CSS和JS创建在线音乐播放器❤️????在线演示地址????完整代码结构????home-section首页部分???

    2022年6月26日
    62
  • Spring Boot MyBatis注解:@MapperScan和@Mapper

    Spring Boot MyBatis注解:@MapperScan和@Mapper需求缘起:在之前的文章中,我们定义DemoMapper类,但是并没有在该类上定义类似@Service或者@Controller之类的注解,那么为什么可以被Spring管理呢?(1)方式一:使用@Mapper注解为了让DemoMapper能够让别的类进行引用,我们可以在DemMapper类上添加@Mapper注解:Java代码@Mapper…

    2022年6月12日
    38
  • oracle sequence用法_oracle赋值

    oracle sequence用法_oracle赋值创建sequence:createsequenceseq_testincrementby1startwith1noMaxValuenoCyclecache10;createsequenceseq_test2minvalue1maxvalue21startwith1incrementby1cache20cycleorder;minValue:指定序列最小值。maxV…

    2022年10月19日
    4
  • Java手机游戏开发专辑「建议收藏」

    Java手机游戏开发专辑「建议收藏」Java手机游戏开发专辑  关键字 KXML MMAPI HTTP XML CLDC   移动动作游戏开发中的一些问题  即使目前最新型号的手机仍然不是最理想的游戏平台,但它已经是个良好的开端。处理器、内存和色彩深度提供了游戏开发所需的因素。开发者正努力把其它游戏平台上的质量标准运用到这个平台上。当然了,一些问题仍然存在,然而这些问题终将被解决,就象PC平台游戏开发者使用不断改进的Di

    2022年5月27日
    33
  • PHP代码调试_php调试工具

    PHP代码调试_php调试工具PHP语言没有多线程、同步等概念,大多由函数和类组成,数据类型和语法比较简单,利用其丰富的内置函数就可以实现大部分的调试功能。因此,PHP代码比较容易理解,也很容易调试。php代码调试的实现方式主要有两种:通过PHP的调试函数实现通过断点调试工具实现1.PHP的调试函数对于一般的PHP代码,使用几个常用的输出函数就可实现代码调试。常

    2022年10月2日
    2
  • Apache kylin 入门

    Apache kylin 入门

    2021年11月27日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号