使用 VPN 以将 LoRa 网关连接到 AWS 账户。 - AWS IoT Wireless

使用 VPN 以将 LoRa 网关连接到 AWS 账户。

要将本地部署网关连接到您的AWS 账户,可以使用 Site-to-Site VPN 连接或 Client VPN 端点。

在连接本地部署网关之前,您必须已创建 VPC 端点,并配置私有托管区和入站解析程序,以避免来自网关的流量通过公共网络。有关更多信息,请参阅创建 VPC 接口端点和私有托管区域

Site-to-Site VPN 端点

如果您没有网关硬件或希望使用其他AWS 账户测试 VPN 连接,则可以使用 Site-to-Site VPN 连接。您可以使用 Site-to-Site VPN 连接来自同一个 AWS 账户的 VPC 端点;或如果您打算在不同 AWS 区域中使用,则可以选择来自其他 AWS 账户的 VPC 端点。

注意

如果您拥有网关硬件并希望建立 VPN 连接,我们建议您改用 Client VPN。有关说明,请参阅Client VPN 端点

要设置 Site-to-Site VPN:

  1. 在要从中设置连接的站点中创建另一个 VPC。对于 VPC-A,您可以重复使用之前创建的 VPC。要创建另一个 VPC(例如,VPC-B),请使用与您之前创建的 VPC 的 CIDR 块不重叠的 CIDR 块。

    有关设置 VPC 的信息,请按照AWS设置 Site-to-Site VPN 连接中所述操作执行。

    注意

    文档中描述的 Site-to-Site VPN VPN 方法使用 OpenSWAN 进行 VPN 连接,该连接仅支持一个 VPN 隧道。如果您为 VPN 使用了不同的商业软件,则可在站点之间设置两个通道。

  2. 设置 VPN 连接后,请添加您的AWS 账户中的入站解析程序 IP 地址,以更新 /etc/resolv.conf 文件。您将为名称服务器使用此 IP 地址。有关如何获取此 IP 地址的信息,请参阅 配置 Route 53 入站解析程序。在这个示例中,我们可以使用您在创建 Route 53 Resolver 时分配的 IP 地址 10.100.0.145

    options timeout:2 attempts:5 ; generated by /usr/sbin/dhclient-script search region.compute.internal nameserver 10.100.0.145
  3. 现在,我们可以测试 VPN 连接是否使用了 AWS PrivateLink 端点,而无需使用 nslookup 命令经由公共互联网进行测试。以下是运行命令的示例。

    nslookup account-specific-prefix.lns.lorawan.region.amazonaws.com

    下面显示了运行命令的示例输出,该输出显示了一个私有 IP 地址,表示与 AWS PrivateLink LNS 端点的连接已建立。

    Server: 10.100.0.145 Address: 10.100.0.145 Non-authoritative answer: Name: https://xxxxx.lns.lorawan.region.amazonaws.com Address: 10.100.0.204

有关使用 Site -to-Site VPN 连接的信息,请参阅 Site-to-Site VPN 的工作原理

Client VPN 端点

AWS Client VPN 是一种基于客户端的托管 VPN 服务,让您能够安全地访问 AWS 资源和本地网络中的资源。下面显示了 Client VPN 服务的架构。

图片显示了如何使用 AWS Client VPN 在本地连接您的 LoRa 网关。

要建立到 Client VPN 端点的 VPN 连接:

  1. 按照 AWS Client VPN 入门中描述的说明创建 Client VPN 端点。

  2. 使用该路由器的访问 URL(例如 192.168.1.1),登录到本地网络(例如,Wi-Fi 路由器),然后查找根名称和密码。

  3. 按照网关文档中的说明设置 LoRaWAN 网关,然后将您的网关添加到 适用于 LoRaWAN 的 AWS IoT Core。有关如何添加网关的信息,请参阅 将您的网关登记到 适用于 LoRaWAN 的 AWS IoT Core

  4. 检查您的网关固件是否为最新版本。如果固件过期,您可以按照本地部署网络中提供的说明更新网关的固件。有关更多信息,请参阅使用 适用于 LoRaWAN 的 AWS IoT Core 的 CUPS 服务更新网关固件

  5. 检查 OpenVPN 是否已启用。如果已启用,请跳到下一步以配置本地部署网络中的 OpenVPN 客户端。如果尚未启用,请遵循为 OpenWrt 安装 OpenVPN 的指南

    注意

    在此示例中,我们使用 OpenVPN。您可以使用其他 VPN 客户端,例如 AWS VPN 或者 AWS Direct Connect 以设置 Client VPN 连接。

  6. 根据客户端配置中的信息配置 OpenVPN 客户端,并了解您可以如何使用使用 LuCi 的 OpenVPN 客户端

  7. 将入站解析程序的 IP 地址添加到AWS 账户 (10.100.0.145),从而 SSH 连接到您的本地部署网络,并更新/etc/resolv.conf文件。

  8. 对于要使用AWS PrivateLink连接到端点的网关流量,请将网关的第一个 DNS 条目替换为入站解析程序的 IP 地址。

有关使用 Site-to-Site VPN 连接的信息,请参阅 Client VPN 入门

连接到 LNS 和 CUPS VPC 端点

下面显示了如何测试与 LNS 和 CUPS VPC 端点的连接。

测试 CUPS 端点

要测试您的 LoRa 网关与 CUPS 端点的 AWS PrivateLink 连接,请运行以下命令:

curl -k -v -X POST https://xxxx.cups.region.iotwireless.iot:443/update-info --cacert cups.trust --cert cups.crt --key cups.key --header "Content-Type: application/json" --data '{ "router": "xxxxxxxxxxxxx", "cupsUri": "https://xxxx.cups.lorawan.region.amazonaws.com:443", "cupsCredCrc":1234, "tcCredCrc":552384314 }' —output cups.out
测试 LNS 端点

要测试您的 LNS 端点,请首先预置一个可与您的无线网关配合使用的 LoRaWAN 设备。然后,您可以添加您的设备并执行加入流程,随后您便可以开始发送上行链路消息了。