Introdução
Neste artigo, você aprenderá a configurar uma conexão manual OpenVPN da NordVPN dentro de um contêiner Gluetun do Docker. O Gluetun é um contêiner de cliente de VPN leve que roteia o tráfego dos seus outros contêineres Docker por meio da NordVPN via OpenVPN. A etapa principal que confunde a maioria das pessoas é a autenticação: a NordVPN não aceita mais seu e-mail e senha para aplicativos de terceiros, então você deve usar as credenciais do serviço.
Antes de começar
- Uma instalação funcional do Docker (e, opcionalmente, do Docker Compose).
- Suas credenciais de serviço da NordVPN (nome de usuário e senha) - estas NÃO são o seu e-mail e senha da Nord-Account.
- O(s) local(is) do servidor OpenVPN da NordVPN ao(s) qual(is) você deseja se conectar (país, região ou cidade).
Veja o que fazer
Passo 1: obtenha suas credenciais de serviço
- Entre na sua Nord-Account.
- Clique em NordVPN, role para baixo até Configurações avançadas (Configuração manual) e clique em Configurar a NordVPN manualmente.
- Você receberá um código de verificação no e-mail que usa para a NordVPN. Insira o código para confirmar.
- Abra a guia de Credenciais de serviço. Copie o Nome de usuário e a Senha exibidos lá — esses são os valores de que o Gluetun precisa.
OBSERVAÇÃO: As credenciais de serviço são diferentes dos seus dados de login normais da Nord-Account. Se a sua conexão falhar na autenticação posteriormente, verifique novamente se você copiou as credenciais de serviço corretas.
Passo 2: crie a configuração do Gluetun
No Gluetun, a NordVPN via OpenVPN usa estas variáveis de ambiente:
VPN_SERVICE_PROVIDER=nordvpnVPN_TYPE=openvpn-
OPENVPN_USER- seu nome de usuário de credenciais de serviço -
OPENVPN_PASSWORD- sua senha de credenciais de serviço -
OPENVPN_PROTOCOL- opcional,udp(padrão) outcp
As variáveis opcionais de seleção de servidor incluem SERVER_COUNTRIES, SERVER_REGIONSe SERVER_CITIES (listas separadas por vírgulas).
Passo 3: Execute com o Docker Compose
Crie um arquivo docker-compose.yml como o seguinte:
serviços: gluetun: imagem: qmcgaw/gluetun container_name: gluetun cap_add: - NET_ADMIN dispositivos: - /dev/net/tun:/dev/net/tun portas: - 8000:8000 # Servidor de controle Gluetun (opcional) ambiente: - VPN_SERVICE_PROVIDER=nordvpn - VPN_TYPE=openvpn - OPENVPN_USER=YOUR_SERVICE_USERNAME - OPENVPN_PASSWORD=YOUR_SERVICE_PASSWORD - OPENVPN_PROTOCOL=udp - SERVER_COUNTRIES=United States reiniciar: a menos que interrompido
Substitua YOUR_SERVICE_USERNAME e YOUR_SERVICE_PASSWORD pelas credenciais de serviço do Passo 1 e ajuste SERVER_COUNTRIES para a localização de sua preferência.
Passo 4: Inicie e verifique a conexão
- Inicie o contêiner:
- Verifique os registros para confirmar que o túnel foi ativado:
- Confirme se o seu tráfego sai pela NordVPN executando uma verificação de IP de dentro do namespace de rede do container:
docker compose up -d
docker logs -f gluetun
docker exec gluetun wget -qO- https://ipinfo.io/ip
O IP retornado deve ser um IP de servidor da NordVPN, não o seu IP real.
Passo 5: roteie outros contêineres por meio do Gluetun
Para enviar o tráfego de outro contêiner pelo túnel, configure esse contêiner para compartilhar a rede do Gluetun e remova suas próprias portas (publique-as no serviço Gluetun):
yourapp: image: your/app-image network_mode: "service:gluetun" depends_on: - gluetun
Dicas adicionais
- Se você vir um erro "AUTH_FAILED / Suas credenciais podem estar incorretas", é quase certo que você esteja usando seu e-mail e senha da Nord-Account em vez das credenciais do serviço. Copie-as novamente da aba Credenciais de serviço.
- Se o protocolo padrão
udpfor bloqueado em redes restritivas, mude paraOPENVPN_PROTOCOL=tcpe recrie o container. - O Gluetun inclui um kill switch integrado, portanto, os contêineres dependentes perdem o acesso à Internet se a VPN cair, evitando vazamentos de IP. (Com base no comportamento padrão documentado do Gluetun; verifique no wiki atual para a sua versão.)