Instale e ative o DNSCrypt Proxy 2 no Ubuntu 18.04 ou 19.04 / Debian instável ou teste [Tutorial]

15 de maio de 2019

DNSCrypt

DNSCrypt Proxy 2 é um proxy DNS flexível com suporte para protocolos DNS criptografados, como DNSCrypt v2 e DNS-over-HTTPS.

DNSCrypt é um protocolo de rede que autentica e criptografa o tráfego do Sistema de Nomes de Domínio (DNS) entre o computador do usuário e os servidores de nomes recursivos. Ele transforma o tráfego DNS regular em tráfego DNS criptografado, protegido contra ataques de espionagem, falsificação ou man-in-the-middle, melhorando assim a segurança e a privacidade online do usuário.

Os recursos do DNSCrypt Proxy 2 incluem:

  • Tráfego DNS criptografado e autenticado, com suporte a DNS-over-HTTPS (DoH) e DNSCrypt
  • Monitoramento de consulta DNS, com arquivos de log separados para consultas regulares e suspeitas
  • Filtragem: bloqueia anúncios, malware e outros conteúdos indesejados
  • Cache DNS, para reduzir a latência e melhorar a privacidade
  • Bloqueio IPv6 local para reduzir a latência em redes somente IPv4
  • Balanceamento de carga: escolhe um conjunto de resolvedores, dnscrypt-proxy irá medir e monitorar automaticamente sua velocidade e equilibrar o tráfego entre os mais rápidos disponíveis
  • Atualizações automáticas de fundo de listas de resolvedores
  • Compatível com DNSSEC

Você pode verificar a lista completa de recursos do DNSCrypt Proxy v2 visitando a página do projeto.

Em comparação com a v1, a série 2.0 do DNSCrypt Proxy, que teve seu primeiro lançamento estável em fevereiro, foi reescrita em Go, tem suporte para DNS-over-TLS e DNS-over-HTTP e é compatível com cache DNS. Ele também tem um novo formato de arquivo de configuração que não é compatível com o v1 antigo.

DNSCrypt Proxy v2 está disponível nos repositórios Debian Testing e Unstable, bem como nos repositórios Ubuntu 18.10 e 19.04. Há também um PPA para Ubuntu 18.04 e Linux Mint 19. O PPA tem pacotes para versões mais antigas do Ubuntu/Linux Mint, mas não consegui fazê-lo funcionar, então este artigo oferece instruções apenas para Ubuntu 18.04, Ubuntu 18.10, Ubuntu 19.04, Linux Mint 19.x, Debian Unstable e Debian Testing.

Como observação lateral, para usuários do Windows, há uma ferramenta de gerenciamento simples para DNSCrypt Proxy, chamada Simple DNSCrypt.

Neste artigo:

Como instalar e habilitar DNSCrypt Proxy 2 no Ubuntu 19.04/18.10 ou Debian Unstable/Testing

Ubuntu 18.10 é o primeiro lançamento do Ubuntu a ter o novo DNSCrypt Proxy 2 em seu arquivo. O pacote foi importado do Debian e, portanto, também está disponível no Debian Unstable e Testing.

Se você tinha uma versão mais antiga do dnscrypt-proxy (<2.0) instalada, limpe e reinstale-a, para que sua nova configuração seja instalada:

Comandos para usar no terminal

sudo apt purge dnscrypt-proxy

Para instalar dnscrypt-proxy no Ubuntu 19.04 ou 18.10 ou Debian Unstable/Testing, use este comando:

Comandos para usar no terminal

sudo apt install dnscrypt-proxy

Para usar DNSCrypt Proxy 2, mude o DNS para 127.0.2.1 em sua configuração de rede. Como mudar isso depende do ambiente de trabalho que você está usando.

Por exemplo, no Ubuntu 18.10 com a área de trabalho Gnome (rede com fio), vá para System Settings > Network, clique no ícone de engrenagem ao lado da rede à qual está conectado e, na guia IPv4, desative Automatic próximo a DNS e digite 127.0.2.1 como o servidor DNS, como nesta captura de tela:

Alterar rede DNS Ubuntu 18.10

Você também precisará desativar e reativar sua rede usando o controle deslizante (ao lado de (1) na captura de tela) ou reiniciá-la na linha de comando:

Comandos para usar no terminal

sudo systemctl restart NetworkManager

Para WiFi, vá para System Settings > WiFi. Lembre-se de reiniciar a rede WiFi para usar o novo DNS.

No Debian Unstable/Testing com Xfce, clique com o botão direito do mouse no miniaplicativo de rede no painel e selecione Edit Connections. Em seguida, selecione sua conexão ativa e clique no ícone de engrenagem na parte inferior para editá-la. Na guia IPv4 Settings, selecione Automatic (DHCP) addresses only na lista suspensa Method, digite 127.0.2.1 no campo de servidores DNS e clique em Save:

Alterar DNS Debian Xfce

Em seguida, clique com o botão direito do mouse no miniaplicativo de rede no painel novamente, clique em Enable Networking uma vez para desativá-lo e, em seguida, clique novamente para reativar a rede. Você também pode reiniciá-lo usando este comando:

Comandos para usar no terminal

sudo systemctl restart NetworkManager

Como instalar e habilitar DNSCrypt Proxy 2 no Ubuntu 18.04 ou Linux Mint 19.x

DNSCrypt Proxy v2 não foi incluído no arquivo Ubuntu 18.04, mas tem um PPA oficial que você pode usar para instalá-lo e receber atualizações futuras. O PPA é compatível com Ubuntu 18.04, Ubuntu 16.04, Linux Mint 19.xe Linux Mint 18.x., mas não tive muito sucesso em fazer com que o DNSCrypt Proxy 2 deste PPA funcione no Ubuntu 16.04 ou Linux Mint 18. Então as instruções abaixo são apenas para Ubuntu 18.04 e Linux Mint 19.x.

Antes de adicionar o PPA e instalar DNSCrypt Proxy v2, certifique-se de limpar o dnscrypt-proxy se ele foi instalado anteriormente em seu sistema, usando este comando:

Comandos para usar no terminal

sudo apt purge dnscrypt-proxy

Agora você pode adicionar o PPA e instalar DNSCrypt Proxy v2 no Ubuntu 18.04 ou Linux Mint 19:

Comandos para usar no terminal

sudo add-apt-repository ppa:shevchuk/dnscrypt-proxy

sudo apt update

sudo apt install dnscrypt-proxy

Agora você precisará alterar seu servidor DNS para 127.0.2.1 em suas configurações de rede. Como alterar isso depende do ambiente de área de trabalho que você está usando.

No Ubuntu 18.04 (Gnome) é semelhante ao Ubuntu 19.04/18.10 (é exatamente como na captura de tela do Ubuntu 19.04/18.10 acima): vá para System Settings > Network, clique no ícone de engrenagem ao lado da rede à qual você está conectado, e na guia IPv4, desative Automatic próximo a DNS e insira 127.0.2.1 como o servidor DNS. Reinicie a rede desativando e reativando o controle deslizante ao lado da rede à qual você está conectado ou reinicie-a usando este comando:

Comandos para usar no terminal

sudo systemctl restart NetworkManager

Para redes WiFi, vá para System Settings > WiFi. Lembre-se de reiniciar a rede WiFi para usar o novo DNS.

No Linux Mint 19 Cinnamon por exemplo, clique com o botão esquerdo do mouse no miniaplicativo de rede no painel inferior e selecione Edit Connections. Em seguida, selecione sua conexão ativa e clique no ícone de engrenagem na parte inferior para editá-la. Na guia IPv4 Settings, selecione Automatic (DHCP) addresses only no menu suspenso Method, digite 127.0.2.1 no campo de servidores DNS e clique em Save:

Alterar DNS Linux Mint 19 Cinnamon

Em seguida, clique com o botão direito do mouse no miniaplicativo de rede no painel inferior novamente, clique em Enable Networking uma vez para desativá-lo e, em seguida, clique novamente para reativar a rede. Você também pode reiniciá-lo usando este comando:

Comandos para usar no terminal

sudo systemctl restart NetworkManager

Como verificar se você está usando DNSCrypt Proxy

Existem várias maneiras de verificar se você está usando o DNSCrypt Proxy e qual é o DNS atual que está usando. Use o primeiro abaixo para descobrir se DNSCrypt Proxy realmente funciona em seu sistema e os outros dois se você quiser verificar qual é o DNS em uso em seu computador (todos podem ser usados para verificar se você está usando DNSCrypt Proxy, mas o primeiro é o mais confiável).

I. A melhor maneira de verificar se você está usando o DNSCrypt Proxy é interromper o serviço. Uma vez que está parado, a resolução de DNS não deve funcionar mais, confirmando que o DNSCrypt Proxy está realmente em uso quando o serviço está em execução.

Pare o serviço/soquete DNSCrypt Proxy usando estes comandos:

Comandos para usar no terminal

sudo systemctl stop dnscrypt-proxy.socket

sudo systemctl stop dnscrypt-proxy

Agora tente fazer ping em um domínio, como google.com:

Comandos para usar no terminal

ping google.com

O domínio não deve resolver, gerando um erro, como este:

$ ping google.com
ping: google.com Name or service not known

Agora que você confirmou que o DNSCrypt Proxy está sendo usado, inicie seu serviço/soquete novamente usando:

Comandos para usar no terminal

sudo systemctl start dnscrypt-proxy

sudo systemctl start dnscrypt-proxy.socket

II. Para verificar o IP real do DNS (por exemplo, se você estiver usando o DNS 8.8.8.8 e 8.8.4.4 do Google, o IP real não é nenhum desses dois) que você está usando atualmente, você pode olhar para a saída deste comando:

Comandos para usar no terminal

dnscrypt-proxy -resolve google.com

Por exemplo, usando o servidor DNS de.dnsmaschine.net, que é hospedado por vultr.com, esta é a saída (consulte a última linha, chamada Resolver IP):

$ dnscrypt-proxy -resolve google.com
Resolving [google.com]

Domain exists:  yes, 4 name servers found
Canonical name: google.com.
IP addresses:   74.125.24.113, 74.125.24.139, 74.125.24.100, 74.125.24.138, 74.125.24.101, 74.125.24.102, 2404:6800:4003:c03::71
TXT records:    facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95 v=spf1 include:_spf.google.com ~all docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e
Resolver IP:    209.250.235.170 (209.250.235.170.vultr.com.)

III. Você pode encontrar seu resolvedor de DNS atual usando um site de teste de vazamento de DNS. Existem alguns sites para isso disponíveis, como Perfect Privacy, DNS Leak Test, o DNS Leak Test de ExpressVPN, ipleak.net e assim em.

(Opcional) Como alterar os servidores DNSCrypt Proxy 2 DNS

Usando sua configuração padrão, o DNSCrypt Proxy 2 escolhe automaticamente os servidores de trabalho mais rápidos da lista de servidores públicos, que correspondem aos filtros configurados no arquivo de configuração DNSCrypt Proxy 2.

Esse é o caso dos pacotes do DNSCrypt Proxy 2 PPA, mas não do pacote disponível nos repositórios Ubuntu 19.04 e 18.10. No Ubuntu 19.04/18.10, o DNSCrypt Proxy 2 é padronizado para o DNS CloudFlare.

Se quiser alterar os servidores DNSCrypt Proxy 2, você precisará editar o arquivo de configuração /etc/dnscrypt-proxy/dnscrypt-proxy.toml como root. Para abrir este arquivo como root com Gedit (o editor de texto Gnome padrão), você pode usar este comando:

Comandos para usar no terminal

gedit admin:///etc/dnscrypt-proxy/dnscrypt-proxy.toml

Substitua gedit pelo editor de texto gráfico de sua escolha (como xed, que é o editor de texto padrão no Linux Mint Cinnamon, etc.).

Você pode estar interessado em: gksu removido do Ubuntu, aqui está o substituto recomendado

Ou, se você quiser usar o editor de linha de comando Nano, use:

Comandos para usar no terminal

sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Em seguida, neste arquivo, descomente a linha server_names se estiver comentado (deve estar próximo ao topo - está comentado para os pacotes PPA; descomentar esta linha significa remover o sinal # do início da linha, se estiver presente).

Copie o nome do servidor (copie o nome exato do servidor da coluna Name) que deseja usar desta página e adicione-o a server_names em /etc/dnscrypt-proxy/dnscrypt-proxy.toml. Por exemplo, se você deseja adicionar apenas um servidor, o valor server de server_names deve ser assim:

Comandos para usar no terminal

server_names = ['server']

Se você deseja adicionar vários servidores DNS, deve ser assim:

Comandos para usar no terminal

server_names = ['server1', 'server2', 'server3']

Depois de fazer alterações no arquivo de configuração DNSCrypt Proxy 2, você precisará reiniciar seu serviço systemd ou então as alterações não serão aplicadas até que você reinicie. Você pode reiniciar o DNSCrypt Proxy 2 usando este comando:

Comandos para usar no terminal

sudo systemctl restart dnscrypt-proxy

Todas as opções do DNSCrypt Proxy 2 podem ser alteradas editando o arquivo de configuração /etc/dnscrypt-proxy/dnscrypt-proxy.toml.

Se você estiver usando o pacote PPA, todas as opções de configuração DNSCrypt Proxy 2 já estão disponíveis no arquivo /etc/dnscrypt-proxy/dnscrypt-proxy.toml.

No caso do Ubuntu 19.04/18.10 e Debian Testing and Unstable, o pacote DNSCrypt Proxy 2 que está disponível nos repositórios vem com um arquivo de configuração simplificado, que tem apenas algumas opções listadas. No entanto, você pode encontrar o dnscrypt-proxy.toml original no GitHub. Copie as opções que deseja usar (e descomente-as) em seu /etc/dnscrypt-proxy/dnscrypt-proxy.toml.

Não altere o valor listen_addresses (deixe em branco), pois isso pode fazer com que o DNSCrypt Proxy 2 pare de funcionar. Se você precisar alterar o endereço de escuta do DNSCrypt Proxy 2 (o padrão é 127.0.2.1 no Debian e no Ubuntu), faça isso editando o arquivo dnscrypt-proxy.socket.

Esse post foi traduzido do site LinuxUprising.com pela rtland.team.

Linux Uprising Blog
Propaganda
Propaganda