firewalld: zone的target

刘宏缔的架构森林發表於2024-07-15

一,zone的target有哪些取值?

1,一個zone的target有4個取值:

default、ACCEPT、REJECT、DROP,
如果不設定預設為default

ACCEPT: 允許透過

REJECT: 禁止透過,會返回錯誤訊息

DROP: 禁止透過,直接丟棄資料包

default: 和REJECT相似,都是拒絕,只不過允許ping包透過

2,REJECT、DROP對於客戶端的不同表現:

從客戶端的角度來看,REJECT會返回禁止登陸的訊息,而DROP會直接連線超時

3,default的理解:

ICMP的所有資料包是允許的,也就是說,default設定下,ping主機是可以的

參考這段文件進行理解:

https://github.com/firewalld/firewalld/issues/590

二,檢視/設定一個zone的target

1,只檢視target

[root@blog zones]# firewall-cmd --zone=trusted --permanent --get-target
ACCEPT

也可以檢視全部規則,裡面也有target:

[root@blog zones]# firewall-cmd --zone=trusted --list-all
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces:
  sources: 123.223.124.224
  services:
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

2,設定規則

# 例如,為"public" zone設定target為"ACCEPT"
firewall-cmd --zone=public  --permanent --set-target=ACCEPT
 
# 重新載入firewalld以應用更改
firewall-cmd --reload

三,檢視九個內建zone的預設target

1, 分別查詢:

[root@blog ~]# firewall-cmd --zone=trusted --permanent --get-target
ACCEPT
[root@blog ~]# firewall-cmd --zone=public --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=drop --permanent --get-target
DROP
[root@blog ~]# firewall-cmd --zone=block --permanent --get-target
REJECT
[root@blog ~]# firewall-cmd --zone=external --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=internal --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=dmz --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=work --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=home --permanent --get-target
default

2,列出所有zone的規則:

[root@blog ~]# firewall-cmd --list-all-zones 

相關文章