1.引言

Linux防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config(gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。Firewall 能将不同的网络连接归类到不同的信任级别,Zone

提供了以下几个级别:

drop: 丢弃所有进入的包,而不给出任何响应

block: 拒绝所有外部发起的连接,允许内部发起的连接

public: 允许指定的进入连接

external: 同上,对伪装的进入连接,一般用于路由转发

dmz: 允许受限制的进入连接

work: 允许受信任的计算机被限制的进入连接,类似

workgroup

home: 同上,类似 homegroup

internal: 同上,范围针对所有互联网用户

trusted: 信任所有连接

2.启动,停止,查看状态

帮助命令

firewall-cmd —help

查看状态

firewall-cmd —state

启动

systemctl start firewalld

systemctl stop firewalld

systemctl status firewalld

重新载入配置

firewall-cmd —reload

3.查看端口开放状态

firewall-cmd —zone=public —permanent —listports

4.添加snet

firewall-cmd —permanent —direct —passthrough

ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -j

SNAT —to-source 172.10.5.211

firewall-cmd —reload

5.查看域

查看默认域

firewall-cmd —get-default-zone

设置默认域

firewall-cmd —set-default-zone=区域名

查看所有的域

firewall-cmd —list-all-zones

firewall-cmd —get-zones

查看活动的域

firewall-cmd —get-active-zones

查看某个域

firewall-cmd —zone=home —list-all

6.查看服务

查看支持的服务

firewall-cmd —get-services

7.绑定接口

firewall-cmd —change-interface=ens1 —

zone=internal —permanent

firewall-cmd [—zone=] —remove-interface=

—permanent

firewall-cmd —zone=public —changeinterface=

eth1 —permanent

8.开启net转发

打开net转发

firewall-cmd —permanent —zone=public —addmasquerade

检查是否允许 NAT 转发

firewall-cmd —query-masquerade

禁止防火墙 NAT 转发

firewall-cmd —remove-masquerad

9.端口转发

端口转发可以将指定地址访问指定的端口时,将流量转发至指定地

址的指定端口。转发的目的如果不指定 ip 的话就默认为本机,如

果指定了 ip 却没指定端口,则默认使用来源端口。

将80端口的流量转发至8080

firewall-cmd —add-forwardport=

port=80:proto=tcp:toport=8080

将80端口的流量转发至192.168.0.1

firewall-cmd —add-forwardport=

proto=80:proto=tcp:toaddr=192.168.0.1

将80端口的流量转发至192.168.0.1的8080端口

firewall-cmd —add-forwardport=

proto=80:proto=tcp:toaddr=192.168.0.1:toport

=8080