firewalld防火墙匹配规则:
1、如果传入包的源地址与区域的某个源地址规则设置相匹配,该包通过该区域进行路由;
2、如果包的传入接口与区域的过滤器设置相匹配,则将使用该区域;
3、否则将使用默认区域。
firewalld默认区域规则:
区域名称 | 默认配置 |
---|---|
trusted | 允许所有所有传入流量 |
home | 除非与传出流量相关,或与ssh、mdns、ipp-client、samba-client或dhcpv6-client预定义服务匹配,否则拒绝传入流量 |
internal | 除非与传出流量相关,或与ssh、mdns、ipp-client、samba-clientt或dhcpv6-client预定义服务匹配,否则拒绝传入流量(一开始与home区域相同) |
work | 除非与传出流量相关,或与ssh、ipp-client或dhcpv6-client预定义服务匹配,否则拒绝传入流量 |
public | 除非与传出流量相关,或与ssh、dhcpv6-client预定义服务匹配,否则拒绝传入流量。新添加的网络接口的默认区域 |
external | 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量。通过此区域转发的IPv4传出流量将进行伪装,以使其看起来像是来自传出网络接口的IPv4地址。 |
dmz | 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量 |
block | 除非与传出流量相关,否则拒绝传入流量 |
drop | 除非与传出流量相关,否则丢弃所有传入流量(甚至不产生包含ICMP错误的相应)。 |
firewalld管理方式:
1、使用命令行工具firewall-cmd
2、使用/etc/firewalld/中的配置文件
命令行模式:
firewall-cmd是主firewalld主软件包的一部分安装,默认已经安装。
1、查询默认区域:
firewall-cmd --get-default-zone
2、设置默认区域:
firewall-cmd --set-default-zone=区域名称
3、列出所有可用区域:
firewall-cmd --get-zones
4、列出当前正在使用的区域:
firewall-cmd --get-active-zones
5、列出所有预定义服务
firewall-cmd --get-services
6、添加指定源地址路由到特定区域的规则:
firewall-cmd --add-source=IP地址/网络掩码 [--zone=区域名称]
7、删除源地址路由到特定区域的规则:
firewall-cmd --remove-source=IP地址/网络掩码 [--zone=区域名称]
8、列出特定区域的所有配置信息
firewall-cmd --list-all --zone=指定区域
9、将运行时配置修改为持久化配置
firewall-cmd --permanent –add-source=……
10、使持久配置生效
firewall-cmd --reload
11、将来自特定接口的流量路由到指定区域
firewall-cmd --add-interface=网络接口 [--zone=区域名称]
12、修改接口绑定的区域:
firewall-cmd --change-interface=网络接口 [--zone=区域名称]
13、添加服务路由到指定区域:
firewall-cmd --add-service=服务名称 [--zone=区域名称]
14、删除特定区域中的服务:
firewall-cmd --remove-service=服务名称 [--zone=区域名称]
15、设置服务规则的超时时间:
firewall-cmd --add-service=服务名称 [--zone=区域名称] --timeout=时间长度,单位是秒
16、添加端口路由到指定区域:
firewall-cmd --add-port=端口号/协议类型 [--zone=区域名称]
17、删除端口路由到指定区域:
firewall-cmd --remove-port=端口号/协议类型 [--zone=区域名称]