什麼是 Firewalld:它是 Centos 或類似系統下默認的防火牆系統,類似於 Ubuntu 的 ufw 系統。
Firewalld 的優點#
使用 Firewalld 添加的出入站規則可以直接在運行環境中啟用,不需要重啟服務本身。
使用 Firewalld 提供的接口可以為服務,應用,和用戶輕鬆的配置任何規則。
通過分離永久和內存中的規則,可以使用戶實時對添加的規則進行評估。任何非永久添加的規則都會在下一次的熱加載或服務重啟時消失。而任何永久的規則會在重載後得以保留。通過這種方式,用戶可以添加一些臨時的設置。而如果配置已被評估完畢,並且成功運行,那麼這項規則便可以添加至永久的設置中。
Firewalld 下載安裝#
下載並安裝 firewalld 包:
sudo yum update && sudo yum install firewalld
Firewalld 規則配置#
開放狀態獲取#
查看區域:獲取當前激活的區域,區域在大部分情況默認為 public
firewall-cmd --get-active-zones
列出規則:獲取當前區域已配置的規則
firewall-cmd --zone=public --list-all
端口添加和關閉#
開放端口:在 public 區域永久允許 5000 端口的 TCP 流量傳輸
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewalld 服務也支持開放一個地址段,比如
--add-port=5000-5500/tcp
即開放從 5000 到 5500 的所有 TCP 端口。
關閉端口:在 public 區域永久關閉 5000 的 TCP 端口
firewall-cmd --zone=public --remove-port=5000/tcp --permanent
服務添加和關閉#
你可以使用防火牆內置的服務,也可以在添加端口時,自定義服務名使用
--service=
選項,查看這個 文檔 了解更多。
獲取服務:使用 --get-services
獲取所有可開放的服務規則。
firewall-cmd --get-services
添加服務:使用 --add-service
添加一個內置的服務。
firewall-cmd --zone=public --add-service=http
啟用添加的規則#
熱加載:使用 reload 熱加載規則
firewall-cmd --reload
冷加載:使用 complete-reload 冷加載規則
firewall-cmd --complete-reload