O NordVPN é compatível com o OpenWrt?
Relatórios indicam que roteadores com firmware OpenWrt aceitam VPNs como a NordVPN. Porém, lembre-se de que a equipe da NordVPN não testou a configuração a seguir. Ela foi compartilhada e testada por nossos maravilhosos clientes. Em particular, a NordVPN gostaria de agradecer ao Unwind, um membro ativo da comunidade do OpenWrt, pela assistência contínua ao nos fornecer instruções atualizadas do OpenWrt. Confira nosso guia se quiser configurar a NordVPN com o nordvpnlite.
Instruções da GUI
Este guia mostra a você como configurar uma conexão da NordVPN em roteadores usando o firmware OpenWrt pela interface Web LuCI.
-
Para acessar a interface LuCI do roteador OpenWrt, insira o endereço de
IP local no navegador de Internet e inicie a sessão. O endereço de IP
padrão é 192.168.1.1 e o nome de
usuário é root.
OBSERVAÇÃO: o Sistema não define uma senha por padrão, então esse espaço pode ficar em branco. Porém, ao iniciar sessão, o Sistema exibirá uma mensagem pedindo que você defina uma senha.
Clique em "Sistema > Administração" para configurar uma senha. -
Ao iniciar a sessão, selecione a aba Sistema (System) e escolha Software.
- Clique no botão Atualizar listas (Update lists), aguarde até o processo ser concluído e clique em Ignorar (Dismiss).
-
Para instalar os pacotes a seguir, digite os nomes deles no campo
filtro e clique em instalar…
- openvpn-openssl
- ip-full
-
luci-app-openvpn
- Clique em Salvar e aplicar (Save & Apply) e atualize a página do roteador. Você deverá ver uma nova aba chamada VPN. Clique nela e escolha OpenVPN no menu suspenso.
-
Agora será necessário baixar os arquivos de configuração do cliente
OpenVPN. Depois, conecte-se a um servidor recomendado pela sua
Nord-Account. Siga os passos
abaixo para encontrar as
credenciais do serviço para a configuração da conexão manual:
-
-
Entre (Log into) em sua
Nord-Account, clique em NordVPN e, em
Configuração manual (Manual setup), clique em
Credenciais do serviço (Service credentials).
Aqui você encontra o
Nome de usuário (Username) e
Senha (Password) necessários para se conectar
manualmente.
-
Agora será necessário baixar os arquivos de configuração do
cliente OpenVPN. Para encontrar o melhor servidor para sua
conexão, siga os passos abaixo:
-
Entre em (Log in to) sua
Nord-Account
e clique em NordVPN.
-
Role para baixo até
Configurações avançadas (Advanced settings)
e clique em
Configurar NordVPN manualmente (Set up NordVPN
manually).
-
Selecione a aba
Recomendação de servidor (Server recommendation). Nosso algoritmo recomendará o melhor servidor para você
conforme a sua localização.
-
Ao pressionar
Filtros avançados (Advanced filters), você
pode personalizar ainda mais os servidores recomendados,
selecionando o
Tipo de servidor (Server type) e o
Protocolo de segurança (Security protocol).
Caso queira selecionar um servidor específico, siga estes passos:
-
Em
Configurar NordVPN manualmente (Set up NordVPN
manually), selecione
Arquivos de configuração do OpenVPN (OpenVPN
configuration files).
-
Use a barra de Pesquisa ou role para
baixo para encontrar o servidor desejado para se
conectar. Depois, clique em
Baixar UDP (Download UDP) ou
Baixar TCP (Download TCP) para
baixá-lo.
Neste guia, usaremos o servidor us5104.nordvpn.com.
-
Em
Configurar NordVPN manualmente (Set up NordVPN
manually), selecione
Arquivos de configuração do OpenVPN (OpenVPN
configuration files).
-
Entre em (Log in to) sua
Nord-Account
e clique em NordVPN.
-
Entre (Log into) em sua
Nord-Account, clique em NordVPN e, em
Configuração manual (Manual setup), clique em
Credenciais do serviço (Service credentials).
Aqui você encontra o
Nome de usuário (Username) e
Senha (Password) necessários para se conectar
manualmente.
-
-
Na seção Carregar arquivo de configuração OVPN, digite
um nome para a conexão de VPN no campo nome de instância
(nós escolhemos o nome nordvpn_us). Depois, clique no
botão escolher arquivo, localize o arquivo que você
baixou do servidor e clique em carregar.
-
Na seção Instâncias do OpenVPN, clique no
botão editar ao lado da nova instância criada.
-
Digite suas credenciais do serviço da NordVPN, nome de usuário e senha
no campo inferior em linhas separadas. nome do usuário
senha
Você pode encontrar suas credenciais do serviço da NordVPN (nome de usuário e senha) no painel da Nord-Account. -
Agora, copie o caminho para o arquivo de credenciais indicado exatamente
acima do campo com as credenciais e cole-o ao lado da linha
“auth-user-pass” na seção
arquivo de configuração acima.
Deve ficar assim: auth-user-pass /etc/openvpn/nordvpn\_us.auth
-
Para se conectar ao servidor de VPN, clique na caixa de seleção
Ativado (Enabled) e depois no botão iniciar (start)
ao lado na instância criada da NordVPN.
- Na parte inferior, clique no botão salvar e aplicar.
- Na parte superior do menu de navegação, passe o mouse sobre Sistema (System) e clique em Reiniciar (Reboot). Outra página será aberta. Clique no botão Executar reinicialização (Perform reboot). Em seguida, você terá que entrar novamente.
-
Passe o mouse sobre a aba Rede (Network) no topo da
página e escolha Interfaces:
1. Clique em Adicionar nova interface.
2. Na seção Nome (Name), digite nordvpntun.
3. Clique em protocolo e escolha não gerenciado.
4. No menu suspenso interface, figite o nome “tun0” no campo inferior -- custom -- e pressione a tecla Enter.
- Clique em Criar interface (Create interface) e Salvar (Save).
- Escolha a aba Rede (Network) no topo novamente e acesse a seção Firewall.
-
Clique no botão Adicionar (Add) e ajuste de acordo
com as informações a seguir:
- Nomeie como vpnfirewall.
- Defina a opção Entrada (Input) como Rejeitar (Reject).
- Deixe Saída (Output) como Aceitar (Accept) e Encaminhar (Forward) como Rejeitar (Reject).
- Marque a opção Disfarçar (Masquerading).
- Marque a opção MSS clamping.
- No menu suspenso em Redes cobertas (Covered Networks), escolha nordvpntun.
- No menu suspenso em Permitir encaminhar de zonas de origem (Allow forward from source zones), escolha lan.
-
Clique no botão Salvar (Save).
-
Na seção Zonas, encontre a zona chamada
lan e clique no botão Editar.
-
No menu suspenso
Permitir encaminhar para zonas de destino, marque a
opção NordVPN.
- No topo da página, clique novamente em Rede e escolha DHCP e DNS na lista suspensa.
-
Encontre a opção de encaminhamento de DNS na aba
configurações gerais e insira endereços de DNS da
NordVPN. Os endereços
são: 103.86.96.100 e 103.86.99.100.
-
Acesse a aba arquivos hosts e resolve, marque a opção
ignorar arquivo resolve e clique no botão Salvar e aplicar.
- Volte para a aba VPN > OpenVPN.
-
Na seção Instâncias do OpenVPN, marque a opção
ativar ao lado da opção da NordVPN na lista e clique no
botão salvar e aplicar.
- Clique no botão Iniciar (Start) mais uma vez para se conectar ao servidor de VPN.
Instruções da CLI
Caso queira um tutorial mais avançado, siga este guia. É necessário ter um roteador com firmware OpenWrt e um cliente OpenVPN ativado para aproveitar os benefícios da VPN no OpenWrt. A página principal do firmware é https://openwrt.org/.
- Primeiro, é necessário acessar seu roteador usando SSH com seu próprio endereço de IP na LAN. Por padrão, o endereço de IP é 192.168.1.1 e o nome de usuário é root. Porém, se os valores padrão forem alterados, os endereços de IP podem ser diferentes.
-
Por padrão, o roteador não tem o pacote OpenVPN na imagem do firmware.
Para instalá-lo, execute os comandos a seguir:
Além disso, você pode instalar o componente LuCI da configuração do OpenVPN, mas isso é opcional. Faça isso executando este comando:opkg update opkg install openvpn-openssl opkg install ip-fullopkg install luci-app-openvpn -
Após instalar o pacote do OpenVPN, você pode fazê-lo abrir
automaticamente sempre que o roteador iniciar ao executar este comando:
/etc/init.d/openvpn enable -
Agora será necessário baixar os arquivos de configuração do servidor.
Para fazer isso, siga estes passos:
-
Entre em (Log in to) sua
Nord-Account
e clique em NordVPN.
-
Role para baixo até
Configurações avançadas (Advanced settings) e
clique em
Configurar NordVPN manualmente (Set up NordVPN manually).
-
Selecione a aba
Recomendação de servidor (Server recommendation).
Nosso algoritmo recomendará o melhor servidor para você conforme a
sua localização.
-
Ao pressionar Filtros avançados (Advanced filters),
você pode personalizar ainda mais os servidores recomendados,
selecionando o Tipo de servidor (Server type) e o
Protocolo de segurança (Security protocol).
Caso queira selecionar um servidor específico, siga estes passos:
-
Em
Configurar NordVPN manualmente (Set up NordVPN
manually), selecione
Arquivos de configuração do OpenVPN (OpenVPN configuration
files).
-
Use a barra de Pesquisa ou role para baixo para
encontrar o servidor desejado para se conectar. Depois, clique
em Baixar UDP (Download UDP) ou
Baixar TCP (Download TCP) para baixá-lo.
-
Em
Configurar NordVPN manualmente (Set up NordVPN
manually), selecione
Arquivos de configuração do OpenVPN (OpenVPN configuration
files).
-
Entre em (Log in to) sua
Nord-Account
e clique em NordVPN.
-
Para este guia, usamos o
servidor uk2054.nordvpn.com, mas você deve usar o
servidor sugerido pelo site. Para baixar um arquivo de servidor,
selecione o país ao qual deseja se conectar, clique em
Mostrar protocolos disponíveis, clique com o botão
direito em Baixar configuração para
OpenVPN TCP ou OpenVPN UDP e escolha
Copiar endereço do link. Depois, retorne à sessão SSH e
execute o comando a seguir:
No entanto, use o link copiado para o arquivo de servidor específico. Esse comando baixará o arquivo de configuração no diretório /etc/openvpn para acesso fácil. A outra opção é baixar o arquivo de configuração do servidor em uma máquina diferente e transferi-lo para o roteador OpenWrt usando métodos alternativos, como os protocolos SCP ou SFTP. Para compilações OpenWrt mais antigas: Basta baixar um arquivo aqui: https://downloads.nordcdn.com/configs/archives/certificates/servers.zip. No arquivo baixado, você encontrará os arquivos correspondentes com as extensões .crt e .key. Os arquivos são específicos de cada servidor de VPN.wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/uk2054.nordvpn.com.udp.ovpn -
A configuração do OpenVPN para a NordVPN exige que você insira suas
credenciais do serviço da NordVPN, nome de usuário e senha toda vez que
o OpenVPN iniciar. Porém, faremos alguns ajustes para que as credenciais
sejam fornecidas automaticamente. Primeiro, para facilitar o processo,
instalaremos o editor de
texto nano executando o comando a seguir:
Ou você pode usar o editor de texto vi integrado. Para mais informações sobre editores de texto, consulte este artigo. Agora, abra o arquivo de configuração do servidor baixado usando o editor de texto nano. Em nosso caso, o comando seria:opkg install nano
Depois, acrescente a palavra "secret" (sem as aspas) à sequência "auth-user-pass". A linha resultante deve ser:nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
É necessário criar um novo arquivo secret para armazenar as credenciais do serviço da NordVPN. Para fazer isso, execute o comando a seguir:auth-user-pass secret
Isso vai criar e abrir um novo arquivo usando o editor de texto nano. Na primeira linha do arquivo, insira seu nome de usuário do serviço da NordVPN, e na segunda, a senha do serviço da NordVPN. Você pode encontrar suas credenciais do serviço da NordVPN (nome de usuário e senha) no painel da Nord-Account.nano /etc/openvpn/secret -
Configure o OpenVPN usando o arquivo de configuração baixado em uma
destas duas formas:
-
Altere a extensão do arquivo
de .ovpn para .conf,
o que permite que o OpenVPN o encontre automaticamente pela
extensão. Para fazer isso, use
o comando mv:
mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf -
Especifique o nome do arquivo em “/etc/config/openvpn” usando os
comandos “uci”:
Em seguida, o arquivo “/etc/config/openvpn” deve conter as sequências acrescentadas a seguir:uci set openvpn.nordvpn=openvpn uci set openvpn.nordvpn.enabled='1' uci set openvpn.nordvpn.config='/etc/openvpn/uk2054.nordvpn.com.udp.ovpn' uci commit openvpn
É possível verificar executando este comando:config openvpn 'nordvpn' option enabled '1' option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
Você também pode alterar a extensão do arquivo de .ovpn para .conf e especificá-lo no arquivo “/etc/config/openvpn”. Nesse caso, porém, o OpenVPN iniciará esse arquivo de configuração apenas uma vez.tail /etc/config/openvpn
-
Altere a extensão do arquivo
de .ovpn para .conf,
o que permite que o OpenVPN o encontre automaticamente pela
extensão. Para fazer isso, use
o comando mv:
-
Crie uma nova interface de rede executando os comandos a seguir:
Agora, o arquivo "/etc/config/network" conterá apenas as sequências acrescentadas a seguir:uci set network.nordvpntun=interface uci set network.nordvpntun.proto='none' uci set network.nordvpntun.ifname='tun0' uci commit network
É possível verificar executando este comando:config interface 'nordvpntun' option proto 'none' option ifname 'tun0'tail /etc/config/network -
Crie uma nova zona de firewall e adicione uma regra de encaminhamento de
LAN para VPN executando os comandos a seguir:
Se feito corretamente, o arquivo “/etc/config/firewall” deve conter as sequências acrescentadas a seguir:uci add firewall zone uci set firewall.@zone[-1].name='vpnfirewall' uci set firewall.@zone[-1].input='REJECT' uci set firewall.@zone[-1].output='ACCEPT' uci set firewall.@zone[-1].forward='REJECT' uci set firewall.@zone[-1].masq='1' uci set firewall.@zone[-1].mtu_fix='1' uci add_list firewall.@zone[-1].network='nordvpntun' uci add firewall forwarding uci set firewall.@forwarding[-1].src='lan' uci set firewall.@forwarding[-1].dest='vpnfirewall' uci commit firewall
É possível verificar executando este comando:config zone option name 'vpnfirewall' option input 'REJECT' option output 'ACCEPT' option forward 'REJECT' option masq '1' option mtu_fix '1' list network 'nordvpntun' config forwarding option src 'lan' option dest 'vpnfirewall'
Isso exibirá as últimas 13 linhas que contêm as sequências acima.tail -13 /etc/config/firewall -
Agora é necessário configurar os servidores de DNS. A abordagem mais
simples é usar o DNS da NordVPN na interface WAN do roteador. Para
adicionar o DNS da NordVPN, execute os comandos a seguir:
```autouci set network.wan.peerdns='0' uci del network.wan.dns uci add_list network.wan.dns='103.86.96.100' uci add_list network.wan.dns='103.86.99.100' uci commit ''' OBSERVAÇÃO: Se você receber uma mensagem de erro "uci: Entry not found" após executar o comando uci del network.wan.dns, você pode ignorá-la._ O arquivo "/etc/config/network" deve conter a seção ''wan'' com as três strings inferiores anexadas: '''auto config interface 'wan' <...> option peerdns '0' list dns '103.86.96.100' list dns '103.86.99.100' ''' Você pode verificar executando o comando e encontrando a interface ''wan'' nesta saída: '''auto cat /etc/config/network ''' Você também pode adicionar diferentes endereços de DNS, como o do Google, executando estes comandos: '''auto uci set network.wan.peerdns='0' uci del network.wan.dns uci add_list network.wan.dns='8.8.8.8' uci add_list network.wan.dns='8.8.4.4' uci commit ''' As strings anexadas devem ser semelhantes às anteriores.
Kill Switch (opcional) para OpenWrt 22.02 ou compilações mais antigas (iptables)
Para evitar vazamento de tráfego em caso de desconexão do túnel da VPN, siga estes passos:
-
Abra o arquivo do firewall usando um editor de texto:
sudo nano /etc/firewall.user -
Adicione o conteúdo a seguir:
# This file is interpreted as a shell script. # Put your custom iptables rules here, and they will be executed with each firewall (re-)start # Internal uci firewall chains are flushed and recreated on reload, so # put custom rules into the root chains, e.g. INPUT or FORWARD, or into the # special user chains, e.g. input_wan_rule or postrouting_lan_rule. if (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then iptables -I forwarding_rule -j REJECT fi -
Crie um arquivo chamado "99-prevent-leak" na pasta
"/etc/hotplug.d/iface" executando este comando:
nano /etc/hotplug.d/iface/99-prevent-leak -
Adicione o conteúdo a seguir ao script:
#!/bin/sh if [ "$ACTION" = ifup ] && (ip a s tun0 up) && (iptables -C forwarding_rule -j REJECT); then iptables -D forwarding_rule -j REJECT fi if [ "$ACTION" = ifdown ] && (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then iptables -I forwarding_rule -j REJECT fi
Kill Switch (opcional) para OpenWrt 22.03 ou compilações mais recentes (nftables)
Siga estes passos para evitar vazamento de tráfego se o túnel da VPN não funcionar.
-
Edite o arquivo de regras do firewall personalizado:
sudo nano /etc/firewall.user -
Digite esta função:
# when tun0 interface is down and within nftables no chain "forwarding_rule" exists, then do the following. if (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding_rule; then # add new chain named forwarding_rule nft add chain inet fw4 forwarding_rule # add rule within chain forward to jump to chain forwarding_rule nft add rule inet fw4 forward jump forwarding_rule # add rule within chain forward_rule to reject all traffic nft add rule inet fw4 forwarding_rule reject fi -
Depois, é necessário criar um script para o hotplug para acionar o Kill
Switch automaticamente:
sudo nano /etc/hotplug.d/iface/99-prevent-leak -
Escreva o conteúdo a seguir no script:
#!/bin/sh # if action ifup is triggered, interface tun0 is up and the nftables chain "forwarding_rule" contains text "reject", then flush that chain in order to allow traffic. if [ "$ACTION" = ifup ] && (ip a s tun0 up) && (nft list chain inet fw4 forwarding_rule | grep -q 'reject'); then nft flush chain inet fw4 forwarding_rule fi # if action ifdown is triggered, interface tun0 is not up and the nftables chain "forwarding_rule" does not contain text "reject", then add a rule to that chain in order to reject all traffic. if [ "$ACTION" = ifdown ] && (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding_rule | grep -q 'reject'); then nft add rule inet fw4 forwarding_rule reject fi
Script de reconexão automática
Às vezes, a conexão do OpenVPN pode cair com uma saída de registro semelhante a "não foi possível resolver o host…". Nesse caso, o túnel de VPN permanece, mas a conexão é perdida. Para criar um script que faz a reconexão automática, siga estes passos:
-
Abra o arquivo "/etc/rc.local" usando um editor de texto:
sudo nano /etc/rc.local -
Adicione a linha a seguir:
/etc/openvpn/reconnect.sh & -
Crie o arquivo "reconnect.sh" no diretório "/etc/openvpn" executando
este comando:
sudo nano /etc/openvpn/reconnect.sh -
No arquivo, insira o conteúdo do script a seguir:
#!/bin/sh n=10 while sleep 50; do t=$(ping -c $n 8.8.8.8 | grep -o -E '[0-9]+ packets r' | grep -o -E '[0-9]+') if [ "$t" -eq 0 ]; then /etc/init.d/openvpn restart fi done
Status de conexão
Após seguir essas instruções, o roteador deverá conectar usando a conexão configurada. Para verificar se deu certo, acesse a página inicial da NordVPN. O status no topo da página deve indicar Protegido (Protected).
Se quiser desconectar a conexão de VPN, clique no botão Parar (Stop) ao lado da opção da NordVPN na seção VPN > OpenVPN > Instâncias do OpenVPN (OpenVPN instances) se você seguiu os passos da GUI. Porém, caso queira desconectar a conexão de VPN, execute o comando a seguir:
service openvpn stop