如果 vCenter Server 反向代理使用自定义端口,则无法下载 VIB。
问题
如果将 vCenter Server 反向代理配置为使用自定义端口,则 VIB 下载将失败。
原因
如果 vCenter Server 反向代理使用自定义端口,则不会在 ESXi 防火墙中自动启用自定义端口,并且 VIB 下载将失败。
解决方案
- 打开与主机的 SSH 连接并以 root 用户身份登录。
- (可选) 列出现有防火墙规则。
esxcli network firewall ruleset list
- (可选) 备份 /etc/vmware/firewall/service.xml 文件。
cp /etc/vmware/firewall/service.xml /etc/vmware/firewall/service.xml.bak
- 编辑 service.xml 文件的访问权限,以通过运行 chmod 命令允许写入。
- 要允许写入,请运行 chmod
644
/etc/vmware/firewall/service.xml。
- 要切换粘滞位标志,请运行 chmod
+t
/etc/vmware/firewall/service.xml。
- 在文本编辑器中打开 service.xml 文件。
- 向 service.xml 文件添加一条新规则,以启用 vCenter Server 反向代理的自定义端口。
<service id='id_value'>
<id>vcenterrhttpproxy</id>
<rule id='0000'>
<direction>outbound</direction>
<protocol>tcp</protocol>
<port type='dst'>custom_reverse_proxy_port</port>
</rule>
<enabled>true</enabled>
<required>false</required>
</service>
其中
id_value 必须是唯一值,例如,如果
service.xml 文件中最后列出的服务包含 ID 0040,则必须输入 ID 编号 0041。
- 将 service.xml 文件的访问权限恢复为默认的只读设置。
chmod 444 /etc/vmware/firewall/service.xml
- 刷新防火墙规则,以使更改生效。
esxcli network firewall refresh
- (可选) 列出更新的规则集,以确认更改。
esxcli network firewall ruleset list
- (可选) 如果希望防火墙配置在重新引导 ESXi 主机后永久有效,请将 service.xml 复制到永久存储上,并修改 local.sh 文件。
- 将修改后的 service.xml 文件复制到永久存储上(例如 /store/),或复制到 VMFS 卷上(例如 /vmfs/volumes/volume/)。
cp /etc/vmware/firewall/service.xml location_of_xml_file
可以将 VMFS 卷存储在单个位置,并将其复制到多个主机。
- 将 service.xml 文件信息添加到主机上的 local.sh 文件中。
cp location_of_xml_file /etc/vmware/firewall
esxcli network firewall refresh
其中
location_of_xml_file 是文件复制到的位置。