如果环境包含多个 ESXi 主机,则建议使用 ESXCLI 命令或 vSphere Web Services SDK 自动化防火墙配置。
防火墙命令参考
可以使用 ESXi Shell 或 vSphere CLI 命令在命令行处配置 ESXi 以自动化防火墙配置。有关介绍,请参见《《ESXCLI 入门》》;有关使用 ESXCLI 操作防火墙和防火墙规则的示例,请参见《vSphere Command-Line Interface 概念和示例》。有关创建自定义防火墙规则的信息,请参见 VMware 知识库文章 2008226。
命令 | 描述 |
---|---|
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 | 列出防火墙中的每个规则集的规则。 |
防火墙命令示例
以下示例来自 virtuallyGhetto 上的博客帖子。
- 验证称为“virtuallyGhetto”的新规则集。
esxcli network firewall ruleset rule list | grep virtuallyGhetto
- 指定特定 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