使用 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:
-
在要从中设置连接的站点中创建另一个 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 使用了不同的商业软件,则可在站点之间设置两个通道。
-
设置 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 -
现在,我们可以测试 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 服务的架构。
要建立到 Client VPN 端点的 VPN 连接:
-
按照 AWS Client VPN 入门中描述的说明创建 Client VPN 端点。
-
使用该路由器的访问 URL(例如
192.168.1.1
),登录到本地网络(例如,Wi-Fi 路由器),然后查找根名称和密码。 -
按照网关文档中的说明设置 LoRaWAN 网关,然后将您的网关添加到 适用于 LoRaWAN 的 AWS IoT Core。有关如何添加网关的信息,请参阅 将您的网关登记到 适用于 LoRaWAN 的 AWS IoT Core。
-
检查您的网关固件是否为最新版本。如果固件过期,您可以按照本地部署网络中提供的说明更新网关的固件。有关更多信息,请参阅使用 适用于 LoRaWAN 的 AWS IoT Core 的 CUPS 服务更新网关固件。
-
检查 OpenVPN 是否已启用。如果已启用,请跳到下一步以配置本地部署网络中的 OpenVPN 客户端。如果尚未启用,请遵循为 OpenWrt 安装 OpenVPN 的指南
。 注意
在此示例中,我们使用 OpenVPN。您可以使用其他 VPN 客户端,例如 AWS VPN 或者 AWS Direct Connect 以设置 Client VPN 连接。
-
根据客户端配置中的信息配置 OpenVPN 客户端,并了解您可以如何使用使用 LuCi 的 OpenVPN 客户端
。 -
将入站解析程序的 IP 地址添加到AWS 账户 (
10.100.0.145
),从而 SSH 连接到您的本地部署网络,并更新/etc/resolv.conf
文件。 -
对于要使用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 设备。然后,您可以添加您的设备并执行加入流程,随后您便可以开始发送上行链路消息了。