

# 使用 VPN 將 LoRa 閘道連接至您的 AWS 帳戶
<a name="lorawan-vpc-vpn-connection"></a>

若要將閘道內部部署連接至 AWS 帳戶，您可以使用 Site-to-Site VPN 連線或 Client VPN 端點。

在可以連接您的內部部署閘道之前，您必須先建立 VPC 端點，並設定私有託管區域和傳入解析程式，以便來自閘道的流量不會通過公有網際網路。如需詳細資訊，請參閱[建立 VPC 介面端點和私有託管區域](create-vpc-lns-cups.md)。

## Site-to-Site VPN 端點
<a name="vpc-site-vpn"></a>

如果您沒有閘道硬體，或想要使用不同的 AWS 帳戶 測試 VPN 連線，則可以使用 Site-to-Site VPN 連線。您可以使用 Site-to-Site VPN，從相同的 AWS 帳戶 或您可能在不同 AWS 區域 中使用的另一個 AWS 帳戶 連接至 VPC 端點。

**注意**  
如果您有閘道硬體，而且想要設定 VPN 連線，我們建議您改用 Client VPN。如需指示，請參閱 [用戶端 VPN 端點](#vpc-client-vpn)。

若要設定 Site-to-Site VPN：

1. 在您要從中設定連線的網站中建立另一個 VPC。對於 `VPC-A`，您可以重複使用先前建立的 VPC。若要建立另一個 VPC (例如，`VPC-B`)，請使用未與您先前所建立 VPC 之 CIDR 區塊重疊的 CIDR 區塊。

   如需設定 VPC 的相關資訊，請遵循 [AWS 設定 Site-to-Site VPN 連線](samples/Setup_Site_to_Site_VPN.zip)中所述的指示。
**注意**  
文件中所述的 Site-to-Site VPN 方法會使用 OpenSWAN 進行 VPN 連線，而 VPN 連線只支援一個 VPN 通道。如果您針對 VPN 使用不同的商務軟體，您或許可以在網站之間設定兩個通道。

1. 在設定 VPN 連線之後，請從您的 AWS 帳戶 新增傳入解析程式的 IP 地址來更新 `/etc/resolv.conf` 檔案。您可以針對名稱伺服器使用此 IP 地址。如需如何取得此 IP 地址的相關資訊，請參閱 [設定 Route 53 傳入解析程式](create-vpc-lns-cups.md#configure-route53-resolver)。在這個範例中，我們可以使用您在建立 Route 53 解析程式時所指派的 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
   ```

1. 我們現在可以使用 `nslookup` 命令，測試 VPN 連線是否使用 AWS PrivateLink 端點，而不是通過公有網際網路。下列顯示執行命令的範例。

   ```
   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 的運作方式](https://docs.aws.amazon.com/vpn/latest/s2svpn/how_it_works.html)。

## 用戶端 VPN 端點
<a name="vpc-client-vpn"></a>

AWS Client VPN 是以用戶端為基礎的受管 VPN 服務，能讓您安全地存取 AWS 資源，以及內部部署網路中的資源。下列顯示用戶端 VPN 服務的架構。

![\[顯示如何使用 AWS Client VPN 來連接 LoRa 閘道內部部署的影像。\]](http://docs.aws.amazon.com/zh_tw/iot-wireless/latest/developerguide/images/lorawan-privatelink-client-vpn.png)


若要建立與 Client VPN 端點的 VPN 連線：

1. 遵循 [AWS Client VPN 入門](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html)中所述的指示來建立 Client VPN 端點。

1. 使用該路由器的存取 URL (例如 `192.168.1.1`) 登入您的內部部署網路 (例如 Wi-Fi 路由器)，然後尋找根名稱和密碼。

1. 遵循閘道文件中的指示來設定 LoRaWAN 閘道，然後將閘道新增至 AWS IoT Core for LoRaWAN。如需如何新增閘道的相關資訊，請參閱 [將閘道加入 AWS IoT Core for LoRaWAN](lorawan-onboard-gateways.md)。

1. 檢查閘道的韌體是否為最新版本。如果韌體過期，您可以遵循內部部署網路中提供的指示來更新閘道的韌體。如需詳細資訊，請參閱[使用 CUPS 服務搭配 AWS IoT Core for LoRaWAN 來更新閘道韌體](lorawan-update-firmware.md)。

1. 檢查 OpenVPN 是否已啟用。如果已啟用，請跳至下一個步驟，在內部部署網路內設定 OpenVPN 用戶端。如果尚未啟用，請遵循 [OpenVPN for OpenWrt 安裝指南](https://www.ovpn.com/en/guides/openwrt)中的指示。
**注意**  
對於此範例，我們使用 OpenVPN。您可以使用其他 VPN 用戶端 (例如 Site-to-Site VPN 或 AWS Direct Connect)，來設定 Client VPN 連線。

1. 根據來自用戶端組態的資訊，以及如何使用 LuCi 來使用 [OpenVPN 用戶端](https://openwrt.org/docs/guide-user/services/vpn/openvpn/client-luci)，設定 OpenVPN 用戶端。

1. 透過 SSH 連接到您的內部署網路，並更新 `/etc/resolv.conf` 檔案，方法為在 AWS 帳戶 (`10.100.0.145`) 中新增傳入解析程式的 IP 地址。

1. 對於要使用 AWS PrivateLink 連接到端點的閘道流量，請將閘道的第一個 DNS 項目取代為傳入解析程式的 IP 地址。

如需使用 Site-to-Site VPN 連線的相關資訊，請參閱 [Client VPN 入門](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/user-getting-started.html)。

## 連接至 LNS 和 CUPS VPC 端點
<a name="vpc-vpn-connect"></a>

下列顯示如何測試您與 LNS 和 CUPS VPC 端點的連線。

**測試 CUPS 端點**  
若要從 LoRa 閘道測試 AWS PrivateLink 與 CUPS 端點的連線，請執行下列命令：

```
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 裝置。然後，您可以新增裝置並執行「聯結」**程序，然後您就可以開始傳送上行訊息。