rhel8防火墙firewalld操作

1.查看默认区域

复制代码
[root@localhost r]# firewall-cmd --get-default-zone
public

2.查看网卡关联的区域

复制代码
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
external

3.设置网卡的默认区域修改为work

复制代码
[root@localhost r]# firewall-cmd --zone=work --change-interface=ifcfg-ens160
success
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
work

注意:第二条语句说明,和网卡ifcfg-ens160关联的区域已经改成work,而不是原来的external。默认的模式是--Runtime模式,也就是说上述配置规则重启电脑后会失效。

接下来,自己执行reboot重启系统,然后查询网卡ifcfg-ens160的关联区域,可以发现原来的配置规则已经失效了,网卡ifcfg-ens160的关联区域又变回了external,如下:

复制代码
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
external
[root@localhost r]# 

4.下面用permanent模式(永久生效模式)修改网卡ifcfg-ens160的关联区域,发现修改后并不会立即生效,重启电脑(或者执行firewall-cmd --reload)后,修改才会永久生效

复制代码
//下面这句用永久生效模式修改ifcfg-ens160的关联区域为work
[root@localhost r]# firewall-cmd --permanent --zone=work --change-interface=ifcfg-ens160
success
//下面这句查询了网卡ifcfg-ens160关联区域仍然没有改变成work,因为永久生效模式只有重启
//电脑或者执行了firewall-cmd --reload后才会生效
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
external
//执行下面语句,作用是让永久生效的配置规则立即生效,并且覆盖当前的配置规则
[root@localhost r]# firewall-cmd --reload
success
//接下来再查询网卡ifcfg-ens160的绑定区域会发现:网卡ifcfg-ens160绑定区域已经换成work
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
work

5.修改默认区域的关联网卡的时候,如果不使用--zone=<区域>指定区域,那么改变的是默认区域的关联网卡,如果想让指定的网卡和某个指定的区域关联,那么必须使用--zone参数指定区域。如下,没有指定区域,就改变默认区域的关联网卡:

复制代码
[root@localhost r]# firewall-cmd --change-interface=ifcfg-ens160
success
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
public

注意:这个使用的模式是默认模式runtime模式,也就是立即生效,重启电脑失效。如果想永久生效,那么就得显式使用--permanent参数。如下印证了自己的判断:

复制代码
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
public
//下面这句相当于重启电脑
[root@localhost r]# firewall-cmd --reload
success
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
work

6.关于permanent参数的使用

不管是查询也好,设置也罢,permanent的意思是使用永久设置模式查询(设置)。加了permanent是表示查询或者设置的时候是永久模式下的。

复制代码
[root@localhost r]# firewall-cmd --get-zone-of-interface=ifcfg-ens160
public
[root@localhost r]# firewall-cmd --permanent --get-zone-of-interface=ifcfg-ens160
work

7.看一个实验

8.紧急模式

9.查询ssh和https协议的流量是否是允许放行的。

用法:查询 协议1 对于 服务1 来说,是否是被允许的,可以用--query-service来指定协议,用--zone指定区域(如果指定,就是用默认区域).

复制代码
//查询ssh协议的内容对于服务dmz来说是否是允许放行的
//注:ssh是一种协议,用于计算机之间的加密登录
[root@localhost r]# firewall-cmd --zone=dmz --query-service=ssh
yes

[root@localhost r]# firewall-cmd --zone=block --query-service=ssh
no
[root@localhost r]# firewall-cmd --zone=drop --query-service=ssh
no

10.设置https协议的流量对public区域是永久放行的,并且立即生效。

复制代码
[root@localhost r]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@localhost r]# firewall-cmd --permanent --zone=public --query-service=https
yes
[root@localhost r]# firewall-cmd --zone=public --query-service=https
no
//不想重启电脑就执行 firewall-cmd --reload
[root@localhost r]# firewall-cmd --zone=public --query-service=https
yes

11.把https的流量设置成永久拒绝的,并且立即生效

复制代码
[root@localhost r]# firewall-cmd --permanent --zone=public --remove-service=https
success
[root@localhost r]# firewall-cmd --reload
success

12.把8080和8081端口的流量和策略设置为允许,但权限当前生效。

复制代码
[root@localhost r]# firewall-cmd --zone=public --add-port=8080-8081 
Error: INVALID_PORT: bad port (most likely missing protocol), correct syntax is portid[-portid]/protocol

[root@localhost r]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@localhost r]# firewall-cmd --zone=public --list-ports
8080-8081/tcp

注意:上面的第一句代码中出现了错误,根据提示可以看出,指定端口必须是如下形式,每种形式都必须有协议:

复制代码
port/protocol
port1-port2/protocol
相关推荐
YuMiao11 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器