Como configurar o OpenWrt com a NordVPN

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.

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.

  1. 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 (System) > Administração (Administration) para fazer isso.
  2. Ao iniciar a sessão, selecione a aba Sistema (System) e escolha Software.



  3. Clique no botão Atualizar listas (Update lists), aguarde até o processo ser concluído e clique em Ignorar (Dismiss).
  4. Instale os pacotes a seguir digitando os nomes deles no campo Filtro (Filter) e clicando em Instalar (Install).
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn



  5. 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.
  6. 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:
      1. 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.



      2. 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:
        1. Entre em (Log in to) sua Nord-Account e clique em NordVPN.



        2. Role para baixo até Configurações avançadas (Advanced settings) e clique em Configurar NordVPN manualmente (Set up NordVPN manually).



        3. Selecione a aba Recomendação de servidor (Server recommendation). Nosso algoritmo recomendará o melhor servidor para você conforme a sua localização.



        4. 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:
          1. Em Configurar NordVPN manualmente (Set up NordVPN manually), selecione Arquivos de configuração do OpenVPN (OpenVPN configuration files).



          2. 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.
  7. Na seção Carregar arquivo de configuração OVPN (OVPN configuration file upload), nomeie a conexão de VPN no campo Nome de instância (Instance name) (nós a nomeamos nordvpn_us). Depois, clique no botão Escolher arquivo (Choose File), localize o arquivo do servidor baixado e clique em Carregar (Upload).



  8. Na seção Instâncias do OpenVPN (OpenVPN instances), clique no botão Editar (Edit) ao lado da nova instância criada.



  9. Digite suas credenciais do serviço da NordVPN, nome de usuário e senha no campo inferior em linhas separadas. nome de usuário
    senha



    Você pode encontrar suas credenciais do serviço da NordVPN (nome de usuário e senha) no painel da Nord-Account.
  10. 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 (Config file) acima. Deve ficar assim: auth-user-pass /etc/openvpn/nordvpn_us.auth


  11. 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.



  12. Clique no botão Salvar e aplicar (Save & apply) na parte inferior.
  13. 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.
  14. Passe o mouse sobre a aba Rede (Network) no topo da página e escolha Interfaces:
     
    1. Clique em Adicionar nova interface (Add new interface).
    2. Na seção Nome (Name), digite nordvpntun.
    3. Clique em Protocolo (Protocol) e escolha Não gerenciado (Unmanaged).
    4. No menu suspenso em Interface, insira o nome “tun0” no campo inferior -- custom -- e pressione a tecla Enter.



     
    
  15. Clique em Criar interface (Create interface)Salvar (Save).
  16. Escolha a aba Rede (Network) no topo novamente e acesse a seção Firewall.
  17. Clique no botão Adicionar (Add) e ajuste de acordo com as informações a seguir:
    1. Nomeie como vpnfirewall.
    2. Defina a opção Entrada (Input) como Rejeitar (Reject).
    3. Deixe Saída (Output) como Aceitar (Accept) e Encaminhar (Forward) como Rejeitar (Reject).
    4. Marque a opção Disfarçar (Masquerading).
    5. Marque a opção MSS clamping.
    6. No menu suspenso em Redes cobertas (Covered Networks), escolha nordvpntun.
    7. No menu suspenso em Permitir encaminhar de zonas de origem (Allow forward from source zones), escolha lan.
    8. Clique no botão Salvar (Save).



  18. Na seção Zonas (Zones), encontre a zona chamada lan e clique no botão Editar (Edit).



     
  19. No menu suspenso em Permitir encaminhar para zonas de destino (Allow forward to destination zones), marque a opção NordVPN.



     
  20. Novamente, clique em Rede (Network) no topo da página e escolha DHCP e DNS na lista suspensa.
  21. Encontre a opção de encaminhamento de DNS na aba Configurações gerais (General Settings) e insira endereços de DNS da NordVPN. Os endereços são: 103.86.96.100 e 103.86.99.100.



     
  22. Acesse a aba Arquivos hosts e resolve (Resolve and Hosts Files), marque a opção Ignorar arquivo resolve (Ignore resolve file) e clique no botão Salvar e aplicar (Save & Apply).



     
  23. Volte para a aba VPN > OpenVPN.
  24. Na seção Instâncias do OpenVPN (OpenVPN instances), marque a opção Ativar (Enable) ao lado da opção da NordVPN na lista e clique no botão Salvar e aplicar (Save & Apply).



  25. Clique no botão Iniciar (Start) 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/.

  1. 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.
  2. 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-full
    
    Alé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
    
  3. 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
    
  4. Agora será necessário baixar os arquivos de configuração do servidor. Para fazer isso, siga estes passos:
    1. Entre em (Log in to) sua Nord-Account e clique em NordVPN.



    2. Role para baixo até Configurações avançadas (Advanced settings) e clique em Configurar NordVPN manualmente (Set up NordVPN manually).



    3. Selecione a aba Recomendação de servidor (Server recommendation). Nosso algoritmo recomendará o melhor servidor para você conforme a sua localização.



    4. 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:
      1. Em Configurar NordVPN manualmente (Set up NordVPN manually), selecione Arquivos de configuração do OpenVPN (OpenVPN configuration files).



      2. 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.



  5. 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:
    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.
  6. 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 nano
    
    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:
    nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
    
    Depois, 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/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.
  7. Configure o OpenVPN usando o arquivo de configuração baixado em uma destas duas formas:
    1. 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
      
    2. 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 openvpn
      
      Em 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/openvpn
      
      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.
  8. 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 network
    
    Agora, 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 
    
  9. 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 firewall
    
    Se 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/firewall
    
    Isso exibirá as últimas 13 linhas que contêm as sequências acima.
  10. 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 três sequências acrescentadas na parte inferior:  
    ```
    config interface 'wan'  
    <...>  
    option peerdns '0'  
    list dns '103.86.96.100'  
    list dns '103.86.99.100'
    ```
      
    É possível verificar executando o comando e encontrando a interface "wan" na saída:  
    ```
    cat /etc/config/network 
    ```
    Você também pode adicionar endereços de DNS diferentes, como o do Google, executando 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 commit
    ```
    As sequências acrescentadas devem ser parecidas com as 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:

  1. Abra o arquivo do firewall usando um editor de texto:
    sudo nano /etc/firewall.user
    
  2. 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
    
  3. Crie um arquivo chamado "99-prevent-leak" na pasta "/etc/hotplug.d/iface" executando este comando:
    nano /etc/hotplug.d/iface/99-prevent-leak
    
  4. 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.

  1. Edite o arquivo de regras do firewall personalizado:
    sudo nano /etc/firewall.user
    
  2. 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
    
  3. Depois, é necessário criar um script para o hotplug para acionar o Kill Switch automaticamente:
    sudo nano /etc/hotplug.d/iface/99-prevent-leak
    
  4. 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:

  1. Abra o arquivo "/etc/rc.local" usando um editor de texto:
    sudo nano /etc/rc.local
    
  2. Adicione a linha a seguir:
    /etc/openvpn/reconnect.sh &
    
  3. Crie o arquivo "reconnect.sh" no diretório "/etc/openvpn" executando este comando:
    sudo nano /etc/openvpn/reconnect.sh
    
  4. 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
Este artigo foi útil?

Ainda com problemas?

  • Chat ao vivo

  • Formulário de e-mail

A funcionalidade de chat depende de cookies. Ao iniciar o chat, você concorda com o uso deles. Saiba mais em nossa Política de Cookies.