區(qū)域(Zone)概念
相較于傳統(tǒng)的防火墻管理配置工具,firewalld支持動(dòng)態(tài)更新技術(shù)并加入了區(qū)域(zone)的概念。簡單來說,區(qū)域就是firewalld預(yù)先準(zhǔn)備了幾套防火墻策略集合(策略模板),用戶可以根據(jù)生產(chǎn)場景的不同而選擇合適的策略集合,從而實(shí)現(xiàn)防火墻策略之間的快速切換。
區(qū)域 默認(rèn)規(guī)則策略
trusted 允許所有的數(shù)據(jù)包 home 拒絕流入的流量,除非與流出的流量相關(guān);而如果流量與ssh、mdns、ipp-client、amba-client與dhcpv6-client服務(wù) 相關(guān),則允許流量 internal 等同于home區(qū)域 work 拒絕流入的流量,除非與流出的流量數(shù)相關(guān);而如果流量與ssh、ipp-client與dhcpv6-client服務(wù)相關(guān),則允許流量 public 拒絕流入的流量,除非與流出的流量相關(guān);而如果流量與ssh、dhcpv6-client服務(wù)相關(guān),則允許流量 external 拒絕流入的流量,除非與流出的流量相關(guān);而如果流量與ssh服務(wù)相關(guān),則允許流量 dmz 拒絕流入的流量,除非與流出的流量相關(guān);而如果流量與ssh服務(wù)相關(guān),則允許流量 block 拒絕流入的流量,除非與流出的流量相關(guān) drop 拒絕流入的流量,除非與流出的流量相關(guān)
firewalld服務(wù)程序兩種管理方式
命令行界面:firewall-cmd
圖形化界面:firewall-config
firewalld策略兩種生效模式
Runtime:當(dāng)前生效模式,但重啟后失效。 Permanent:重啟后永久有效,但不能立即生效,配置策略時(shí)加上–permanment就可以了。
例如
[root@linuxprobe ~]# firewall-cmd –zone=public –add-service=https #當(dāng)前有效,重啟無效
success
[root@linuxprobe ~]# firewall-cmd –permanent –zone=public –add-service=https #當(dāng)前無效,重啟后永久有效
success
[root@linuxprobe ~]# firewall-cmd –reload #是permanent立即生效
succes
firewall-cmd 常用命令(當(dāng)前生效模式模式)
1.管理區(qū)域(策略模板)
firewall-cmd –get-default-zone #查看firewalld服務(wù)當(dāng)前所使用的區(qū)域
firewall-cmd –get-zone-of-interface=eno16777728 #查詢eno16777728網(wǎng)卡在firewalld服務(wù)中的區(qū)域
firewall-cmd –zone=external –change interface=eno16777728 #修改網(wǎng)卡默認(rèn)區(qū)域?yàn)閑xternal
2.設(shè)置服務(wù)策略
[root@linuxprobe ~]# firewall-cmd –zone=public –query-service=https #查詢
no
[root@linuxprobe ~]# firewall-cmd –zone=public –add-service=https #設(shè)置區(qū)域public 允許https服務(wù)的流量
success
[root@linuxprobe ~]# firewall-cmd –zone=public –query-service=https #查詢
yes
[root@linuxprobe ~]# firewall-cmd –zone=public –remove-service=https #設(shè)置區(qū)域public 不再允許https服務(wù)的流量
success
[root@linuxprobe ~]# firewall-cmd –zone=public –query-service=https #查詢
no
3.設(shè)置端口策略
[root@linuxprobe ~]# firewall-cmd –zone=public –query-port=80/tcp #查詢
no
[root@linuxprobe ~]# firewall-cmd –zone=public –add-port=80/tcp #設(shè)置public區(qū)域 允許80端口的流量
success
[root@linuxprobe ~]# firewall-cmd –zone=public –query-port=80/tcp #查詢
yes
[root@linuxprobe ~]# firewall-cmd –zone=public –remove-port=80/tcp #設(shè)置public區(qū)域 不再允許80端口的流量
success
[root@linuxprobe ~]# firewall-cmd –zone=public –query-port=80/tcp #查詢
no
4.端口轉(zhuǎn)發(fā)
把原本訪問本機(jī)888端口的流量轉(zhuǎn)發(fā)到22端口,要且求當(dāng)前和長期均有效:
[root@linuxprobe ~]# firewall-cmd –permanent –zone=public –add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
success
[root@linuxprobe ~]# firewall-cmd –reload
success
5.富規(guī)則
使其拒絕192.168.10.0/24網(wǎng)段的所有用戶訪問本機(jī)的ssh服務(wù)(22端口):
[root@linuxprobe ~]# firewall-cmd –permanent –zone=public –add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@linuxprobe ~]# firewall-cmd –reload
success
firewall-config 圖形化工具
firewall-config
8 IptablesFirewalldé2¢8 IptablesFirewalldé2¢
1:選擇運(yùn)行時(shí)(Runtime)模式或永久(Permanent)模式的配置。
2:可選的策略集合區(qū)域列表。
3:常用的系統(tǒng)服務(wù)列表。
4:當(dāng)前正在使用的區(qū)域。
5:管理當(dāng)前被選中區(qū)域中的服務(wù)。
6:管理當(dāng)前被選中區(qū)域中的端口。
7:開啟或關(guān)閉SNAT(源地址轉(zhuǎn)換協(xié)議)技術(shù)。
8:設(shè)置端口轉(zhuǎn)發(fā)策略。
9:控制請(qǐng)求icmp服務(wù)的流量。
10:管理防火墻的富規(guī)則。
11:管理網(wǎng)卡設(shè)備。
12:被選中區(qū)域的服務(wù),若勾選了相應(yīng)服務(wù)前面的復(fù)選框,則表示允許與之相關(guān)的流量。
13:firewall-config工具的運(yùn)行狀態(tài)。
PS:如果想要配置的防火墻策略永久且立即生效,請(qǐng)?jiān)谂渲脠D形界面前勾選 1 永久(Permanent)模式 ,然后進(jìn)行配置,配置好之后,選擇Options –>Reload Firewalld (相當(dāng)于命令 firewall-cmd –reload)