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.
-
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. -
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).
-
Instale os pacotes a seguir digitando os nomes deles no
campo Filtro (Filter) e clicando em
Instalar (Install).
- 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 (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).
-
Na seção Instâncias do OpenVPN (OpenVPN instances),
clique no botão Editar (Edit) 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
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 (Config file) 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.
- Clique no botão Salvar e aplicar (Save & apply) na parte inferior.
- 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 (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.
- 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 (Zones), encontre a zona chamada
lan e clique no botão Editar (Edit).
-
No menu suspenso em
Permitir encaminhar para zonas de destino (Allow forward to
destination zones), marque a opção NordVPN.
- Novamente, clique em Rede (Network) no topo da página e escolha DHCP e DNS na lista suspensa.
-
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.
-
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).
- Volte para a aba VPN > OpenVPN.
-
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).
- 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/.
- 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:wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn\_udp/servers/uk2054.nordvpn.com.udp.ovpn
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:
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:```` 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:
-
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