bloquear fora do DNS, corrigir DNS vazamento ubuntu 18.04

10

Usando o teste de vazamento de DNS enquanto estava na minha VPN, descobri que estava vazando. Eu configurei minha VPN via NetworkManager e ela funciona corretamente, exceto pelo vazamento.

Primeiro, tentei adicionar block-outside-vpnao arquivo de configuração, exceto que /etc/NetworkManager/system-connectionsele não segue o mesmo formato. Não consegui encontrar o documento sobre como escrever um corretamente para vazamentos de DNS.

Além disso, o uso do Ubuntu 18.04 resolv.conf não funciona como antes, todas as outras respostas são baseadas nisso.

Resumidamente, como bloquear o DNS externo (vazamento) usando os arquivos de configuração do Network Manager ou a GUI?

Pobe
fonte
block-outside-vpnnormalmente é apenas uma opção de conexão Windows OpenVPN. Corrigir o "vazamento" do DNS seria usar um servidor DNS específico que exista apenas no outro lado da VPN. Quais foram os resultados do teste de vazamento de DNS que você viu? (eles são relevantes)
Thomas Ward

Respostas:

3

Eu sugiro usar dnscrypt.

Primeiro instale-o:

sudo apt install dnscrypt-proxy

Por padrão, ele escuta a 127.0.2.1porta 53.

Edite sua VPN ou qualquer outra conexão que desejar e defina 127.0.2.1como seu servidor DNS, usando a CLI, você pode executar:

nmcli connection modify [CONNECTION-NAME] ipv4.dns 127.0.2.1

E, para o caso de bloquear as solicitações de DNS em andamento:

sudo ufw deny out 53

E verifique se o firewall está ativado:

sudo ufw enable
Ravexina
fonte
Meu DNS ainda está vazando conforme o teste de vazamento de DNS. Também é importante mencionar que a desativação da VPN enquanto o ufw estiver ativado tornaria a Internet indisponível (porta 53 bloqueada).
Pobe
Execute este comando: nmcli connection modify [CONNECTION-NAME] ipv4.ignore-auto-dns yesveja se ajuda.
Ravexina
3

Para corrigir vazamentos de DNS no Ubuntu 18.04, você pode editar um arquivo chamado /etc/dhcp/dhclient.conf. De acordo com a página do manual, esse arquivo "fornece um meio para configurar uma ou mais interfaces de rede usando o Dynamic Host Configuration Protocol, protocolo BOOTP ou, se esses protocolos falharem, atribuindo estaticamente um endereço".

Quanto à correção de vazamentos no DNS, editaremos este arquivo. Ao abri-lo com as permissões adequadas, você verá uma linha comentada semelhante à seguinte:

#prepend domain-name-servers 127.0.0.53;

Remova o comentário desta linha e altere o nome do domínio-servidor para outro, como o OpenDNS: 208.67.222.222. Usando este endereço OpenDNS, esta linha agora ficaria assim:

prepend domain-name-servers 208.67.222.222;

Após salvar o arquivo e reiniciar o sistema, isso deve corrigir os vazamentos de DNS no Ubuntu 18.04.


fonte
Ou você pode simplesmente editar sua conexão em uma GUI e obter o mesmo resultado: abra a janela de edição para sua conexão => Configurações IPv4 / IPv6, altere "Método" para "Automático, apenas endereços" e adicione seus "servidores DNS".
GoodGuyNick 23/09
O método @GoodGuyNick via GUI não funcionou para mim. Pesquisei esse problema no Google o dia todo e apenas o truque "prefpend domain-name-servers" funcionou. Aleluia por esta resposta. Tudo o que eu tentei (incluindo a GUI para servidores DNS) estava sendo substituído e não sobrevivendo à reinicialização.
pestófago
3

Se você tiver um vazamento de DNS, conforme indicado em browserleaks.com ou dnsleaktest.com ,

  1. Desligue sua conexão VPN

  2. Tente desfazer qualquer edição de arquivo .conf que você já perdeu tempo. Se você está tentando várias sugestões, sua melhor chance pode ser fazer uma nova instalação e garantir que você também tenha instalado o networkmanager-openvpn-gnome, pois o Ubuntu não possui a importação de configuração de VPN fornecida por padrão.

  3. Instale o dnsmasq

    sudo apt update
    sudo apt install dnsmasq  
    
  4. Desativar resolvido

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service 
    
  5. Remova / etc/resolv.confe crie um novo:

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf  
    
  6. Entre no seu .confarquivo vazio :

    nameserver 127.0.0.1`         that's all!
    
  7. Pressione Ctrl+ x para sair do editor. Digite ypara salvar e pressione Enterpara substituir seu novo resolv.confarquivo.

  8. Edite seu arquivo NetworkManager.conf

    sudo nano /etc/NetworkManager/NetworkManager.conf 
    

    e adicione o seguinte:

    dns=dnsmasq 
    

    abaixo das linhas (navegue usando as teclas de seta), [main] e plugins = ifupdown, arquivo de chave exatamente assim com a nova linha adicionada.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Pressione Ctrl+ xpara sair do editor. Digite y para salvar e pressione Enterpara substituir o arquivo.

  9. Saia do terminal e reinicie o sistema e verifique o site de teste do dnsleak para obter resultados.

Com agradecimentos à VPN anônima, cujas soluções para vazamentos no Ubuntu / Network Manager parecem bem pesquisadas e bem-sucedidas. Eles trabalham e quando nenhuma outra solução funcionou para mim, funcionou. A solução mostrada acima funciona para o Ubuntu 17.xe 18.04 LTS . Veja sua outra solução para 16.04 LTS .

Dosenfleisch
fonte
Testei esta solução em uma VM e tudo funcionou. Então eu tentei em uma máquina principal e vi o DNS da VPN e o vazamento de DNS. Em uma VM nameserveralterada de 127.0.2.1para 192.168.122.1e quando eu me conecto à VPN em um resolv.conf, vejo duas nameserverlinhas, uma com 192.168.122.1e a outra com DNS de VPNs, mas em uma máquina principal sempre vejo duas linhas search lan nameserver 127.0.1.1.
GoodGuyNick 23/09
como posso fazer o que sem o gerenciador de rede? basta colocar o dns em / etc / network / interfaces?
Mehdi
1

Estou lutando com esse problema exato há 2 dias antes de encontrar a solução que funcionou para mim aqui: /unix//a/470940

TL; DR

$ cd /etc/NetworkManager/system-connections

É aqui que as conexões criadas com o Network Manager são armazenadas.

$ sudo nmcli connection modify <vpn-connection-name> ipv4.dns-priority -42

Comando simples para modificar o arquivo de configuração da conexão. Poderia ser feito manualmente também, mas desta forma acredito que seja mais fácil.

$ sudo service network-manager restart

Faça as alterações se aplicarem ao seu sistema.

Basicamente, cópia colada no link acima, crédito ao autor original.

Se o seu sistema não conhecer o nmcli ou se adicionar conexões usando a GUI do Network Manager gera um erro, recomendo este link

Agora, o que é menos explicação e mais comentário (um pouco sem noção).

Eu tentei muitas das soluções, incluindo resolv.conf, dnsmasq e dnscrypt, as quais levam a minha Internet a ser totalmente bloqueada ou quando a conexão VPN foi desativada. Nenhum deles resolveu o vazamento de DNS, de acordo com o dnsleaktest.com . Se alguma dessas medidas for tentada, cada etapa ao longo do caminho deve ser rastreada para poder revertê-las em caso de resultado indesejado. Levei pouco tempo para consertar minha internet quebrada várias vezes sem, adivinhe, internet. Não estou afirmando que essas soluções não funcionam por um período, muito possivelmente cometi algum erro em algum lugar.
A solução à qual vinculei, no entanto, tem a enorme vantagem de não interferir nas configurações gerais da rede, mas apenas na conexão que você está modificando.

Em seguida, o block-outside-dns, como mencionado aqui antes, é uma solução apenas para Windows e lançou algum tipo de erro de opção não reconhecido no meu sistema ubuntu.

O uso de comandos ovpn cli também não resolveu o vazamento para mim.

O link que forneci menciona uma explicação ( aqui ) sobre algumas inconsistências de versão que são corrigidas no ubuntu 18.10, talvez alguém com mais experiência nesse tópico queira explicar mais. Se isso for verdade, os usuários de LTS terão que esperar abril no próximo ano.

Por fim, quero ressaltar que, para os residentes de países com censura na Internet, o vazamento de DNS representa um problema pesado, pois permitir que o provedor de acesso local acesse seu tráfego pode e fará com que os domínios censurados sejam bloqueados, apesar de estarem conectados a uma VPN. Portanto, para futuras visitas à China etc., isso é algo que você deseja cuidar antes.

Espero que isto ajude.

Wbes
fonte
0

Tente usar o update-systemd-resolvedscript que não faz alterações no resolv.confe, em vez disso, use o systemd-resolvedserviço usando sua API DBus

Obtenha-o no git e instale-o por:

git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make

Agora edite nsswitch.confpor:

sudo nano /etc/nsswitch.conf

e depois mude a linha começando por hosts:dizer

hosts: files resolve dns myhostname

Ative o serviço e verifique se ele está sendo executado automaticamente:

sudo systemctl enable systemd-resolved.service
sudo systemctl start systemd-resolved.service

NOTA: Se você não deseja seguir as etapas acima e não concorda com o uso do terminal, o vazamento de DNS ocorre apenas ao usar o NetworkManager; até agora, na minha experiência, isso não ocorre quando você executa o openvpn a partir do terminal comsudo openvpn --config config.ovpn

Amith KK
fonte
Qual seria a linha no config.ovpn que bloquearia o vazamento? Você tem um exemplo disso? (A solução acima não funcionou para mim).
Pobe
0

Eu tentei praticamente todas as soluções que pude encontrar on-line para corrigir o problema de vazamento de DNS. O Openvpn começou bem, mas mostrou que estava vazando quando fui aos locais de teste. Depois que eu não fiquei feliz em tentar todos os remédios, entrei na minha configuração de wifi e ethernet e usei os servidores DNS do openvpn em vez dos meus ISPs e tudo ficou bem a partir de então. Tenho certeza que você já viu os endereços IP em todo o lugar, mas aqui estão eles, se você não tiver: 208.67.222.222 e 208.67.220.220.

John LaFramboise
fonte