

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# IPv6 用于本地消息传递
<a name="use-ipv6"></a>

您可以配置 IP 检测器组件 IPv6 以用于发送本地消息。

**注意**  
必须有 IP 检测器 v2.2.0 或更高版本 IPv6 才能用于发送本地消息。

您可以部署 [IP 检测器组件](ip-detector-component.md)来检测和使用 IPv6 地址。您必须更新 IP 检测器组件的配置才能 IPv6 代替 IPv4。有关更多信息，请参阅 [使用 IP 检测器自动管理端点](manage-core-device-endpoints.md#use-ip-detector)。

**Topics**
+ [配置要使用的 IP 检测器 IPv6](#configure-ip-detector-ipv6)

## 配置要使用的 IP 检测器 IPv6
<a name="configure-ip-detector-ipv6"></a>

如果您的网络设置很简单，例如客户端设备与核心设备位于同一网络上，则可以部署 [IP 检测器组件](ip-detector-component.md)以 IPv6 用于本地消息传递。

IP 检测器组件会覆盖您手动设置的端点。

**重要**  
核心设备的 Amazon IoT 策略必须允许使用 IP 检测器组件的`greengrass:UpdateConnectivityInfo`权限。有关更多信息，请参阅[Amazon IoT 数据平面操作策略](device-auth.md#iot-policies)和[配置 Amazon IoT 事物策略](connect-client-devices.md#configure-iot-policy-requirement)。

您可以执行以下任一操作来部署 IP 检测器组件：
+ 使用控制台中的**配置发现**页面。有关更多信息，请参阅 [配置云发现（控制台）](connect-client-devices.md#configure-cloud-discovery-console)。
+ 创建和修改部署以包含 IP 检测器。您可以使用控制台或 Amazon API 来管理部署。 Amazon CLI有关更多信息，请参阅 [创建部署](create-deployments.md)。

### 部署 IP 检测器组件（控制台）
<a name="deploy-ip-detector-console-ipv6"></a>

1. 在 [Amazon IoT Greengrass 控制台](https://console.amazonaws.cn/greengrass)导航菜单中，选择**组件**。

1. 在**组件**页面上，选择**公有组件**选项卡，然后选择 **aws.greengrass.clientdevices.IPDetector**。

1. 在 **aws.greengrass.clientdevices.IPDetector** 页面上，选择**部署**。

1. <a name="deploy-component-choose-deployment-step"></a>从**添加到部署**中，选择要修改的现有部署，或者选择创建新部署，然后选择**下一步**。

1. <a name="deploy-component-choose-target-step"></a>如果您选择创建新部署，请为部署选择目标核心设备或事物组。在**指定目标**页面的**部署目标**下面，选择核心设备或事物组，然后选择**下一步**。

1. 在**选择组件**页面上，确认已选择 **aws.greengrass.clientdevices.IPDetector** 组件，然后选择**下一步**。

1. 在**配置组件**页面上，选择 **aws.greengrass.clientdevices.IPDetector**，然后执行以下操作：

   1. 选择**配置组件**。

   1. 在**配置 aws.greengrass.clientdevices.IPDetector** 模式的**配置更新**下，在**要合并的配置**中输入配置更新来配置 IP 检测器组件。您可以指定以下任意配置选项。将 `includeIPv4Addrs` 设置为 `false`，将 `includeIPv6Addrs` 设置为 `true`。然后，您可以更新其他 IPv6 配置选项。
      + `defaultPort` –<a name="ip-detector-component-configuration-default-port-definition"></a>（可选）此组件检测到 IP 地址时要报告的 MQTT 代理端口。如果您将 MQTT 代理配置为使用默认端口 8883 以外的端口，则必须指定此参数。
      + `includeIPv4LoopbackAddrs`—<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv4 环回地址。这些是 IP 地址（例如 `localhost`），设备可以在此与自身通信。在核心设备和客户端设备运行于同一系统的测试环境中使用此选项。
      + `includeIPv4LinkLocalAddrs`—<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv4 [链路本地地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心设备的网络没有动态主机配置协议（DHCP）或静态分配的 IP 地址，请使用此选项。
      + `includeIPv6LoopbackAddrs`—<a name="ip-detector-component-configuration-include-ipv6-loopback-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv6 环回地址。这些是 IP 地址（例如 `localhost`），设备可以在此与自身通信。在核心设备和客户端设备运行于同一系统的测试环境中使用此选项。您必须将 `includeIPv4Addrs` 设置为 `false` 并将 `includeIPv6Addrs` 设置为 `true` 才能使用此选项。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。
      + `includeIPv6LinkLocalAddrs`—<a name="ip-detector-component-configuration-include-ipv6-link-local-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv6 [链路本地地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心设备的网络没有动态主机配置协议（DHCP）或静态分配的 IP 地址，请使用此选项。您必须将 `includeIPv4Addrs` 设置为 `false` 并将 `includeIPv6Addrs` 设置为 `true` 才能使用此选项。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。
      + `includeIPv4Addrs` –<a name="ip-detector-component-configuration-include-ipv4-addrs-definition"></a>（可选）默认值设置为 true。您可以启用此选项来发布在核心设备上找到 IPv4 的地址。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。
      + `includeIPv6Addrs`—<a name="ip-detector-component-configuration-include-ipv6-addrs-definition"></a>（可选）您可以启用此选项以发布在核心设备上找到 IPv6 的地址。将 `includeIPv4Addrs` 设置为 `false` 以使用此选项。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。

      配置更新可能与以下示例类似。

      ```
      {
        "defaultPort": "8883",
        "includeIPv4LoopbackAddrs": false,
        "includeIPv4LinkLocalAddrs": false,
        "includeIPv6LoopbackAddrs": true,
        "includeIPv6LinkLocalAddrs": true,
        "includeIPv4Addrs": false,
        "includeIPv6Addrs": true
      }
      ```

   1. 选择**确认**以关闭模式，然后选择**下一步**。

1. <a name="deploy-component-configure-advanced-settings-step"></a>在**配置高级设置**页面上，保留默认配置设置，然后选择**下一步**。

1. <a name="deploy-component-review-and-deploy-step"></a>在 **检查** 页上，选择 **部署**。

   完成部署可能最多需要 1 分钟。

### 部署 IP 检测器组件（Amazon CLI）
<a name="deploy-ip-detector-cli-ipv6"></a>

要部署 IP 检测器组件，请创建 `components` 对象中包含 `aws.greengrass.clientdevices.IPDetector` 的部署文档，并指定该组件的配置更新。按照 [创建部署](create-deployments.md) 中的说明创建新部署或修改现有部署。

在创建部署文档时，您可以指定以下任意选项来配置 IP 检测器组件：
+ `defaultPort` –<a name="ip-detector-component-configuration-default-port-definition"></a>（可选）此组件检测到 IP 地址时要报告的 MQTT 代理端口。如果您将 MQTT 代理配置为使用默认端口 8883 以外的端口，则必须指定此参数。
+ `includeIPv4LoopbackAddrs`—<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv4 环回地址。这些是 IP 地址（例如 `localhost`），设备可以在此与自身通信。在核心设备和客户端设备运行于同一系统的测试环境中使用此选项。
+ `includeIPv4LinkLocalAddrs`—<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv4 [链路本地地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心设备的网络没有动态主机配置协议（DHCP）或静态分配的 IP 地址，请使用此选项。
+ `includeIPv6LoopbackAddrs`—<a name="ip-detector-component-configuration-include-ipv6-loopback-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv6 环回地址。这些是 IP 地址（例如 `localhost`），设备可以在此与自身通信。在核心设备和客户端设备运行于同一系统的测试环境中使用此选项。您必须将 `includeIPv4Addrs` 设置为 `false` 并将 `includeIPv6Addrs` 设置为 `true` 才能使用此选项。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。
+ `includeIPv6LinkLocalAddrs`—<a name="ip-detector-component-configuration-include-ipv6-link-local-addrs-definition"></a>（可选）您可以启用此选项来检测和报告 IPv6 [链路本地地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心设备的网络没有动态主机配置协议（DHCP）或静态分配的 IP 地址，请使用此选项。您必须将 `includeIPv4Addrs` 设置为 `false` 并将 `includeIPv6Addrs` 设置为 `true` 才能使用此选项。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。
+ `includeIPv4Addrs` –<a name="ip-detector-component-configuration-include-ipv4-addrs-definition"></a>（可选）默认值设置为 true。您可以启用此选项来发布在核心设备上找到 IPv4 的地址。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。
+ `includeIPv6Addrs`—<a name="ip-detector-component-configuration-include-ipv6-addrs-definition"></a>（可选）您可以启用此选项以发布在核心设备上找到 IPv6 的地址。将 `includeIPv4Addrs` 设置为 `false` 以使用此选项。您必须具有 IP 检测器 v2.2.0 或更高版本才能使用此选项。

以下示例部分部署文档指定要使用 IPv6。

```
{
  ...,
  "components": {
    ...,
    "aws.greengrass.clientdevices.IPDetector": {
      "componentVersion": "2.1.1",
      "configurationUpdate": {
        "merge": "{\"defaultPort\":\"8883\",}"
      }
    }
  }
}
```