并行端口和串行端口是用于将外围设备连接到虚拟机的接口。虚拟串行端口可以连接到主机上的物理串行端口或文件。

还可以使用它在两个虚拟机之间建立直接连接,或者在虚拟机与主机上的应用程序之间建立连接。可以添加并行端口和串行端口,并更改并行端口和串行端口配置。使用硬件版本 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 的虚拟机串行端口。用于通过启用了使用虚拟串行端口集中器选项的网络连接串行端口输出,从而仅允许来自主机的出站通信。
  • 通过网络连接的虚拟机串行端口。用于通过没有虚拟串行端口集中器的网络连接串行端口输出。
重要说明: 不要更改任一规则集的允许 IP 列表。对 IP 列表的更新会对其他可能被防火墙阻止的网络服务造成影响。

有关允许通过防火墙访问 ESXi 服务的详细信息,请参见《vSphere 安全性》文档。

配置虚拟机通信接口防火墙

您可以配置虚拟机通信接口防火墙 (VMCI) 以限制虚拟机访问基于管理程序的服务和基于 VMCI 的服务。

您可以将 VMCI 使用限制到每个虚拟机上基于 VMCI 的服务的子集。例如,出于安全原因,您可以允许某些虚拟机访问 VMCI 服务并拒绝访问其他服务。

VMCI 设备当前支持客户机到主机的通信。虚拟机可以通过以下方式与 VMCI 服务通信:
  • ESXi 管理程序
  • 以 vmkernel 模块形式安装在主机操作系统上的服务
  • 通过验证的 vSphere 安装包安装的应用程序

更改串行端口配置

可以将虚拟串行端口连接到主机上的物理串行端口或文件。也可以使用主机端命名管道设置两个虚拟机之间的直接连接或虚拟机与主机上应用程序之间的连接。此外,可以使用端口或 vSPC URI 通过网络连接串行端口。最多可向虚拟机添加 32 个串行端口。

在配置过程中,虚拟机可以处于打开电源状况。

前提条件

  • 所需特权:
    • 虚拟机.更改配置.修改设备设置(在虚拟机上)。
    • 虚拟机.交互.设备连接(在虚拟机上,用于更改设备连接状态)。

过程

  1. 右键单击清单中的虚拟机,然后选择编辑设置
  2. 虚拟硬件选项卡上,展开串行端口并选择连接类型。
    选项 操作
    使用物理串行端口 选择此选项将虚拟机设置为使用主机上的物理串行端口。从下拉菜单中选择串行端口。
    使用输出文件 选择此选项将输出从虚拟串行端口发送到主机上的文件。浏览选择串行端口要连接到的输出文件。
    使用命名管道 选择此选项设置两个虚拟机之间的直接连接,或虚拟机与主机上的应用程序之间的连接。
    1. 管道名称字段中键入管道的名称。
    2. 从下拉菜单中选择管道的近端远端
    使用网络 选择使用网络以通过远程网络连接。
    1. 选择网络备用。
      • 选择服务器使虚拟机监控其他主机的入站连接。
      • 选择客户端使虚拟机启动与其他主机的连接。
    2. 输入端口 URI

      URI 是虚拟机串行端口应连接到的串行端口的远端。

    3. 如果使用 vSPC 作为通过单个 IP 地址访问所有虚拟机的中间步骤,请选择使用虚拟串行端口集中器,然后输入 vSPC URI 位置。
    打印机 选择打印机以连接到远程打印机。
  3. (可选) 选择轮询时自愿放弃 CPU
    只能为在轮询模式下使用串行端口的客户机操作系统选择此选项。此选项可以阻止客户机占用过多 CPU。
  4. (可选) 选择打开电源时连接在打开虚拟机电源时连接串行端口。
  5. 单击确定

示例: 在没有身份验证参数的情况下建立与客户端或服务器的串行端口网络连接

如果不使用 vSPC,且将具有已连接串行端口的虚拟机配置为带有 telnet://:12345 URI 的服务器,则可以从 Linux 或 Windows 操作系统连接到虚拟机的串行端口。
telnet yourESXiServerIPAddress 12345
同样,如果在端口 23 ( 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 身份验证选项。

身份验证参数

对于加密连接,URI 包含一组身份验证参数。输入参数作为关键字或键/值对。您可采用以下语法输入身份验证参数来保护 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-ssl yourESXServerName 12345。如果使用的 Telnet 程序不支持 SSL 加密,则该连接会失败。
简单客户端连接

如果系统上正在运行 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 个串行端口。

重要说明: 对于虚拟硬件版本 11 和更高版本,如果您配置不具有串行端口的虚拟机,它们将从虚拟芯片组中完全移除并且对虚拟机操作系统不可见。

前提条件

过程

  1. 右键单击清单中的虚拟机,然后选择编辑设置
  2. 虚拟硬件选项卡上,单击添加新设备按钮。
  3. 从下拉菜单中选择串行端口
    新的串行端口会显示在设备列表的底部。
  4. 新串行端口下拉菜单中,选择连接类型。
    选项 操作
    使用输出文件 选择此选项将输出从虚拟串行端口发送到主机上的文件。要选择要连接到串行端口的输出文件,请单击浏览
    使用物理串行端口 选择此选项将虚拟机设置为使用主机上的物理串行端口。从下拉菜单中选择串行端口。
    使用命名管道 选择此选项设置两个虚拟机之间的直接连接,或虚拟机与主机上的应用程序之间的连接。
    1. 管道名称字段中输入管道的名称。
    2. 从下拉菜单中选择管道的近端远端
    使用网络 要通过远程网络连接,请选择使用网络
    1. 选择网络备用。
      • 要使虚拟机监控其他主机的入站连接,请选择服务器
      • 要使虚拟机启动与其他主机的连接,请选择客户端
    2. 输入端口 URI

      URI 是虚拟机串行端口应连接到的串行端口的远端。

    3. 如果使用 vSPC 作为通过单个 IP 地址访问所有虚拟机的中间步骤,请选择使用虚拟串行端口集中器,然后输入 vSPC URI 位置。
  5. (可选) 选择轮询时自愿放弃 CPU
    只能为在轮询模式下使用串行端口的客户机操作系统选择此选项。此选项可以阻止客户机占用过多 CPU。
  6. 单击确定

示例: 在没有身份验证参数的情况下建立与客户端或服务器的串行端口网络连接

如果不使用 vSPC,且将具有已连接串行端口的虚拟机配置为带有 telnet://:12345 URI 的服务器,则可以从 Linux 或 Windows 操作系统连接到虚拟机的串行端口。
telnet yourESXiServerIPAddress 12345
同样,如果在端口 23 ( telnet://yourLinuxBox:23) 上的 Linux 系统上运行 Telnet 服务器,则将虚拟机配置为客户端 URI。
telnet://yourLinuxBox:23
虚拟机将在端口 23 上启动到 Linux 系统的连接。