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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发狂的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值