文章目錄
- Firewalld 防火墻配置
- 1. Firewalld 概述
- 2. 區域名稱及策略規則
- 3. Firewalld 配置方法
- 4. Firewalld 參數和命令
- 5. Firewalld 兩種模式
- 6. Firewalld 使用
Firewalld 防火墻配置
1. Firewalld 概述
firewalld 是一個動態防火墻管理器,作為 Systemd 管理的防火墻前端工具,它為 Linux 操作系統提供了一種方便且靈活的方式來管理網絡訪問控制。
在傳統的 iptables 防火墻中,管理員需要手動配置防火墻規則,并將規則保存到靜態的配置文件中。這種方式相對復雜且不夠動態,特別是在面對頻繁變動的網絡環境時。而 firewalld 提供了一種更高級、更易用的方式來管理防火墻規則。
firewalld 使用基于 “區域”(Zone) 的概念來管理防火墻策略。每個區域都對應一組特定的規則,用于定義該區域內允許和禁止的網絡訪問。
firewalld 還可以動態更新防火墻規則,而無需重啟防火墻服務。這意味著管理員可以在運行時添加、刪除或修改規則,使網絡訪問控制更加靈活和實時。此外,firewalld 還支持連接跟蹤,可以自動管理由于網絡連接狀態的變化而需要調整的規則。
除了基本的端口過濾、包轉發和網絡地址轉換等功能外,firewalld 還提供了高級功能,如源地址驗證、負載均衡、IPset、Rich Rules 等。管理員可以使用這些功能來創建更復雜、更精細的防火墻策略。
注意:firewalld不要與iptables混用,如果要使用firewalld就將iptables規則清空。
2. 區域名稱及策略規則
firewalld九個區域
-
trusted(信任區域):允許所有的數據包
-
home(家庭區域):拒絕流入的流量,除非與流出的流量相關,而如果是與ssh,mdns,ipp-client,amba-client與dhcp-client服務相關流量,則是允許通過。
-
internal(內部區域):默認值時與homel區域相同。
-
work(工作區域):拒絕流入的流量,除非與流出的流量相關,而如果是與ssh,ipp-client與dhcpv6-client服務相關流量,則是允許通過。
-
public(公共區域):拒絕流入的流量,除非與流出的流量相關;而如果是與ssh或dhcpv6-client服務相關流量,則允許通過。
-
external(外部區域):拒絕流入的流量,除非與流出的流量相關;而如果與ssh服務相關流量,則允許通過。
-
dmz(隔離區域也稱為非軍事區域):拒絕流入的流量,除非與流出的流量相關;而如果與ssh服務相關流量,則允許通過。
-
block(限制區域):拒絕流入的流量,除非與流出的流量相關。
-
drop(丟棄區域):拒絕流入的流量,除非與流出的流量相關。
3. Firewalld 配置方法
使用Firewalld命令行工具
firewalld-cmd
使用Firewalld圖形工具
firewalld-config
4. Firewalld 參數和命令
參數 | 作用 |
---|---|
-get-default-zone | 查詢默認區域 |
-set-default-zone=區域名稱 | 設置默認區域,使其永久生效 |
–get-zones | 顯示可用的區域 |
–get-active-zones | 顯示當前正在使用的區域以及網卡的名稱 |
–add-source=ip | 將源自此的IP或子網的流量導向指定的區域 |
–remove-source=ip | 不再將源自此的IP或子網的流量導向指定的區域 |
–add-interface=網卡名稱 | 將源自此的網卡的流量導向指定的區域 |
–change-interface=網卡名稱 | 將某個網卡與區域進行關聯 |
–list-all | 顯示當前區域的網卡配置參數,資源,端口及服務信息 |
–list-all-zones | 顯示所有區域的網卡配置參數,資源,端口及服務信息 |
–add-service=服務名稱 | 設置默認區域允許該服務的流量 |
–add-port=端口協議 | 設置默認區域允許該端口的流量 |
–remove-service=服務名稱 | 不再設置默認區域允許該服務的流量 |
–remove-port=端口協議 | 不再設置默認區域允許該端口的流量 |
–reload | 讓永久生效的配置規則立即生效,并覆蓋當前的配置規則 |
–panic-on | 開啟應急模式 |
–panic-off | 關閉應急模式 |
–query-masquerade | 檢查是否允許偽裝IP |
–add-masquerade | 允許防火墻偽裝IP |
–remove-masquerade | 禁止防火墻偽裝IPs |
5. Firewalld 兩種模式
運行時模式 Runtime
- 配置后立即生效,重啟后失效
永久生效模式 permanent
- 當前不生效,重啟后生效
6. Firewalld 使用
查看當前使用的區域
firewall-cmd --get-default-zone
顯示可用的區域
firewall-cmd --get-zones
顯示當前正在使用的區域以及網卡的名稱
firewall-cmd --get-active-zones
查看指定網卡所在的區域
firewall-cmd --get-zone-of-interface=ens224
顯示當前區域的網卡配置參數,資源,端口及服務信息
firewall-cmd --list-all
顯示所有區域的網卡配置參數,資源,端口及服務信息
firewall-cmd --list-all-zones
修改當前網卡所在的區域,并永久生效
firewall-cmd --permanent --zone=external --change-interface=ens224
重啟服務器,查看網卡所在區域
firewall-cmd --get-zone-of-interface=ens224
開啟應急模式
firewall-cmd --panic-on
開啟后ssh服務就無法使用了,因為應急模式攔截一切流量。
關閉應急模式
firewall-cmd --panic-off
關閉后SSH即可正常連接
因為我們現在的處于public區域,所以SSH的流量可以進入。