基本概念
CentOS 7及以上的版本,默認的防火牆是firewalld,所以如果你輸入iptables配置防火牆報找不到命令時,你就要考慮用firewalld來管理防火牆了。
firewalld文檔連接
- 【firewalld】:firewall daemon,提供動態管理防火牆的能力,並支持對網絡以及與其關聯的連接、接口和源定義信任級別
- 【firewall-cmd】:firewalld的命令行管理工具,CentOS上防火牆的管理即主要依賴該命令
- 【Runtime Configuration 和 Permanent Configuration】:firewalld有兩種類型的配置:一種是運行時配置,另一種是持久化的配置。持久化配置在防火牆啓動或者重加載(reload)時加載爲運行時配置(所以防火牆真正生效的是運行時配置)。防火牆停止運行,運行時配置隨即失效;當防火牆重新啓動時,運行時配置即重新自持久化配置中加載。運行時配置不會被自動持久化,但是可以藉助命令將其持久化。
- 【systemctl restart firewalld 與 firewall-cmd --reload】:前者是重啓firewalld服務,後者是重載firewalld的配置
firewalld結構:
firewalld服務啓停
啓動firewalld服務
systemctl start firewalld
關閉firewalld服務
systemctl stop firewalld
檢查firewalld服務狀態
systemctl status firewalld
注:查看firewalld啓動記錄
重啓firewalld服務
systemctl reload firewalld
注:修改了持久化的配置之後即需要重啓服務
查看frewalld狀態和配置
檢查firewalld運行狀態
firewall-cmd --state
注:查看firewalld是否運行
檢查firewalld配置內容
firewall-cmd --list-all
注:查看配置的服務、端口、目標、源等信息
重載firewalld配置內容
firewall-cmd --reload
注:修改的運行時的配置會在重載之後失效
查看firewalld版本
firewall-cmd -V
或者
firewall-cmd --version
配置firewalld
說明:
- 如果要做持久化的配置,則加上 “–permanent” 參數;否則不加
- 非持久化的配置,會立即生效,但是配置信息會在服務重啓、重載配置之後丟失
- 持久化的配置,不會立即生效,需要服務重啓、或者重載配置之後纔會生效
下面會以持久化的配置爲例
端口配置
新增端口配置:
firewall-cmd --permanent --add-port 7001/tcp
firewall-cmd --reload
刪除端口配置:
firewall-cmd --permanent --remove-port 7001/tcp
firewall-cmd --reload
服務配置
新增服務配置:
firewall-cmd --permanent --add-service telnet
firewall-cmd --reload
刪除服務配置:
firewall-cmd --permanent --remove-service telnet
firewall-cmd --reload
查看服務信息:
firewall-cmd --info-service telnet
協議配置
增加協議配置:
firewall-cmd --permanent --add-protocol icmp
firewall-cmd --reload
刪除服務配置:
firewall-cmd --permanent --remove-protocol icmp
firewall-cmd --reload
rich rules配置
rich rules可以配置一些更加複雜的場景,–add-rich-rule的值就是具體的規則,例如允許來自某個IP的所有流量:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.2.1" accept"
禁止某個IP以某種協議訪問某個端口:
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" reject"
firewall-cmd提供的配置能力非常豐富,具體的可以參考:
firewall-cmd man page