【Linux】firewall防火牆管理工具
阿新 • • 發佈:2018-11-08
區域(Zone)概念
相較於傳統的防火牆管理配置工具,firewalld支援動態更新技術並加入了區域(zone)的概念。簡單來說,區域就是firewalld預先準備了幾套防火牆策略集合(策略模板),使用者可以根據生產場景的不同而選擇合適的策略集合,從而實現防火牆策略之間的快速切換。
區域 預設規則策略
- 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
- block 拒絕流入的流量,除非與流出的流量相關
- drop 拒絕流入的流量,除非與流出的流量相關
firewalld服務程式兩種管理方式
命令列介面:firewall-cmd
圖形化介面:firewall-config
firewalld策略兩種生效模式
- Runtime:當前生效模式,但重啟後失效。
- Permanent:重啟後永久有效,但不能立即生效,配置策略時加上--permanment就可以了。
例如
[[email protected] ~]# firewall-cmd --zone=public --add-service=https #當前有效,重啟無效
success
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-service=https #當前無效,重啟後永久有效
success
[[email protected] ~]# firewall-cmd --reload #是permanent立即生效
succes
firewall-cmd 常用命令(當前生效模式模式)
1.管理區域(策略模板)
firewall-cmd --get-default-zone #檢視firewalld服務當前所使用的區域
firewall-cmd --get-zone-of-interface=eno16777728 #查詢eno16777728網絡卡在firewalld服務中的區域
firewall-cmd --zone=external --change interface=eno16777728 #修改網絡卡預設區域為external
2.設定服務策略
[[email protected] ~]# firewall-cmd --zone=public --query-service=https #查詢
no
[[email protected] ~]# firewall-cmd --zone=public --add-service=https #設定區域public 允許https服務的流量
success
[[email protected] ~]# firewall-cmd --zone=public --query-service=https #查詢
yes
[[email protected] ~]# firewall-cmd --zone=public --remove-service=https #設定區域public 不再允許https服務的流量
success
[[email protected] ~]# firewall-cmd --zone=public --query-service=https #查詢
no
3.設定埠策略
[[email protected] ~]# firewall-cmd --zone=public --query-port=80/tcp #查詢
no
[[email protected] ~]# firewall-cmd --zone=public --add-port=80/tcp #設定public區域 允許80埠的流量
success
[[email protected] ~]# firewall-cmd --zone=public --query-port=80/tcp #查詢
yes
[[email protected] ~]# firewall-cmd --zone=public --remove-port=80/tcp #設定public區域 不再允許80埠的流量
success
[[email protected] ~]# firewall-cmd --zone=public --query-port=80/tcp #查詢
no
4.埠轉發
把原本訪問本機888埠的流量轉發到22埠,要且求當前和長期均有效:
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
success
[[email protected] ~]# firewall-cmd --reload
success
5.富規則
使其拒絕192.168.10.0/24網段的所有使用者訪問本機的ssh服務(22埠):
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[[email protected] ~]# firewall-cmd --reload
success
firewall-config 圖形化工具
firewall-config
1:選擇執行時(Runtime)模式或永久(Permanent)模式的配置。
2:可選的策略集合區域列表。
3:常用的系統服務列表。
4:當前正在使用的區域。
5:管理當前被選中區域中的服務。
6:管理當前被選中區域中的埠。
7:開啟或關閉SNAT(源地址轉換協議)技術。
8:設定埠轉發策略。
9:控制請求icmp服務的流量。
10:管理防火牆的富規則。
11:管理網絡卡裝置。
12:被選中區域的服務,若勾選了相應服務前面的複選框,則表示允許與之相關的流量。
13:firewall-config工具的執行狀態。
PS:如果想要配置的防火牆策略永久且立即生效,請在配置圖形介面前勾選 1 永久(Permanent)模式 ,然後進行配置,配置好之後,選擇Options --> Reload Firewalld (相當於命令 firewall-cmd --reload)