firewalld: 防火墙的zone
一,查看当前所有的zone
1,列出当前系统中所有的zone
[root@blog ~]# firewall-cmd --get-zones
block dmz drop external home internal nm-shared public trusted work
2,系统预设的zone之间有什么区别?
列出所有zone的规则:
[root@blog ~]# firewall-cmd --list-all-zones
不同的zone不过是services或者target配置不同,是系统预设的,适合某些场景的配置,不用你自己再手动添加zone而已。
这些zone默认都没有生效,需要添加source或者interface,才会被激活
二,查看当前默认的zone
1, 从命令行查看
[root@blog ~]# firewall-cmd --get-default-zone
public
2, 设置:
firewall-cmd --set-default-zone=[zonename]
3,从配置文件进行设置:
编辑firewalld的配置文件:/etc/firewalld/firewalld.conf
[root@blog ~]# vi /etc/firewalld/firewalld.conf
用DefaultZone选项指定默认的zone
# default zone
# The default zone used if an empty zone string is used.
# Default: public
DefaultZone=public
三,查看当前起作用的zone
1,哪个zone在起作用?
对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:
1,source,也就是源地址
2,interface,接收请求的网卡
3,firewalld.conf中配置的默认zone
这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个
2,查看当前起作用的zone
[root@blog ~]# firewall-cmd --get-active-zones
public
interfaces: eth0
trusted
sources: 1.2.3.4
四,添加/删除自定义zone
1,添加一个自定义zone
说明:添加新zone需要reload之后才能生效,否则不能正常访问
[root@blog ~]# firewall-cmd --permanent --new-zone=myzone
success
[root@blog ~]# firewall-cmd --zone=myzone --list-all
Error: INVALID_ZONE: myzone
[root@blog ~]# firewall-cmd --permanent --zone=myzone --add-service=ssh
success
[root@blog ~]# firewall-cmd --get-zones
block dmz drop external home internal nm-shared public trusted work
[root@blog ~]# firewall-cmd --reload
success
[root@blog ~]# firewall-cmd --get-zones
block dmz drop external home internal myzone nm-shared public trusted work
[root@blog ~]# firewall-cmd --zone=myzone --list-all
myzone
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
2, 删除我们自定义的zone
可以看到:删除zone时,同样也是在reload之后才生效
[root@blog ~]# firewall-cmd --permanent --delete-zone=myzone
success
[root@blog ~]# firewall-cmd --zone=myzone --list-all
myzone
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@blog ~]# firewall-cmd --reload
success
[root@blog ~]# firewall-cmd --zone=myzone --list-all
Error: INVALID_ZONE: myzone
[root@blog ~]# firewall-cmd --get-zones
block dmz drop external home internal nm-shared public trusted work
五,根据source/interface反查zone
1,根据source反查zone
[root@blog ~]# firewall-cmd --get-zone-of-source=123.112.208.148
trusted
2,列出所有的interface
[root@blog ~]# firewall-cmd --list-interfaces
eth0
根据interface反查zone
[root@blog ~]# firewall-cmd --get-zone-of-interface=eth0
public