CentOS 7/8 预装的新型防火墙firewalld配置详解,你会用吗( 三 )


[root@zcwyou ~]# firewall-cmd --list-all-zones4.29 显示XX区域详情
[root@zcwyou ~]# firewall-cmd --zone=XX --list-all4.30 查看当前活跃区域
[root@zcwyou ~]# firewall-cmd --get-active-zones4.31 设置XX接口所属区域
[root@zcwyou ~]# firewall-cmd --get-zone-of-interface=XX4.32 查询YY区域中是否包含XX接口
[root@zcwyou ~]# firewall-cmd --zone=YY --query-interface=XX4.33 删除指定XX网卡所在的zone(以YY为例)
[root@zcwyou ~]# firewall-cmd --zone=YY --remove-interface=XX4.34 临时修改XX接口为YY区域
[root@zcwyou ~]# firewall-cmd --zone=YY --change-interface=XX永久修改加参数--permanent
4.35 控制端口 / 服务
可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名 。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭 。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp 。
富规则
[root@zcwyou ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"[root@zcwyou ~]# systemctl restart firewalld.service5. firewalld服务管理

CentOS 7/8 预装的新型防火墙firewalld配置详解,你会用吗

文章插图
 
firewalld服务管理
5.1 显示支持的服务
[root@zcwyou ~]# firewall-cmd --get-services5.2 临时允许Samba服务通过600秒
[root@zcwyou ~]# firewall-cmd --add-service=samba --timeout=6005.3 显示默认区域开启的服务,如果要查某区域,加参数--zone=XX
[root@zcwyou ~]# firewall-cmd --list-services5.4 添加HTTP服务到内部区域(internal),并保存到配置文件
[root@zcwyou ~]# firewall-cmd --permanent --zone=internal --add-service=http在不改变状态的条件下重新加载防火墙
[root@zcwyou ~]# firewall-cmd --reload5.5 开放MySQL服务
[root@zcwyou ~]# firewall-cmd --add-service=mysql5.6 阻止mysql服务
[root@zcwyou ~]# firewall-cmd --remove-service=mysql5.7 端口管理
临时打开443/TCP端口,立即生效
[root@zcwyou ~]# firewall-cmd --add-port=443/tcp5.8 永久打开3690/TCP端口
[root@zcwyou ~]# firewall-cmd --permanent --add-port=3690/tcp5.9 永久打开端口需要reload一下,如果用了reload临时打开的端口就失效了
[root@zcwyou ~]# firewall-cmd --reload5.10 查看防火墙所有区域的设置,包括添加的端口和服务
[root@zcwyou ~]# firewall-cmd --list-all5.11 开放通过tcp访问3306
[root@zcwyou ~]# firewall-cmd --add-port=3306/tcp5.12 阻止tcp80
[root@zcwyou ~]# firewall-cmd --remove-port=80/tcp5.13 开放通过udp访问233
[root@zcwyou ~]# firewall-cmd --add-port=233/udp5.14 查看开放的端口
[root@zcwyou ~]# firewall-cmd --list-ports假设自定义的ssh端口号为12222,使用下面的命令来添加新端口的防火墙规则
[root@zcwyou ~]# firewall-cmd --add-port=12222/tcp --permanent使用--permanent参数可以将更改保存到配置文件 。
5.15 重启防火墙
永久打开端口需要reload一下,如果用了reload临时打开的端口就失效了
[root@zcwyou ~]# firewall-cmd --reload5.16 添加端口范围
还可以添加一个端口范围
[root@zcwyou ~]# firewall-cmd --add-port=2000-4000/tcp5.17 针对指定zone XX添加端口
[root@zcwyou ~]# firewall-cmd --permanent --zone=XX --add-port=443/tcp6. 管理区域中的对象
CentOS 7/8 预装的新型防火墙firewalld配置详解,你会用吗

文章插图
 
管理区域中的对象
6.1 获取永久支持的区域
[root@zcwyou ~]# firewall-cmd --permanent --get-zones6.2 启用区域中的服务
firewall-cmd --permanent [--zone=] --add-service=
此举将永久启用区域中的服务 。如果未指定区域,将使用默认区域 。
临时开放mysql服务,立即生效
[root@zcwyou ~]# firewall-cmd --add-service=mysqlpublic区域,添加httpd服务,并保存,但不会立即生效,需要reload防火墙
[root@zcwyou ~]# firewall-cmd --permanent --zone=public --add-service=httpdpublic区域,禁用httpd服务,并保存,但不会立即生效,需要reload防火墙
[root@zcwyou ~]# firewall-cmd --permanent --zone=public --remove-service=httpd7. 端口转发
端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口 。转发的目的如果不指定ip的话就默认为本机,如果指定了ip却没指定端口,则默认使用来源端口 。


推荐阅读