1. 程式人生 > >【Linux】firewall防火牆管理工具

【Linux】firewall防火牆管理工具

區域(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  
     拒絕流入的流量,除非與流出的流量相關;而如果流量與ssh服務相關,則允許流量
  • 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

第8ç«  Iptablesä¸Firewalldé²ç«å¢ã第8ç«  Iptablesä¸Firewalldé²ç«å¢ã

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)

 

 

 

參考自:https://www.linuxprobe.com/chapter-08.html