共用方式為


在 Red Hat 中設定防火牆

艙室 VM 會以作業系統身分執行 Red Hat Enterprise Linux。 根據預設,防火牆會設定為拒絕受控服務以外的所有輸入連線。 若要允許輸入通訊,必須將規則新增至防火牆以允許流量通過。 同樣地,如果不再需要規則,應該將其移除。

本文提供最常見的防火牆設定命令。 如需完整文件或更複雜的案例,請參閱第 40 章:使用和設定 Red Hat Enterprise Linux 8 的 firewalld 文件。

這裡參考的所有作業都需要 sudo 權限,因此需要艙室管理員角色。

重要

VM 只能與相同艙室中的其他 VM 通訊。 絕不允許艙室對艙室的流量,且修改防火牆規則不會啟用艙室間流量。

必要條件

  • 具有艙室管理員角色的使用者帳戶。

列出所有開啟的連接埠

列出所有目前開啟的連接埠和相關聯的通訊協定。

$ sudo firewall-cmd --list-all
public (active)
 target: default
 icmp-block-inversion: no
 interfaces: eth0
 sources: 
 services: cockpit dhcpv6-client ssh
 ports: 6817-6819/tcp 60001-63000/tcp
 protocols: 
 forward: no
 masquerade: no
 forward-ports: 
 source-ports: 
 icmp-blocks: 
 rich rules: 

開啟流量的連接埠

您可以開啟網路流量的單一或連續範圍的連接埠。 firewall-d 的變更是暫時的,除非認可,否則在重新啟動或重新載入服務後不會保存。

開啟單一連接埠

使用 --add-port=portnumber/porttype 選項,開啟採用指定通訊協定之 firewalld 的單一連接埠。 此範例會開啟連接埠 5510/TCP。

$ sudo firewall-cmd --add-port=33500/tcp
success

將規則認可至永久集合:

$ sudo firewall-cmd --runtime-to-permanent
success

開啟某個範圍的連接埠

使用 --add-port=startport-endport/porttype 選項,開啟採用指定通訊協定之 firewalld 的連接埠範圍。 此命令使用於分散式運算案例,其中背景工作會分派至大量節點,且多個背景工作可能位於相同的實體節點上。 此範例會開啟從連接埠 5000 開始並採用 UDP 通訊協定的 100 個連續連接埠。

$ sudo firewall-cmd --add-port=5000-5099/udp
success

將規則認可至永久集合:

$ sudo firewall-cmd --runtime-to-permanent
success

移除連接埠規則

如果不再需要規則,可使用與新增和使用 --remove-port=portnumber/porttype 相同的表示法來移除規則。 此範例會移除單一連接埠:

$ sudo firewall-cmd --remove-port=33500/tcp
success

將規則認可至永久集合:

$ sudo firewall-cmd --runtime-to-permanent
success