如果环境包含多个 ESXi 主机,可使用 ESXCLI 命令或 vSphere Web Services SDK 自动执行防火墙配置。

防火墙命令参考

可以使用 ESXi Shell 或 ESXCLI 命令在命令行处配置 ESXi 以自动执行防火墙配置。要操作防火墙和防火墙规则,请参见《ESXCLI 入门》了解相关介绍,参见《ESXCLI 概念和示例》查看使用 ESXCLI 的示例。

ESXi 7.0 及更高版本中,已限制对用于创建自定义防火墙规则的 service.xml 文件进行访问。有关使用 /etc/rc.local.d/local.sh 文件创建自定义防火墙规则的信息,请参见 VMware 知识库文章 2008226

表 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> 将“已启用”设置为 true 可启用指定规则集。将“已启用”设置为 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 列出防火墙中的每个规则集的规则。