1. firewalld是RHEL 7的默认防火墙配置管理工具,它拥有CLI和GUI两种管理方式。
trusted 允许所有的数据包
home 拒绝流入的力量,除非与流出有关;除非流量与ssh、mdns、ipp-client、amba-client、dhcpv6-client服务相关。
internal 等同于home
work 拒绝流入的力量,除非与流出有关;除非流量与ssh、ipp-client、dhcpv6-client服务相关。
public 拒绝流入的力量,除非与流出有关;除非流量与ssh、dhcpv6-client服务相关。
external 拒绝流入的力量,除非与流出有关;除非流量与ssh服务相关。
dmz 拒绝流入的力量,除非与流出有关;除非流量与ssh服务相关。
block 拒绝流入的力量,除非与流出有关。
drop 拒绝流入的力量,除非与流出有关。
2. 生效策略。防火墙默认是运行时(Runtime)模式,即当前生效模式。即配置之后当前立即生效,但是重启后失效。
如果想一直生效,则添加参数--permanent参数,当前不生效,但是重启后生效,如果想立即生效使用firewall-cmd --reload
查看firewalld服务当前所使用的区域:firewall-cmd --get-default-zone
设置firewalld服务当前所使用的区域为public:firewall-cmd --set-default-zone=public
查看网卡在firewalld服务中的区域:firewall-cmd --get-zone-of-interface=eno16777728
修改网卡的默认区域:firewall-cmd --permanent --zone=external --change-interface=eno16777728 ,重启系统后生效
查询网卡区域:firewall-cmd --get-zone-of-interface=eno16777728
查询网卡设置的永久区域:firewall-cmd --permanent --get-zone-of-interface=eno16777728
firewalld服务的紧急模式,阻断一切连接firewall-cmd --panic-on,关闭紧急模式--panic-off
查询public区域是否允许请求ssh和https协议流量:
firewall-cmd --zone=public --query-service=ssh
firewall-cmd --zone=public --query-service=https
添加一个协议,永久也立即生效:firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
把firewalld服务中请求HTTPS协议的流量设置为永久拒绝,并立即生效:
firewall-cmd --permanent --zone=public --remove-service=https
firewall-cmd --reload
把在firewalld服务中访问8080和8081端口的流量策略设置为允许,仅当前有效:
firewall-cmd --zone=public --add-port=8080-8081/tcp
查询: firewalld-cmd --zone=public --list-port
流量转发命令是把原本访问A端口的流量转发包B端口,格式为:firewall-cmd --permanent --zone=区域 --add-forward-port=port=源端口号:proto=协议:toport=目的端口号:toaddr=目标IP地址