Internet 协议安全 (IPsec) 用于确保进出主机的 IP 通信安全。ESXi 主机支持使用 IPv6 的 IPsec。

ESXi 主机上设置 IPsec 时,可对入站和出站数据包启用身份验证和加密。对 IP 流量进行加密的时间和方式取决于如何设置系统的安全关联和安全策略。

安全关联确定系统对流量进行加密的方式。在创建安全关联时,可指定安全关联的源和目标、加密参数以及名称。

安全策略确定系统应对流量进行加密的时间。安全策略包括源和目标信息、要加密的流量的协议和方向、模式(transport 或 tunnel)以及要使用的安全关联。

列出 ESXi 主机上的可用安全关联

ESXi 可提供可供安全策略使用的所有安全关联的列表。该列表包含用户创建的安全关联,以及 VMkernel 使用 Internet 密钥交换安装的任何安全关联。

可以使用 esxcli 命令获取可用安全关联的列表。

过程

  • 在命令提示符下,输入命令 esxcli network ip ipsec sa list

结果

ESXi 将显示所有可用安全关联的列表。

将 IPsec 安全关联添加到 ESXi 主机

添加安全关联以指定关联的 IP 流量的加密参数。

可以使用 esxcli 命令添加安全关联。

过程

  • 在命令提示符下输入命令 esxcli network ip ipsec sa add 并使用下列一个或多个选项。
    选项 描述
    --sa-source = 源地址 必需。指定源地址。
    --sa-destination = 目标地址 必需。指定目标地址。
    --sa-mode = 模式 必需。指定模式 transporttunnel
    --sa-spi = 安全参数索引 必需。指定安全参数索引。安全参数索引标识与主机的安全关联。它必须是一个十六进制数并带有 0x 前缀。所创建的每个安全关联都必须具有协议和安全参数索引的唯一组合。
    --encryption-algorithm = 加密算法 必需。使用以下参数之一指定加密算法。
    • 3des-cbc
    • aes128-cbc
    • null(不提供任何加密)
    --encryption-key = 加密密钥 在指定加密算法时为必填项。指定加密密钥。可以使用 0x 前缀输入 ASCII 文本或十六进制形式的密钥。
    --integrity-algorithm = 身份验证算法 必需。指定身份验证算法 hmac-sha1hmac-sha2-256
    --integrity-key = 身份验证密钥 必需。指定身份验证密钥。可以使用 0x 前缀输入 ASCII 文本或十六进制形式的密钥。
    --sa-name = 名称 必需。提供一个安全关联名称。

示例: 新安全关联命令

为了方便阅读,下面的示例包含额外的换行符。

esxcli network ip ipsec sa add 
--sa-source 3ffe:501:ffff:0::a 
--sa-destination 3ffe:501:ffff:0001:0000:0000:0000:0001
--sa-mode transport
--sa-spi 0x1000
--encryption-algorithm 3des-cbc
--encryption-key 0x6970763672656164796c6f676f336465736362636f757432
--integrity-algorithm hmac-sha1
--integrity-key 0x6970763672656164796c6f67736861316f757432
--sa-name sa1

ESXi 主机中移除 IPsec 安全关联

可以使用 ESXCLI 命令移除安全关联。

前提条件

验证要使用的安全关联当前未在使用中。如果尝试移除正在使用中的安全关联,则移除操作将失败。

过程

  • 在命令提示符下,输入命令 esxcli network ip ipsec sa remove --sa-name security_association_name

列出 ESXi 主机上的可用 IPsec 安全策略

可以使用 ESXCLI 命令列出可用的安全策略。

过程

  • 在命令提示符下,输入命令 esxcli network ip ipsec sp list

结果

主机将显示所有可用安全策略的列表。

ESXi 主机上创建 IPSec 安全策略

创建安全策略可以确定何时使用在安全关联中设置的身份验证和加密参数。可以使用 ESXCLI 命令添加安全策略。

前提条件

在创建安全策略之前,可按将 IPsec 安全关联添加到 ESXi 主机中所述,添加具有相应身份验证和加密参数的安全关联。

过程

  • 在命令提示符下输入命令 esxcli network ip ipsec sp add 并使用下列一个或多个选项。
    选项 描述
    --sp-source = 源地址 必需。指定源 IP 地址和前缀长度。
    --sp-destination = 目标地址 必需。指定目标地址和前缀长度。
    --source-port = 端口 必需。指定源端口。源端口号必须是介于 0 和 65535 之间的一个数字。
    --destination-port = 端口 必需。指定目标端口。源端口号必须是介于 0 和 65535 之间的一个数字。
    --upper-layer-protocol = 协议 使用以下参数之一指定上层协议。
    • tcp
    • udp
    • icmp6
    • any
    --flow-direction = 方向 使用 inout 指定要监控流量的方向。
    --action = 操作 使用以下参数之一指定在遇到具有指定参数的流量时要采取的操作。
    • none:不采取任何操作。
    • discard:不允许数据进出。
    • ipsec:使用安全关联中提供的身份验证和加密信息来确定数据是否来自受信任的源。
    --sp-mode = 模式 指定模式 tunneltransport
    --sa-name = 安全关联名称 必需。为要使用的安全策略提供安全关联名称。
    --sp-name = 名称 必需。请提供一个安全策略名称。

示例: 新安全策略命令

为了方便阅读,下面的示例包含额外的换行符。

esxcli network ip ipsec add
--sp-source=2001:db8:1::/64
--sp-destination=2002:db8:1::/64
--source-port=23
--destination-port=25
--upper-layer-protocol=tcp
--flow-direction=out
--action=ipsec
--sp-mode=transport
--sa-name=sa1
--sp-name=sp1

ESXi 主机中移除 IPsec 安全策略

可以使用 ESXCLI 命令移除 ESXi 主机中的安全策略。

前提条件

验证要使用的安全策略当前未在使用中。如果尝试移除正在使用中的安全策略,则移除操作将失败。

过程

  • 在命令提示符下,输入命令 esxcli network ip ipsec sp remove --sa-name 安全策略名称
    要移除所有安全策略,请输入命令 esxcli network ip ipsec sp remove --remove-all