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. Se quiser configurar a NordVPN usando o nordvpnlite, confira nosso guia.
Instruções da GUI
Este guia mostra 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 a sessão, o sistema exibirá uma mensagem pedindo que você defina uma senha.
Para fazer isso, clique em Sistema > Administração. Lá, você poderá definir uma senha.
- Ao iniciar a sessão, selecione a aba Sistema e escolha Software.
- Clique no botão Atualizar listas, aguarde até o processo ser concluído e clique em Ignorar.
- 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 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 na sua Nord-Account, clique em NordVPN e, em Configuração manual, clique em Credenciais do serviço. Você verá seu nome de usuário e sua senha, que serão 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 na sua Nord-Account e clique em NordVPN.
- Role para baixo até Configurações avançadas e clique em Configurar NordVPN manualmente.
- Clique na aba Recomendação de servidor. Nosso algoritmo recomendará o melhor servidor para você de acordo com a sua localização.
- Ao pressionar Filtros avançados, você pode personalizar ainda mais os servidores recomendados selecionando o Tipo de servidor e o Protocolo de segurança.
Caso queira selecionar um servidor específico, siga estes passos:- Em Configurar NordVPN manualmente, selecione Arquivos de configuração do OpenVPN.
- Use a barra de Pesquisa ou role para baixo para encontrar o servidor desejado para se conectar. Depois, clique em Baixar UDP ou Baixar TCP para baixá-lo.
Neste guia, usaremos o servidor us5104.nordvpn.com.
- Em Configurar NordVPN manualmente, selecione Arquivos de configuração do OpenVPN.
-
Entre na sua Nord-Account e clique em NordVPN.
-
Entre na sua Nord-Account, clique em NordVPN e, em Configuração manual, clique em Credenciais do serviço. Você verá seu nome de usuário e sua senha, que serão necessários para se conectar manualmente.
-
- Na seção Carregar arquivo de configuração OVPN, nomeie a conexão de VPN no campo Nome de instância (nós a nomeamos "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 de usuário
senhaEncontre 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 e depois no botão Iniciar 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 e clique em Reiniciar. Outra página será aberta. Clique no botão Executar reinicialização. Em seguida, você terá que entrar novamente.
- Passe o mouse sobre a aba Rede no topo da página e escolha Interfaces:
1. Clique em Adicionar nova interface.
2. Na seção nome , digite nordvpntun.
3. Clique em protocolo e escolha não controlado.
4. No menu suspenso interface, digite o nome tun0 no campo inferior -- custom -- e pressione a tecla Enter.
- Clique em Criar interface e salve.
- Escolha a aba Rede no topo e acesse a seção Firewall.
- Clique no botão Adicionar e ajuste de acordo com as informações a seguir:
- Nomeie como "vpnfirewall".
- Defina a opção "Entrada" como "Rejeitar".
- Deixe "Saída" como "Aceitar" e "Encaminhar" como "Rejeitar".
- Marque a opção "Disfarçar".
- Marque a opção "MSS clamping".
- No menu suspenso em "Redes cobertas", escolha "nordvpntun".
- No menu suspenso em "Permitir encaminhar de zonas de origem", escolha "LAN".
- Clique no botão "Salvar".
- 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 mais uma vez para se conectar ao servidor de VPN.
Instruções do 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:
opkg update opkg install openvpn-openssl opkg install ip-fullAlém disso, você pode instalar o componente LuCI da configuração do OpenVPN, mas isso é opcional. Faça isso executando este comando:
opkg 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 na sua Nord-Account e clique em NordVPN.
- Role para baixo até Configurações avançadas e clique em Configurar NordVPN manualmente.
- Clique na aba Recomendação de servidor. Nosso algoritmo recomendará o melhor servidor para você de acordo com a sua localização.
- Ao pressionar Filtros avançados, você pode personalizar ainda mais os servidores recomendados selecionando o Tipo de servidor e o Protocolo de segurança.
Caso queira selecionar um servidor específico, siga estes passos:- Em Configurar NordVPN manualmente, selecione Arquivos de configuração do OpenVPN.
- Use a barra de Pesquisa ou role para baixo para encontrar o servidor desejado para se conectar. Depois, clique em Baixar UDP ou Baixar TCP para baixá-lo.
- Em Configurar NordVPN manualmente, selecione Arquivos de configuração do OpenVPN.
-
Entre na 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, volte à sessão SSH e execute o comando a seguir:wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/uk2054.nordvpn.com.udp.ovpn
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.
-
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:opkg install nanoOu 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:nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpnDepois, acrescente a palavra "secret" (sem as aspas) à sequência "auth-user-pass". A linha resultante deve ser:
auth-user-pass secretÉ necessário criar um novo arquivo secret para armazenar as credenciais do serviço da NordVPN. Para fazer isso, execute o comando a seguir:
nano /etc/openvpn/secretIsso 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.Encontre suas credenciais do serviço da NordVPN (nome de usuário e senha) no painel da Nord-Account.
- 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":
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 openvpnEm seguida, o arquivo "/etc/config/openvpn" deve conter as sequências acrescentadas a seguir:
config openvpn 'nordvpn' option enabled '1' option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'É possível verificar executando este comando:
tail /etc/config/openvpnVocê 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.
-
-
Crie uma nova interface de rede executando os comandos a seguir:
uci set network.nordvpntun=interface uci set network.nordvpntun.proto='none' uci set network.nordvpntun.ifname='tun0' uci commit networkAgora, o arquivo "/etc/config/network" conterá apenas as sequências acrescentadas a seguir:
config interface 'nordvpntun' option proto 'none' option ifname 'tun0'É possível verificar executando este comando:
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:
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 firewallSe feito corretamente, o arquivo "/etc/config/firewall" deve conter as sequências acrescentadas a seguir:
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'É possível verificar executando este comando:
tail -13 /etc/config/firewallIsso exibirá as últimas 13 linhas que contêm as sequências acima.
-
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:
uci 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 a 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:config interface 'wan' <...> option peerdns '0' list dns '103.86.96.100' list dns '103.86.99.100'
Para verificar, execute o comando e encontre a interface "wan" na saída:cat /etc/config/networkVocê também pode adicionar endereços de DNS diferentes, como o do Google, ao executar estes comandos:
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 commitAs 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 estas etapas:
-
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á se 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".
Se quiser desconectar a conexão de VPN, clique no botão Parar ao lado da opção da NordVPN na seção VPN > OpenVPN > Instâncias do OpenVPN caso tenha seguido os passos da GUI. Porém, caso queira desconectar a conexão de VPN, execute o comando a seguir:
service openvpn stop