如果您的環境包含多台 ESXi 主機,建議使用 ESXCLI 命令或 vSphere Web Services SDK 自動化防火牆組態。

防火牆命令參考

可以使用 ESXi Shell 或 vSphere CLI 命令,在命令列設定 ESXi 以自動化防火牆組態。請分別參閱 vSphere Command-Line Interface 入門《vSphere 命令列介面概念和範例》以暸解相關簡介和使用 ESXCLI 操縱防火牆和防火牆規則的範例。

表格 1. 防火牆命令

命令

說明

esxcli network firewall get

傳回防火牆的啟用或停用狀態,並列出預設動作。

esxcli network firewall set --default-action

設定為 true 可設定要傳遞的預設動作。設定為 false 可設定要捨棄的預設動作。

esxcli network firewall set --enabled

啟用或停用 ESXi 防火牆。

esxcli network firewall load

載入防火牆模組和規則集組態檔。

esxcli network firewall refresh

如果已載入防火牆模組,則透過讀取規則集檔案來重新整理防火牆組態。

esxcli network firewall unload

損毀篩選器並卸載防火牆模組。

esxcli network firewall ruleset list

列出規則集資訊。

esxcli network firewall ruleset set --allowed-all

設定為 true 允許對所有 IP 具有完全存取權。設定為 false 可使用已允許的 IP 位址清單。

esxcli network firewall ruleset set --enabled --ruleset-id=<string>

將 enabled 設定為 true 可啟用指定規則集。將 enabled 設定為 false 可停用指定規則集。

esxcli network firewall ruleset allowedip list

列出指定規則集的允許 IP 位址。

esxcli network firewall ruleset allowedip add

允許從指定的 IP 位址或 IP 位址範圍存取規則集。

esxcli network firewall ruleset allowedip remove

從指定的 IP 位址或 IP 位址範圍移除對規則集的存取權。

esxcli network firewall ruleset rule list

列出防火牆中每個規則集的規則。

防火牆命令範例

下列範例來自 virtuallyGhetto 上的部落格文章。

  1. 驗證名為 virtuallyGhetto 的新規則集。

    esxcli network firewall ruleset rule list | grep virtuallyGhetto

  2. 指定特定 IP 位址或 IP 範圍,以存取特定服務。下列範例停用 allow all 選項,並指定 virtuallyGhetto 服務的特定範圍。

    esxcli network firewall ruleset set --allowed-all false --ruleset-id=virtuallyGhetto
    esxcli network firewall ruleset allowedip add --ip-address=172.30.0.0/24 --ruleset-id=virtuallyGhetto