zoukankan      html  css  js  c++  java
  • linux(centos8):firewalld对于请求会选择哪个zone处理?

    一,firewalld对一个请求会适用哪个zone?

    当接收到一个请求时,firewalld具体使用哪个zone?

    firewalld是通过三个步骤来判断的:

    1. source,即:源地址

    2. interface,即:接收请求的网卡

    3. firewalld.conf中配置的默认zone

      通常值为:DefaultZone=public

    说明:三个步骤的优先级顺序降低

    即:如果通过source匹配到了一个zone,

           则不会再使用interface,

           如果通过interface匹配到了zone,

           则不会再使用默认zone

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/

    说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,zone的操作

    1,列出当前激活的zone

    [root@blog ~]# firewall-cmd --get-active-zones
    public
      interfaces: eth0
    trusted
      sources: 121.122.123.105

    2,列出缺省的zone

    [root@blog ~]# firewall-cmd --get-default-zone
    public

    3,列出所有的zone

    [root@blog ~]# firewall-cmd --get-zones
    block dmz drop external home internal public trusted work

    三,source和zone的绑定操作

    1,得到一个source所属的zone

    [root@blog ~]# firewall-cmd --get-zone-of-source=121.122.123.105
    trusted

    2,绑定一个source到zone

    例子:把121.122.123.118绑定到trusted这个zone

    [root@blog ~]# firewall-cmd --permanent --zone=trusted --add-source=121.122.123.118
    success
    [root@blog ~]# firewall-cmd  --reload
    success

    3,一个source能否绑定到了两个zone?

    当121.122.123.118已经被绑定到trusted这个zone后,

    能否再被绑定到drop这个zone?

    [root@blog ~]# firewall-cmd --permanent --zone=drop --add-source=121.122.123.118
    Error: ZONE_CONFLICT: 121.122.123.118

    报错,一个source不能同时绑定到两个zone

    4,列出一个zone下绑定的source

    [root@blog ~]# firewall-cmd --permanent --zone=trusted --list-sources
    121.122.123.105

    5,把一个source从zone下解除绑定

    [root@blog ~]# firewall-cmd --permanent --zone=trusted --remove-source=121.122.123.118
    success

    6,查询一个source是否和指定的zone做了绑定?

    [root@blog firewalld]# firewall-cmd --permanent --zone=drop --query-source=121.122.123.118
    yes

    四,interface和zone的绑定操作

    1,得到一个interface所属的zone

    [root@blog ~]# firewall-cmd --get-zone-of-interface=eth0
    public

    2,列出一个zone下绑定的interface

    [root@blog firewalld]# firewall-cmd --zone=public --list-interfaces
    eth0

    3,列出所有的interface

    [root@blog firewalld]# firewall-cmd --list-interfaces
    eth0

    4,查询一个zone下是否绑定了指定的interace?

    [root@blog firewalld]# firewall-cmd --zone=public --query-interface=eth0
    yes

    5,一个interface能否同时属于多个zone?

    [root@blog firewalld]# firewall-cmd --zone=trusted --add-interface=eth0
    Error: ZONE_CONFLICT: 'eth0' already bound to a zone

    6,从zone下移除interface

    [root@blog firewalld]# firewall-cmd --permanent --zone=public --remove-interface=eth0
    The interface is under control of NetworkManager and already bound to the default zone
    The interface is under control of NetworkManager, setting zone to default.
    success

    说明:如果一个interface被NM绑定到了default zone,

    则不能解绑,

    五,如何修改默认的zone?

    #--set-default-zone:设置缺省zone

    [root@blog firewalld]# firewall-cmd --set-default-zone=public
    success

    说明:这个命令同时修改了配置文件

    [root@blog firewalld]# grep DefaultZone /etc/firewalld/firewalld.conf
    DefaultZone=public

    我们也可以手动修改配置文件

    [root@blog firewalld]# vi /etc/firewalld/firewalld.conf

    修改DefaultZone指令的值:

    DefaultZone=public

    然后重启firewalld

    [root@blog firewalld]# systemctl restart firewalld.service 

    六,查看一个zone的target

    1,得到zone的target

    [root@blog firewalld]# firewall-cmd --permanent --get-target --zone=public
    default
    [root@blog firewalld]# firewall-cmd --permanent --get-target --zone=trusted
    ACCEPT
    [root@blog firewalld]# firewall-cmd --permanent --get-target --zone=drop
    DROP

    说明:用--list-all参数也可以把指定zone的信息都打印出来

    2,target的值通常有4个:

    defaultACCEPTREJECT 和 DROP

    ACCEPT:除了明确禁止的规则,默认会接受所有流入的数据包。

    REJECT:除了明确允许的规则,默认会拒绝所有流入的数据包, 

                   但会给发出连接请求的机器回复被拒绝的消息

    DROP:除了明确允许的规则,默认会拒绝所有流入的数据包, 

                  不会给发起连接请求的机器回复任何消息

    default:没有指定时,target的值是default:规则就是:每个没有匹配上的包将会拒绝

    (If the target is not specified, every packet not matching any rule will be rejected.)

    文档地址:

    https://firewalld.org/documentation/zone/options.html

    七,查看firewalld的版本

    [root@blog ~]# firewall-cmd --version
    0.6.3

    八,查看linux的版本

    [root@blog ~]# cat /etc/redhat-release
    CentOS Linux release 8.0.1905 (Core)
  • 相关阅读:
    在Winform框架界面中改变并存储界面皮肤样式
    基于主从表数据录入的处理
    使用ew完成多场景下内网代理穿透
    内网渗透中的端口转发——工具很全
    内网渗透常见端口转发方式——lcx netsh rinetd warthworm regeorg msf portfwd sccat metasploit socks4a tunna
    内网渗透代理和转发
    内网渗透代理——reGeorg 利用 webshell 建立一个 socks 代理进行内网穿透,本质上就是在webshell上做了一个代理转发而已
    内网渗透代理——内网的防火墙只配置了入站规则比如只有80端口
    web未授权访问漏洞总结——mongodb、redis、memcache、jboss、vnc、docker、zk、rsync
    web未授权访问漏洞总结——非常全而细致 redis、mongodb、jenkins、zk、es、memcache、hadoop、couchdb、docker
  • 原文地址:https://www.cnblogs.com/architectforest/p/12986133.html
Copyright © 2011-2022 走看看