

# Use VPN para conectar gateways LoRa à sua Conta da AWS
<a name="lorawan-vpc-vpn-connection"></a>

Para conectar gateways on-premises à Conta da AWS, é possível usar uma conexão do Site-to-Site VPN ou um endpoint do Client VPN.

Antes de conectar gateways on-premises, você deve ter criado o endpoint da VPC e configurado uma zona hospedada privada e um resolvedor de entrada para que o tráfego dos gateways não passe pela Internet pública. Para ter mais informações, consulte [Crie um endpoint de interface de VPC e uma zona hospedada privada](create-vpc-lns-cups.md).

## Endpoint do Site-to-Site VPN
<a name="vpc-site-vpn"></a>

Se não tiver o hardware do gateway ou quiser testar a conexão VPN usando uma Conta da AWS diferente, você pode usar uma conexão Site-to-Site VPN. Você pode usar o Site-to-Site VPN para se conectar aos endpoints da VPC a partir da mesma Conta da AWS ou de outra Conta da AWS que você esteja usando em uma Região da AWS diferente.

**nota**  
Se você tiver o hardware do gateway com você e quiser configurar uma conexão VPN, recomendamos que você use o Client VPN em vez disso. Para obter instruções, consulte [Endpoint do cliente VPN](#vpc-client-vpn).

Para configurar um Site-to-Site VPN:

1. Crie outra VPC no site a partir do qual você deseja configurar a conexão. Em `VPC-A`, é possível reutilizar a VPC criada antes. Para criar outra VPC (por exemplo, `VPC-B`), use um bloco CIDR que não se sobreponha ao bloco CIDR da VPC que você criou antes.

   Para obter informações sobre como configurar as VPCs, siga as instruções descritas em [Configurar a conexão do Site-to-Site VPN da AWS](samples/Setup_Site_to_Site_VPN.zip).
**nota**  
O método VPN do Site-to-Site VPN descrito no documento usa o OpenSWAN para a conexão VPN, compatível somente com um túnel VPN. Se você usar um software comercial diferente para a VPN, poderá configurar dois túneis entre os sites.

1. Depois de configurar a conexão VPN, atualize o arquivo `/etc/resolv.conf` adicionando o endereço IP do resolvedor de entrada da Conta da AWS. Use esse endereço IP para o servidor de nomes. Para obter informações sobre como obter esse endereço IP, consulte [Configurar o resolvedor de entrada do Route 53](create-vpc-lns-cups.md#configure-route53-resolver). Neste exemplo, podemos usar o endereço IP `10.100.0.145` que foi atribuído quando você criou o Route 53 Resolver.

   ```
   options timeout:2 attempts:5
   ; generated by /usr/sbin/dhclient-script
   search {{region}}.compute.internal
   nameserver 10.100.0.145
   ```

1. Agora podemos testar se a conexão VPN usa o endpoint AWS PrivateLink em vez de acessar a Internet pública usando um comando `nslookup`. A opção a seguir mostra um exemplo de execução do comando.

   ```
   nslookup {{account-specific-prefix}}.lns.lorawan.{{region}}.amazonaws.com
   ```

   A opção a seguir mostra um exemplo de saída da execução do comando, que mostra um endereço IP privado indicando que a conexão foi estabelecida com o endpoint do LNS do AWS PrivateLink.

   ```
   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
   ```

Para obter informações sobre como usar uma conexão do Site-to-Site VPN, consulte [Como o Site-to-Site VPN funciona](https://docs.aws.amazon.com/vpn/latest/s2svpn/how_it_works.html).

## Endpoint do cliente VPN
<a name="vpc-client-vpn"></a>

O AWS Client VPN é um serviço de VPN gerenciado com base no cliente que permite que você acesse com segurança recursos da AWS e recursos na rede on-premises. A opção a seguir mostra a arquitetura do serviço Client VPN.

![Imagem mostrando como você pode usar o AWS Client VPN para conectar o gateway LoRa on-premises.](http://docs.aws.amazon.com/pt_br/iot-wireless/latest/developerguide/images/lorawan-privatelink-client-vpn.png)


Para estabelecer uma conexão VPN com um endpoint do Client VPN:

1. Crie um endpoint do Client VPN seguindo as instruções descritas em [Introdução ao AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html).

1. Faça login na rede on-premises (por exemplo, um roteador Wi-Fi) usando o URL de acesso desse roteador (por exemplo, `192.168.1.1`) e encontre o nome raiz e a senha.

1. Configure o gateway LoRaWAN seguindo as instruções na documentação do gateway e, em seguida, adicione o gateway ao AWS IoT Core for LoRaWAN. Para obter informações sobre como adicionar o gateway, consulte [Integre os gateways ao AWS IoT Core for LoRaWAN](lorawan-onboard-gateways.md).

1. Verifique se o firmware do gateway está atualizado. Se o firmware estiver desatualizado, você poderá seguir as instruções fornecidas na rede on-premises para atualizar o firmware do gateway. Para ter mais informações, consulte [Atualize o firmware do gateway usando o serviço CUPS com AWS IoT Core for LoRaWAN](lorawan-update-firmware.md).

1. Verifique se o OpenVPN foi ativado. Se tiver sido ativado, vá para a próxima etapa para configurar o cliente OpenVPN dentro da rede on-premises. Se ele não tiver sido ativado, siga as instruções no [Guia para instalar o OpenVPN para OpenWrt](https://www.ovpn.com/en/guides/openwrt).
**nota**  
Neste exemplo, usamos OpenVPN. Você pode usar outros clientes VPN, como Site-to-Site VPN ou AWS Direct Connect, para configurar a conexão do Client VPN.

1. Configure o cliente OpenVPN com base nas informações da configuração do cliente e em como você pode usar o [cliente OpenVPN usando o LuCi](https://openwrt.org/docs/guide-user/services/vpn/openvpn/client-luci).

1. Faça SSH na rede on-premises e atualize o arquivo `/etc/resolv.conf` adicionando o endereço IP do resolvedor de entrada à Conta da AWS (`10.100.0.145`).

1. Para que o tráfego do gateway use o AWS PrivateLink para se conectar ao endpoint, substitua a primeira entrada DNS do gateway pelo endereço IP do resolvedor de entrada.

Para obter informações sobre como usar uma conexão do Site-to-Site VPN, consulte [Introdução ao Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/user-getting-started.html).

## Conecte-se aos endpoints da VPC do LNS e do CUPS
<a name="vpc-vpn-connect"></a>

A opção a seguir mostra como você pode testar a conexão com os endpoints da VPC do LNS e do CUPS.

**Testar o endpoint do CUPS**  
Para testar a conexão do AWS PrivateLink com o endpoint do CUPS a partir do gateway LoRa, execute o seguinte comando:

```
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
```

**Testar o endpoint do LNS**  
Para testar o endpoint do LNS, primeiro provisione um dispositivo LoRaWAN que funcionará com o gateway sem fio. Em seguida, você pode adicionar o dispositivo e executar o procedimento de *junção*, após o qual você pode começar a enviar mensagens de uplink.