linux(centos8):firewalld对于请求会选择哪个zone处理?
一,firewalld对一个请求会适用哪个zone?
当接收到一个请求时,firewalld具体使用哪个zone?
firewalld是通过三个步骤来判断的:
source,即:源地址
interface,即:接收请求的网卡
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个:
default, ACCEPT, REJECT 和 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)
linux(centos8):firewalld对于请求会选择哪个zone处理?的更多相关文章
- linux(centos8):firewalld的运行时日志配置
一,firewalld配置日志的用途: 在生产环境中,firewalld的默认配置是不记录日志 我们通过日志记录下防火墙过滤时拒绝的非法ip, 可以主动把这些有攻击性的ip加入到黑名单, 防患于未然 ...
- linux(centos8):firewalld使用ipset管理ip地址的集合
一,firewalld中ipset的用途: 1,用途 ipset是ip地址的集合, firewalld使用ipset可以在一条规则中处理多个ip地址, 执行效果更高 对ip地址集合的管理也更方便 2 ...
- Linux 防火墙firewalld
1.列出所有支持的 zone 和查看当前的默认 zone:[root@lxjtest ~]# systemctl start firewalld[root@lxjtest ~]# firewall-c ...
- Linux分发版本的试用及选择工具
https://www.forbes.com/sites/jasonevangelho/2019/06/15/how-to-test-drive-200-linux-distributions-wit ...
- linux(centos8):查看操作系统的当前版本(os/kernel/bash)
一,查看redhat系操作系统的版本: 适用于centos/fedora/rhel等 [root@centos8 ~]# cat /etc/redhat-release CentOS Linux re ...
- Linux防火墙firewalld安全设置
背景描述 防火墙是具有很好的保护作用.入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机.在公司里数据安全是最重要的,要求安全部门进行全公司进行服务器防火墙安全搭建,在原有的基础上进行安全的防火墙 ...
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP)
LNMP环境和软件版本: 名称 版本号 查询命令 Linux系统 CentOS Linux release 8.1.1911 (Core) cat /etc/redhat-release Nginx ...
- linux(centos8):kubernetes安装的准备工作
一,安装docker-ce19.03.11 1,卸载podman [root@kubemaster ~]# dnf remove podman podman是红帽系os自带的容器,卸载是为了避免冲突 ...
- linux(centos8):centos8.1安装(详细过程/图解)(vmware fusion/CentOS-8.1.1911-x86_64)
一,centos是什么? CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一, 它是来自于Red Hat En ...
随机推荐
- core的 Linq基本使用,简单模拟数据库多表的左右内连接的测试
1:先看效果: 2:部分代码截图 3:全部代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 n ...
- 自定义AQS独占模式下的同步器来实现独享锁
自定义AQS独占模式下的同步器来实现独享锁 /** * 自定义AQS独占模式下的同步器来实现独享锁 */ public class Mutex implements Lock, java.io.Ser ...
- oracle之三手工不完全恢复
手工不完全恢复 4.1 不完全恢复的特点: 1)让整个database 回到过去某个时间点,不能避免数据丢失. 2)想跳过坏日志而继续恢复所有其他工作是不可能的,前滚没有这个功能(考点). 3)必须以 ...
- mock接口开发——flask模块
1.mock接口开发: #1.模拟没有开发好的接口,你可以模拟它,,,,,,,需要调用其他系统的接口 #2.给别人提供数据 2.步骤:1.安装pip install flask 2.导入模块--起服务 ...
- python调用接口——requests模块
前提:安装pip install requests 导入import requests 1.get请求 result=requests.get(url,d).json() 或 .text 2. ...
- git注册到git管理远程仓库
注册: ① 注册github网站:地址:https://github.com/,其中sign up 是注册,sign in是登录 (如果是用QQ邮箱的话,如果觉得收不到邮箱,可能是在垃圾箱哦) ② 之 ...
- springboot、Thymeleaf、国际化的简单使用
1.项目体系结构 (1)知识体系 springboot:省去了很多繁琐的配置,如:视图解析器.前端控制器等 thymeleaf:获取controller数据逼能够进行展示 集合:用于存储数据,此练习没 ...
- python中圆周率的计算
蒙特卡罗方法计算圆周率 蒙特卡罗方法是一个撒点方法,取一个正圆的四分之一,和一个正方形的四分之一 形成一个单位方形,单位四分之一圆和四分之一正方形之比,就构成了圆周率 向这个区域撒点,如果点落在圆内部 ...
- archaius(2) 配置源
上一节讲到,archaius实现动态配置的核心就是定时去配置中心拉去配置内容,接下来几接就来看一下archaius内部具体是如何实现的. 首先我们来了解一下配置源,什么是配置源呢,archaius内部 ...
- spring framework源码之AnnotationConfigApplicationContext
AnnotationConfigApplicationContext 内部使用了AnnotatedBeanDefinitionReader:ClassPathBeanDefinitionScanner ...