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