firewalld-cmd简介

2023-05-16

firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念

firewalld有图形界面和工具界面,由于我在服务器上使用,图形界面请参照官方文档,本文以字符界面做介绍

firewalld的字符界面管理工具是 firewall-cmd

firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)

zone概念:硬件防火墙默认一般有三个区,firewalld引入这一概念系统默认存在以下区域(根据文档自己理解,如果有误请指正):

  • drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。(黑名单)

  • block(限制):任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。

  • public(公共):在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。(默认区域)

  • external(外部):特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。

  • dmz(非军事区):用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。

  • work(工作):用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。

  • home(家庭):用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。

  • internal(内部):用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。

  • trusted(信任):可接受所有的网络连接。(白名单)

    说明:firewalld 的默认区域是 public

显示所有支持的分区:


$ firewall-cmd --get-zones 
block drop work internal external home dmz public trusted  

网络请求如何判断使用哪个 zone 的   firewalld 是如何规定一个网络请求使用的时哪个 zone 上的规则呢?首先会根据 zone 上绑定的 source 进行判断,然后再根据 interface 进行判断。比如:我现在有两台机器,一台我本机(192.168.1.188),另一个是虚拟机(192.168.1.61)。以下操作未说明的情况下都是在虚拟机上:

root执行 # yum install firewalld firewall-config

3、运行、停止、禁用firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

启动:# systemctl start firewalld

停止:# systemctl stop firewalld

使能:# systemctl enable firewalld

禁用:# systemctl disable firewalld

4、配置firewalld

查看版本:$ firewall-cmd --version

查看帮助:$ firewall-cmd --help

查看设置:


            显示状态:$ firewall-cmd --state
​
            查看区域信息: $ firewall-cmd --get-active-zones
​
            查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=eth0  

拒绝所有包:# firewall-cmd --panic-on

取消拒绝状态:# firewall-cmd --panic-off

查看是否拒绝:# firewall-cmd --query-panic

更新防火墙规则:# firewall-cmd --reload

# firewall-cmd --complete-reload

两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务

将接口添加到区域,默认接口都在public

firewall-cmd --zone=public --add-interface=eth0 永久生效再加上 --permanent 然后reload防火墙

设置默认接口区域

firewall-cmd --set-default-zone=public

立即生效无需重启

打开端口(貌似这个才最常用)

查看所有打开的端口:

firewall-cmd - -zone=dmz --list-ports

加入一个端口到区域:

firewall-cmd --zone=dmz --add-port=8080/tcp

打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹

firewall-cmd --zone=work --add-service=smtp

移除服务

firewall-cmd --zone=work --remove-service=smtp

启动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

#限制某个ip访问 firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="10.6.1.2" drop'

#查看当前zones

firewall-cmd --get-active-zones

#显示当前开放端口

firewall-cmd --zone=public --list-ports

#添加端口到永久区

firewall-cmd --permanent --zone=public --add-port=61080/tcp --add-port=61446/tcp

#添加服务到永久区

firewall-cmd --permanent --zone=public --add-service=samba

firewall-cmd --add-service=nfs

#刷新配置,添加到永久区后必须刷新配置才能生效

firewall-cmd --reload

#显示当前开放端口

firewall-cmd --zone=public --list-ports

#显示当前开放的服务

firewall-cmd --zone=public --list-service

firewall-cmd --state 获取firewalld状态 firewall-cmd --complete-reload 完全重启,状态信息将会丢失 firewall-cmd --get-zones

firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'`** 获取所有支持的服务,支持的服务存放在/usr/lib/firewalld/services目录下。 服务是firewalld所使用的有关端口和选项的规则集合。 被启动的服务会在firewalld服务开启或运行是自动加载。 我们还可以创建自己的服务,即添加端口和服务的对应关系,将在下面讲解。 firewall-cmd --get-icmptypes 获取所有支持的ICMP类型

firewall-cmd --list-all-zones 列出全部启用的区域的特性(即查询当前防火墙策略),特性是定义的防火墙策略。 策略如:服务、端口和协议的组合、端口/数据报转发、伪装、ICMP拦截或自定义规则等。 该命令会列出所有区域的所有特性,包括详细规则(rich-rules)。

firewall-cmd [--zone=区域] --list-all 输出指定区域启用的全部特性,如果区域被省略,将显示默认区域的信息。

firewall-cmd --get-default-zone 查默认区域,默认的默认区域为public

firewall-cmd --set-default-zone=区域 设置默认区域,也可通过/etc/firewalld/firewalldconf中的DefaultZone配置项定义默认区域。 流入默认区域中配置的接口的新访问请求将被置入新的默认区域。当前活动的连接将不受影响。

firewall-cmd --get-active-zones 获取活动的区域,同时会输出活动区域所包含的接口。

firewall-cmd --get-zone-of-interface=网卡名 查指定接口属于哪个区域

firewall-cmd [--zone=区域] --add-interface=接口名 将指定接口增加到指定区域,如果区域被省略了,将会被添加到默认区域。 一个接口同时只能属于一个区域,接口会在防火墙重新加载后重新应用。

firewall-cmd [--zone=区域] --change-interface=接口名 修改接口所属区域,这个选项与--add-interface选项相似。 但不同的是,当接口已经存在于另一个区域的时候,该接口将被重置到新的区域。

firewall-cmd [--zone=区域] --remove-interface=接口名 从指定区域中删除指定接口,删除后,这个接口的所有数据包将使用默认区域的规则。

firewall-cmd [--zone=区域] --query-interface=接口名 查指定区域中是否包含指定接口,如果区域被省略了,将被指定为默认区域。

firewall-cmd [--zone=区域] --list-services 列举区域中启用的服务,如果区域被省略了,将使用默认区域。

firewall-cmd --query-masquerade 检查是否允许NAT转发 firewall-cmd --zone=public --add-masquerade --permanent 永久开启路由转发 firewall-cmd --remove-masquerade 禁止防火墙NAT转发

firewall-cmd --panic-on 启用应急模式,将阻断所有网络连接,以防出现紧急状况。 firewall-cmd --panic-off 禁用应急模式 firewall-cmd --query-panic 查应急模式状态

firewalld中的富语言规则表示更细致,更详细的防火墙策略配置,他可以针对系统服务、端口号、原地址和目标地址等诸多信息进行更有针对性的策略配置,优先级在所有的防火墙策略中也是最高的,下面为firewalld富语言规则帮助手册Copy to clipboardErrorCopied


#富规则语法
[root@web02 ~]# man firewalld.richlanguage
rule
[source]
[destination]
service|port|protocol|icmp-block|icmp-type|masquerade|forward-port|source-port
[log]
[audit]
[accept|reject|drop|mark]
​
rule [family="ipv4|ipv6"]
source address="address[/mask]" [invert="True"]
service name="service name"
port port="port value" protocol="tcp|udp"
protocol value="protocol value"
forward-port port="port value" protocol="tcp|udp" to-port="port value" to-addr="address"
accept | reject [type="reject type"] | drop
​
​
#富语言规则相关命令
--add-rich-rule='<RULE>'        #在指定的区域添加一条富语言规则
--remove-rich-rule='<RULE>'     #在指定的区删除一条富语言规则
--query-rich-rule='<RULE>'      #找到规则返回0,找不到返回1
--list-rich-rules               #列出指定区里的所有富语言规则Copy to clipboardErrorCopied  

1、实列一 例题:允许10.0.0.1主机能够访问http服务,允许172.16.1.0/24能访问10050端口**


#允许10.0.0.1主机能够访问http服务
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 service name=http accept'
​
#允许172.16.1.0/24能访问10050端口
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=111 protocol=tcp accept'Copy to clipboardErrorCopied  

2、实列二例题:默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器


1)#允许public区域所有访问ssh,拒绝172.16.1.0/24网段连接
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh reject'
​
2)#允许public区域所有访问ssh,拒绝172.16.1.0/24网段连接
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh drop'
​
#drop和reject区别:
  drop 直接丢弃,不返回任何内容
  reject拒绝,返回拒绝的内容Copy to clipboardErrorCopied  

3、实列三例题:当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.7的22端口


#端口转发
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 forward-port port=5555 protocol=tcp to-port=22 to-addr=172.16.1.7'
success
[root@web02 ~]# firewall-cmd --add-masquerade 
successCopy to clipboardErrorCopied  

4、firewalld(禁ping)

[root@web02 ~]# firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'

5、查看富规则


[root@web02 ~]# firewall-cmd --list-rich-rules
rule family="ipv4" source address="10.0.0.1" forward-port port="5555" protocol="tcp" to-port="22" to-addr="172.16.1.7"Copy to clipboardErrorCopied  

注:一般所有的拒绝或接受都配置在默认区域,当指定IP访问指定端口或者服务的时候使用富规则

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

firewalld-cmd简介 的相关文章

  • 批处理脚本:%0 和 %~f0 有什么区别?

    我有一个批处理脚本 我想在其中获取脚本的完整路径 我很好奇 这之间有什么区别吗 set scriptpath 0 和这个 set scriptpath f0 谢谢你的帮助 0引用参数 0 批处理文件的名称 始终与命令行或另一个批处理文件中指
  • 如何在没有终端(保持打开状态)的情况下运行 .bat 文件?

    我想用 bat 运行一个 jar 文件 jar 文件似乎不想自行打开 但现在这是一个不同的问题 但随着 java 文件运行很长时间 命令提示符保持打开状态 当 bat jar 仍在运行时 我不想要这个 我在某处读到您可以使用 cmd 文件和
  • 使用cmd获取当前用户路径变量而不使用系统路径

    当我使用标准用户 也是管理员 登录时 命令echo PATH 返回系统路径 用户路径 如何只获取用户的路径 例如 当我当前用户的路径是C ruby C java bin系统路径是 SystemRoot system32 SystemRoot
  • 导入 _imaging 时 DLL 加载失败:

    我正在尝试运行我的 Python 程序 这些是我要导入的模块 从 tkinter 导入 从 functools 导入部分将 numpy 导入为 np 导入 matplotlib matplotlib use TkAgg 从 matplotl
  • 如何在 Windows 中使用命令提示符创建多个空文件

    我正在开发一个项目 需要创建多个空文件 过去 我使用过 touch 命令 但这只能让我一次创建一个文件 有没有办法在 Windows 中使用命令提示符创建多个空文件 我感谢您提出的任何建议或解决方案 谢谢你 A FOR循环将允许您创建任意数
  • 如何在 Windows 10 上为 conda 初始化 shell?

    当我跑步时conda init cmd exe在正常或管理模式下 我收到以下错误 WARNING Cannot install xonsh wrapper without a python interpreter in prefix C U
  • 如何在执行android仪器测试时在cmd控制台中打印日志

    我在windows系统上打开cmd 然后输入 adb shell am instrument w com demo uia test android support test runner AndroidJUnitRunner 运行 And
  • 获取屏幕分辨率作为cmd中的变量

    我需要一个脚本来根据所使用的屏幕分辨率复制特定图像 到目前为止我发现wmic desktopmonitor get screenheight给了我适当的输出 但我在将其解析为可用变量时遇到问题 问题是输出分为三行 我只需要第二行的信息 有人
  • 阻止 CMD 始终以管理员权限打开

    无论我如何打开它 cmd exe 总是以管理员权限打开 没有的话怎么打开呢 是否缺少某些注册表设置 即使我直接从运行对话框打开它或双击 system32 文件夹 它仍然会以管理员权限打开 Thanks Found out I was mis
  • Powershell命令:rm -rf

    rm是删除item 但是参数是多少 rf做或表示 每当我输入 help rf 时 它都会打印 powershell 中可用命令的完整列表 如果您输入会发生什么rm rf在 powershell 中 通过阅读周围的资料 我发现它会删除驱动器上
  • 文件类型 .pl 关联并使用 cmd.exe 运行脚本

    我创建了一个新的文件类型 pl 资源管理器 gt 工具 gt 文件夹选项 gt 文件类型 现在我想创建一个新的操作 它将调用 cmd exe 并自动运行 PERL 脚本 我不知道在 用于执行操作的应用程序 下要写什么 我必须向 cmd ex
  • VS Code 终端无法识别 PATH 变量

    我在 PATH 中添加了一个目录 但 VS Code 中的终端无法识别我尝试从该目录运行的命令 exe 终端使用 cmd 而不是 power shell 我缺少什么 重新启动我的计算机 它就工作了 显然 VS Code 无法识别这些更改
  • 如何测试 Windows (10) 上是否安装了 Python,如果未安装则运行 exe 来安装它?

    仅当第一个命令失败时 我才需要在 Windows cmd 上运行第二个命令 在另一个场景中 我想在检查 python setup 是否安装后打开它 我用了这个命令 python version path to python install
  • 从 CMD 切换启用/禁用以太网适配器

    我正在尝试创建一个 bat文件 可以启用 禁用我的以太网适配器 但我对编码或 cmd 语法没有太多了解 我正在考虑使用netsh命令如下 IF Ethernet adapter is enabled GOTO disable ELSE GO
  • 在 C# 中将参数传递给 .cmd 文件

    我有一个 cmd 文件 它要求用户输入 并根据该输入执行进一步的步骤 我正在尝试编写一个程序来在 C 中自动执行此过程 以便命令提示符在后台运行 不会弹出给用户 消除所有用户交互 并且传递参数 我参考了多个答案 但没有找到解决方案 我已经提
  • 如何使用 Windows forfiles 命令的完整路径运行命令?

    我正在尝试运行以下命令 forfiles p Schemas m xsd c cmd c C Program Files x86 Microsoft SDKs Windows v10 0A bin NETFX 4 6 1 Tools xsd
  • ExtJS 6 - 没有 CMD 的枢轴

    我想使用简单的测试 html 而不使用 cmd 来评估枢轴网格的功能 我已阅读这些链接中的信息 但仍然无法安装工作环境 https docs sencha com extjs 6 0 co ivot grid html https docs
  • 使用cmd打开包含多个空格的文件时出现问题

    我使用 java 调用下面的命令 这是java初始化 String fileName C temp A a txt String sCmd cmd c start fileName 这是我打印 sCmd 时得到的结果 cmd c start
  • 如何获取Windows服务的动态PID然后杀死它?

    我有自己的Windows服务 我想获取服务的PID 然后在cmd中杀死它 哪个命令可以为我执行此操作 你可以使用tasklist枚举进程 echo off for f tokens 2 p in tasklist fi imagename
  • 将文件夹中的所有文件及其所有子文件夹移动到一个大文件夹中 - windows xp

    我有一个文件夹 c downloads ffme 里面有很多子文件夹 每个子文件夹中都有不同数量的文件 我想将所有这些单独的文件合并到一个大文件夹中 同时将它们从子文件夹中删除 我希望最终得到一个包含大量文件的文件夹 但没有子文件夹 我怎样

随机推荐

  • 【PHP】使用mpdf生成pdf文件

    本文主要需求是将html页面转换为pdf文档 1 安装mpdf工具类 xff08 composer方式 xff09 composer require mpdf mpdf 8 0 3 2 控制器里调用 lt php public functi
  • ubuntu2004安装cuda11.7+cuDNN8.6 deb版本

    ubuntu2004安装cuda11 7 43 cuDNN8 6 deb版本 1 显卡驱动安装1 1查看驱动版本 2 安装cuda2 1安装前检查2 2下载CUDA11 72 3安装2 4设置环境变量2 5检测 3 cuDNN安装3 1下载
  • FastAdmin 插件离线安装不成功的原因

    离线安装 1 xff09 登录后台 进入插件管理 xff0c 选择本地安装或者是离线安装 2 xff09 安装时会进行压缩包验证 版本依赖 判断 xff0c 提升从官网下载压缩包 3 xff09 绕过判断 xff0c 直接安装的方式 xff
  • 微擎手机端传图总是提示4M限制修改

    app resource js app util js 这个文件里 fileSizeLimit 4194304 fileSingleSizeLimit 4194304 4194304最后加一个0就变40M了 4 1024 1024 61 4
  • 数学中的特殊符号

    正负号 xff1a 加号 xff1a 43 减号 xff1a 百分号 xff1a 等号 xff1a 61 a a xff0f b 61 a b a 0b xfe65 0 ab 61 a b a 0b 0 i 61 1 x 2 这个是x的2次
  • Ubuntu+ROS+opencv4.3.0 修改cv_bridge配置文件,解决ROS与opencv版本冲突问题

    Ubuntu18 04 43 ROS melodic 43 opencv4 3 0 修改cv bridge配置文件 xff0c 解决ROS使用不同版本opencv的冲突问题 在ros下使用opencv读取图像话题时 xff0c 在OpenC
  • Highcharts 柱状图不显示0

    Highcharts 柱状图显示0值会给人造成误解 xff0c 毕竟0值和空值是两个结果 解决方案 xff1a 将数据源 0值替换为null
  • FastReport模板字段为Null却显示0 ; 以及0被隐藏、不显示的解决方法

    FastReport模板字段为Null却显示0 以及0被隐藏 不显示的解决方法 字段为Null 不默认显示0 取消勾选后 xff0c null就不会显示0 数值0不隐藏 调整 xff1a 属性 HideZeros False xff0c 0
  • ASP.NET控件FileUpload实现Excel文件内容上传到数据库

    实现思路 xff1a Excel的内容并不可以直接上传到数据库 xff0c 所以先将Excel内容读取出来转化为DataSet xff0c 然后可以得到DataTable xff0c 遍历每一行 xff0c 存到数据库里就好了 前台只放了两
  • Echarts折线图平滑问题

    Echarts3 0官网上的折线图不够平滑 xff0c 有棱角 看着不舒服 xff08 个人感觉 xff09 xff0c 解决办法 xff1a 增加一个属性 smooth true name 39 最高气温 39 type 39 line
  • Visual Studio 附加到进程调试找不到问w3wp.exe的解决办法

    1 在IIS中部署好站点 xff0c 确保有一个应用程序池在跑 2 设置好断点后 xff0c 调试 gt 附加到进程 xff0c 勾选 显示所有用户的进程 xff0c 在英文输入法的状态下 xff0c 按下 W 键 xff0c 快速找到 w
  • DIV鼠标悬停显示文字

    最简洁的办法是加一个 title属性 lt div title 61 34 停止回放 34 gt lt div gt
  • OpenCV:多线程加速的多尺度模板匹配

    OpenCV中的模板匹配 matchTemplate 一直被诟病 xff0c 原因是不能多尺度识别且不能旋转识别 xff0c 后者比较复杂 xff0c 这里只讨论前者 网上多数示例都是从一张图上截取一个目标 xff0c 然后进行匹配识别 x
  • 如何快速转载CSDN中的博客

    以下内容转载自 https blog csdn net zhongjianblackberry article details 79456338 在参考 如何快速转载CSDN中的博客 后 xff0c 由于自己不懂html以及markdown
  • 5680在网设备开启端口聚合不断网的方法----我测试不断网

    在5680T做双端口聚合上行的时候 xff0c 要先给正在使用的端口开启端口聚合 比如目前使用0 19 0 端口千兆上行 xff0c 计划将0 19 0 和0 19 1的2个端口做端口聚合 xff0c 然后双千兆上行 网上查的说是直接输入
  • 正则表达式:(?:) 或 .*? 或 .+?

    一 这个代表不捕获分组 比较 X 和 X xff0c 前者是捕获分组 xff0c 后者不捕获 xff0c 区别在于正则表达式匹配输入字符串之后所获得的匹配的 xff08 数 xff09 组当中没有 X 匹配的部分 xff1b 例如 xff1
  • Maven 多个war项目的引用关系 overlay配置实例

    在Maven项目中 xff0c 一般是jar文件的依赖 xff0c 但是也要考虑一种情况 xff0c 那就是war项目的依赖 比如说base war项目包含基本的网页 xff0c 但是需要为另外有一个定制的war项目有几个页面是需要特别定制
  • NVIDIA CUDA, CUDNN, MATLAB配置

    64 NVIDIA 深度学习环境配置 配置NVIDIA GPU以支持MATLAB等计算平台进行并行计算 NVIDIA NVIDIA 支持并行计算 xff0c 可提高深度学习的计算效率 从硬件到软件的链条是 xff1a NVIDIA GPU
  • OAuth2.0四种授权模式以及Oauth2.0实战

    OAuth2 0四种授权模式以及Oauth2 0实战 首先我们得了解什么是Oauth2 0 xff0c 简单来说Oauth2 0它是一个授权协议 我们可能会听说过 xff0c 使用Oauth2 0来实现单点登录SSO xff0c 以及第三方
  • firewalld-cmd简介

    firewalld是centos7的一大特性 xff0c 最大的好处有两个 xff1a 支持动态更新 xff0c 不用重启服务 xff1b 第二个就是加入了防火墙的 zone 概念 firewalld有图形界面和工具界面 xff0c 由于我