开放VNC防火墙端口

 

自定义ESXi系统防火墙的操作,需要在ESXi Shell环境下进行。

 

可通过DCUI进入Shell或SSH远程连接ESXi Shell环境。

 

这里演示最常用的SSH方式。

 

在vCenter Server中,选择一台ESXi主机,进入配置->软件->安全配置文件。

在服务区域,点击属性。


在服务属性窗口,选择SSH标签,然后点击选项。


在SSH(TSM-SSH) 选项对话框中,点击启动。


SSH服务已经启动,点击确定。


SSH服务守护进程状态已处于正在运行,点击确定。


开启SSH服务后,会在摘要页中,显示配置问题:主机的SSH已启用。

待后续操作完成后,请重复前面的步骤,停止SSH服务,此警示信息自动消失。


 

我在这里使用Putty.exe工具连接ESXi主机。


登录ESXi主机,


请依次执行以下操作命令:

 

查看ESXi系统防火墙的现有配置文件

ls /etc/vmware/firewall/

 

创建一个空的vnc防火墙配置文件(可选操作)

touch /etc/vmware/firewall/vnc.xml

 

创建一个vnc防火墙配置文件

cat <<EOF > /etc/vmware/firewall/vnc.xml
<ConfigRoot>
<service>
<id>vnc</id>
<rule id=’0000′>
<direction>inbound</direction>
<protocol>tcp</protocol>
<porttype>dst</porttype>
<port>
<begin>5901</begin>
<end>5910</end>
</port>
</rule>
<rule id=’0001′>
<direction>outbound</direction>
<protocol>tcp</protocol>
<porttype>dst</porttype>
<port>
<begin>0</begin>
<end>65535</end>
</port>
</rule>
<enabled>true</enabled>
<required>false</required>
</service>
</ConfigRoot>
EOF

 

inbound:定义入站端口(协议类型:tcp,限定端口范围:5901-5910

outbound:定义出站端口(协议类型:tcp,限定端口范围:0-65535

 


 

检查vnc防火墙配置文件内容是否正确

ls /etc/vmware/firewall/

cat /etc/vmware/firewall/vnc.xml


 

刷新ESXi防火墙定义(ESXi会自动加载 /etc/vmware/firewall/ 目录中的所有xml文件)

esxcli network firewall refresh

 

查看ESXi防火墙规则集列表中,是否已存在vnc这一项。如果未出现,说明配置文件存在错误,而无法被应用。

esxcli network firewall ruleset list


 

返回到ESXi主机的安全配置文件界面,在防火墙区域,点击属性。


在防火墙属性窗口中,可以查看到vnc的规则详情。


 

进行虚拟机vnc远程访问配置

 

在配置之前,需要将虚拟机关机。


虚拟机关机后,对虚拟机进行编辑设置。


在虚拟机属性窗口中,选择常规一栏,然后点击配置参数。


 

在配置参数对话框中,通过点击添加行,逐行添加以下配置定义:

启用虚拟机VNC远程控制

remoteDisplay.vnc.enabled = TRUE

指定虚拟机VNC远程控制的访问密码

remoteDisplay.vnc.password = password

指定虚拟机VNC远程控制的端口(必须是vnc防火墙配置文件中指定端口中的一个)

remoteDisplay.vnc.port = 5901

 


添加完成后,点击确定。


重新打开虚拟机电源。


等待虚拟机启动完成。


运行VNC客户端程序(这里使用的是TightVNC Viewer)。

在Remote Host项,填写虚拟机所在ESXi主机的IP或主机名称,以及指定的VNC端口号。然后点击Connect。


在Password项处,填写指定的VNC密码,然后点击OK。


VNC已经连接成功,现在可以对虚拟机的操作系统进行远程操作了。


VNC连接的实际上是虚拟机控制台,它与vSphere Client中的虚拟机控制台,操作与显示是同步的。