并行端口和串行端口是用于将外围设备连接到虚拟机的接口。虚拟串行端口可以连接到主机上的物理串行端口或文件。
还可以使用它在两个虚拟机之间建立直接连接,或者在虚拟机与主机上的应用程序之间建立连接。可以添加并行端口和串行端口,并更改并行端口和串行端口配置。使用硬件版本 11 和更高版本,可以配置虚拟机,以便虚拟芯片组中完全不存在串行端口和并行端口。
从 vSphere 8.0 开始,无法添加、移除和配置并行端口。有关信息,请参见https://kb.vmware.com/s/article/78978。
对 vSphere 虚拟机使用串行端口
可以通过多种方式为 vSphere 虚拟机设置虚拟串行端口连接。所选的连接方法取决于您需要完成的任务。
可以将虚拟串行端口设置为通过以下方式发送数据。
- 主机上的物理串行端口
- 将虚拟机设置为使用主机上的物理串行端口。通过该方式可以在虚拟机中使用外部调制解调器或手持设备。
- 输出到文件
- 将输出从虚拟串行端口发送到主机上的文件。通过该方式可以捕获虚拟机中运行的程序向虚拟串行端口发送的数据。
- 连接到命名的管道
- 设置两个虚拟机之间的直接连接,或虚拟机与主机上的应用程序之间的连接。通过该方式,两个虚拟机或一个虚拟机与主机上的进程可以像串行线缆连接的物理计算机一样互相通信。例如,此选项可用于对虚拟机进行远程调试。
- 通过网络进行连接
- 通过网络实现虚拟机串行端口的双向串行连接。虚拟串行端口集中器 (vSPC) 可将来自多个串行端口的流量聚合到一个管理控制台上。vSPC 的行为方式与物理串行端口集中器类似。通过 vSPC,也可在使用 vMotion 迁移虚拟机时对连接到虚拟机串行端口的网络连接进行无缝迁移。有关配置 Avocent ACS v6000 虚拟串行端口集中器的要求和步骤,请参见 http://kb.vmware.com/kb/1022303。
命名管道和网络串行端口的服务器和客户端连接
可以为串行端口选择客户端或服务器连接。您的选择将确定系统是等待连接还是启动连接。通常,要通过串行端口控制虚拟机,请选择服务器连接。通过此选项可控制连接,如果只是偶尔连接到虚拟机的话这非常有用。要使用串行端口进行日志记录,请选择客户端连接。通过此选项,虚拟机可以在启动时连接到日志记录服务器,在停止时断开连接。
支持的串行端口
在使用物理串行端口作为从 ESXi 主机到虚拟机的直通串行端口时,可支持集成到主板中的串行端口。虚拟机最多可使用 32 个串行端口。
不支持的串行端口
在使用物理串行端口作为从 ESXi 主机到虚拟机的直通串行端口时,串行端口直通不支持通过 USB 连接的串行端口。从 ESXi 主机到虚拟机的 USB 直通可能支持这些端口。请参见从 ESXi 主机到虚拟机的 USB 配置。
此外,在使用物理串行端口作为直通串行端口时,不能使用 vMotion 进行迁移。
添加串行端口网络连接的防火墙规则集
如果添加或配置受远程网络连接支持的串行端口,ESXi 防火墙设置可能会阻止传输。
在连接受网络支持的虚拟串行端口之前,必须添加以下防火墙规则集之一以防止防火墙阻止通信:
- 连接到 vSPC 的虚拟机串行端口。用于通过启用了使用虚拟串行端口集中器选项的网络连接串行端口输出,从而仅允许来自主机的出站通信。
- 通过网络连接的虚拟机串行端口。用于通过没有虚拟串行端口集中器的网络连接串行端口输出。
有关允许通过防火墙访问 ESXi 服务的详细信息,请参见《vSphere 安全性》文档。
配置虚拟机通信接口防火墙
您可以配置虚拟机通信接口防火墙 (VMCI) 以限制虚拟机访问基于管理程序的服务和基于 VMCI 的服务。
您可以将 VMCI 使用限制到每个虚拟机上基于 VMCI 的服务的子集。例如,出于安全原因,您可以允许某些虚拟机访问 VMCI 服务并拒绝访问其他服务。
- ESXi 管理程序
- 以 vmkernel 模块形式安装在主机操作系统上的服务
- 通过验证的 vSphere 安装包安装的应用程序
更改串行端口配置
可以将虚拟串行端口连接到主机上的物理串行端口或文件。也可以使用主机端命名管道设置两个虚拟机之间的直接连接或虚拟机与主机上应用程序之间的连接。此外,可以使用端口或 vSPC URI 通过网络连接串行端口。最多可向虚拟机添加 32 个串行端口。
在配置过程中,虚拟机可以处于打开电源状况。
前提条件
- 确保您了解端口要访问的正确介质类型、vSPC 连接以及可能应用的任何条件。请参见对 vSphere 虚拟机使用串行端口。
- 要通过网络连接串行端口,请添加防火墙规则集。请参见添加串行端口网络连接的防火墙规则集。
- 要将身份验证参数与网络串行端口连接结合使用,请参见虚拟串行端口网络连接的身份验证参数。
- 所需特权:
- (在虚拟机上)。
- (在虚拟机上,用于更改设备连接状态)。
过程
示例: 在没有身份验证参数的情况下建立与客户端或服务器的串行端口网络连接
telnet://:12345
URI 的服务器,则可以从 Linux 或 Windows 操作系统连接到虚拟机的串行端口。
telnet yourESXiServerIPAddress 12345
telnet://yourLinuxBox:23
) 上的 Linux 系统上运行 Telnet 服务器,则将虚拟机配置为客户端 URI。
telnet://yourLinuxBox:23虚拟机将在端口 23 上启动到 Linux 系统的连接。
虚拟串行端口网络连接的身份验证参数
通过网络建立串行端口连接时,您可使用身份验证参数保护网络安全。这些参数可支持使用基于 Telnet 或 Telnets 的 SSL 与远程系统进行加密连接,或使用基于 Telnet 或 Telnets 的 SSL 与集中器进行加密连接。
URI 格式
如果不使用虚拟串行端口网络连接 (vSPC),且使用 telnet://:12345
URI 将已连接串行端口的虚拟机配置为服务器,则可从 Linux 或 Windows 操作系统连接到虚拟机的串行端口。您可采用以下格式之一:
- 基于 TCP 的 Telnet。
telnet://host:port
如果远程系统支持 Telnet 身份验证选项,则虚拟机与远程系统可协商并使用 SSL。如果不支持,连接会使用未加密文本(纯文本)。
- 基于 TCP 上 SSL 的 Telnet。
telnets://host:port
SSL 协商立即开始,您不能使用 Telnet 身份验证选项。
身份验证参数
telnets
) 或 Telnet (
telnet
) 的安全:
telnet://host:port #key[=value] [&key[=value] ...]
第一个参数必须带有井号 (#) 前缀。其他参数必须带有和号 (&) 前缀。支持以下参数。
- thumbprint= value
- 指定与对等证书指纹比较的证书指纹。指定指纹时,会启用证书验证。
- peerName= value
- 指定用于验证对等证书的对等名称。指定对等名称时,会启用证书验证。
- verify
- 强制执行证书验证。虚拟机将验证对等证书主体与指定的 peerName 是否相符,以及是否已由 ESXi 主机已知的证书颁发机构签名。指定指纹或 peerName 时,会启用验证
- cipherList= value
- 指定 SSL 密码的列表。密码指定为由冒号、空格或逗号分隔的列表。
建立与客户端或服务器的串行端口网络连接
- 简单服务器连接
-
如果不使用 vSPC,要从 Linux 或 Windows 操作系统连接到虚拟机的串行端口,请使用
telnet://:12345
URI 将已连接串行端口的虚拟机配置为服务器。要从客户端访问虚拟串行端口,请使用telnet yourESXiServerIPAddress 12345
。 - 安全服务器连接
-
要从 Linux 操作系统到虚拟机的串行端口强制执行加密连接,您可通过使用
telnet://:12345#verify
URI 将已连接串行端口的虚拟机配置为服务器,将 Telnet 配置为强制执行加密。 - 简单客户端连接
-
如果系统上正在运行 Telnet 服务器,且您希望虚拟机自动与其连接,可使用
telnet://yourLinuxBox:23
将虚拟机配置为客户端。虚拟机将启动到 yourLinuxBox 上端口 23 的 Telnet 连接。
- 安全客户端连接
-
使用其他 URI 选项,您可强制使用特定服务器证书并限制使用的密码。仅当系统支持列出的两个密码之一且提供为 myLinuxBoxName.withDomain 颁发的可信证书时,使用
telnet://ipOfYourLinuxBox:23#cipherList=DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA&peerName=myLinuxBoxName.withDomain
配置为客户端且带有串行端口的虚拟机才会连接到 ipOfYourLinuxBox。请将.withDomain
替换为完整域名,例如example.org
。
将串行端口添加到虚拟机
可以将虚拟串行端口连接到主机上的物理串行端口或文件。也可以使用主机端命名管道设置两个虚拟机之间的直接连接或虚拟机与主机上应用程序之间的连接。此外,可以使用端口或 vSPC URI 通过网络连接串行端口。虚拟机最多可使用 32 个串行端口。
前提条件
- 验证是否已关闭虚拟机电源。
- 确保您了解端口要访问的正确介质类型、vSPC 连接以及可能应用的任何条件。请参见对 vSphere 虚拟机使用串行端口。
- 要通过网络连接串行端口,请添加防火墙规则集。请参见添加串行端口网络连接的防火墙规则集。
- 要将身份验证参数与网络串行端口连接结合使用,请参见虚拟串行端口网络连接的身份验证参数。
- 所需特权:
过程
示例: 在没有身份验证参数的情况下建立与客户端或服务器的串行端口网络连接
telnet://:12345
URI 的服务器,则可以从 Linux 或 Windows 操作系统连接到虚拟机的串行端口。
telnet yourESXiServerIPAddress 12345
telnet://yourLinuxBox:23
) 上的 Linux 系统上运行 Telnet 服务器,则将虚拟机配置为客户端 URI。
telnet://yourLinuxBox:23虚拟机将在端口 23 上启动到 Linux 系统的连接。