一、介紹
防火牆守護 firewalld 服務引入了一個信任級別的概念來管理與之相關聯的連接與接口。它支持 ipv4 與 ipv6,並支持網橋,采用 firewall-cmd (command) 或 firewall-config (gui) 來動態的管理 kernel netfilter 的臨時或永久的接口規則,並實時生效而無需重啟服務。
Firewall 能將不同的網絡連接歸類到不同的信任級別,Zone 提供了以下幾個級別
drop: 丟棄所有進入的包,而不給出任何響應
block: 拒絕所有外部發起的連接,允許內部發起的連接
public: 允許指定的進入連接
external: 同上,對偽裝的進入連接,一般用於路由轉發
dmz: 允許受限制的進入連接
work: 允許受信任的計算機被限制的進入連接,類似 workgroup
home: 同上,類似 homegroup
internal: 同上,范圍針對所有互聯網用戶
trusted: 信任所有連接
二、安裝
# yum install firewalld
如果需要圖形界面的話,則再安裝
# yum install firewall-config
三、使用方法
# 開啟防火牆
systemctl start firewalld.service
# 防火牆開機啟動
systemctl enable firewalld.service
# 關閉防火牆
systemctl stop firewalld.service
# 查看防火牆狀態
firewall-cmd --state
# 查看現有的規則
iptables -nL
# 重載防火牆配置
firewall-cmd --reload
# 添加單個單端口
firewall-cmd --permanent --zone=public --add-port=81/tcp
# 添加多個端口
firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp
# 刪除某個端口
firewall-cmd --permanent --zone=public --remove-port=81/tcp
# 針對某個 IP開放端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="6379" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.233" accept"
# 刪除某個IP
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.51" accept"
# 針對一個ip段訪問
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9200" accept"
# 添加操作后別忘了執行重載
firewall-cmd --reload
查看指定級別的所有信息,譬如 public
#firewall-cmd --zone=public --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules: