Instalação e configuração de dnscrypt-proxy + dnsmasq no Archlinux

introdução: 
  

O que é dnscrypt-proxy?
- DNSCrypt criptografa e autentica o tráfego DNS entre o usuário e o resolvedor DNS, evita o spoofing local de consultas DNS, garantindo que as respostas DNS sejam enviadas pelo servidor de escolha. (Wiki)

O que é dnsmasq?
- dnsmasq fornece serviços como cache DNS e servidor DHCP. Como um servidor de nome de domínio (DNS), ele pode armazenar em cache consultas de DNS para melhorar as velocidades de conexão a sites visitados anteriormente e, como um servidor DHCP, dnsmasq pode ser usado para fornecer endereços IP internos e rotas para computadores em uma LAN. Um ou ambos os serviços podem ser implementados. dnsmasq é considerado leve e fácil de configurar; Ele foi projetado para uso em um computador pessoal ou em uma rede com menos de 50 computadores. Ele também vem com um servidor PXE. (Wiki)

O que eu usei?:
- Para editar os arquivos de configuração que usei nano.
- Sempre fiz isso com minha conta root, mas se eles configuraram sudo, eles podem usá-lo com segurança.
- Para verificar o cache com o comando dig, ele é encontrado em bind-tools
dentro dos repositórios oficiais, pacman -S ferramentas de ligação 🙂

instalação:

  • Como root ou usando sudo em nosso terminal ou tty, instalamos os pacotes dnscrypt-proxy e dnsmasq assim:
  • A mensagem de aviso é porque eu já os tenho instalados, basta confirmar pressionando Enter:

ambiente:

1 - Vamos habilitar dnscrypt-proxy (lembre-se como root ou usando sudo):


2 - Agora vamos editar o arquivo / Etc / resolv.conf e no servidor de nomes apagamos o que está lá e colocamos 127.0.0.1 (se quiser, pode fazer um backup do arquivo) e deve ficar assim:

  • Levando em consideração que o NetworkManager grava o arquivo resolv.conf, o que vamos fazer é protegê-lo contra gravação com o seguinte comando:


    3 - Agora o que vamos fazer é procurar um servidor mais próximo de nossa localização, mas você pode usar aquele que vem por padrão, que é dnscrypt.eu-nl, a lista pode ser aberta com localc aqui: / usr / share / dnscrypt-proxy / dnscrypt-resolvers.csv assim:

  • Se quisermos modificar o servidor que resolve o DNS padrão, podemos editar assim:
  • No final do arquivo na seção [Serviço] modificamos o que está selecionado em cinza e colocamos o servidor que já selecionamos na lista:


    4 - Por padrão, dnscrypt-proxy usa a porta 53, já que dnsmasq também usa, então o que vamos fazer é alterá-lo usando novamente com:
    systemctl edit dnscrypt-proxy.service –full e na seção [Socket] deixamos como segue:

Nós salvamos as alterações e fechamos.

5 - Agora que configuramos o dnsmasq, vamos editar o arquivo /etc/dnsmasq.conf e adicionar estas três linhas no final:

não resolvido
server = 127.0.0.1 # 40
endereço de escuta = 127.0.0.1

Nós salvamos as alterações e fechamos.

6 - Agora fazemos o seguinte:
- Reiniciamos dnscrypt-proxy:
systemctl reiniciar dnscrypt-proxy
- Ativamos dnsmasq:
systemctl habilita dnsmasq
- Executamos dnsmasq:
systemctl iniciar dnsmasq
- Reiniciamos nossa conexão com a internet:
systemctl reinicie o NetworkManager

7 - Bem, agora testamos se realmente funciona com um ping, por exemplo, para google.com.ar:

8 - Verificamos se o cache de dns funciona com o comando dig:

- Aqui levamos em consideração que a primeira dig que faço há um atraso de 349 mseg e quando faço a consulta novamente com dig, o que acontece? 0 mseg, para que seja armazenado em cache corretamente.

9 - Pronto dnscrypt-proxy e dnsmasq configurados e funcionando corretamente!

Nota: Quero esclarecer depois de pesquisar em vários lugares que não funcionou para mim de nenhuma forma que mostrava no arch wiki, a versão em espanhol está mal traduzida (será uma questão se alguém traduz bem ou farei em algum momento) então usei a versão Inglês. Então, eu basicamente contei com a referida wiki, todos os créditos a eles. Nesse caso, essas são as etapas que usei e funcionaram para mim.
Qualquer dúvida ou inconveniente que eles tenham me avisado e conversaremos sobre isso até que funcione!

Abraço de gol! 😀


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   sem nome dito

    Não noto nenhuma diferença com o dnsmasq, talvez com mais usuários o cache funcione, pelo menos com apenas meu computador não vi mudanças na velocidade.

    Os tempos de digitação com e sem dnsmasq permanecem os mesmos, talvez alguém conheça outro método e o compartilhe.
    lembranças

    1.    gelo dito

      Como pode ser visto na tela, dá para ver MUITA diferença, suponho que vai depender da largura de banda também ...…

  2.   sem nome dito

    Imagem anexada :
    imgur .com / 9RQ7yhF.png

  3.   DanielSc3 dito

    Por quanto tempo os endereços dns no cache com dnsmasq? Lembro-me de tentar há algum tempo e depois de alguns minutos, 10 ou 5, o dnsmasq esquece tudo

    1.    gelo dito

      Eu realmente não consegui ver esse ... bom argumento. Será consultado, talvez algum estudioso conheça e nos responda 🙂

  4.   sábio dito

    Olá, quando eu indico ele como root "systemctl start dnsmasq" eu recebo um erro, quando eu dou o comando "systemctl status dnsmasq.service" isto é o que eu obtenho:

    ● dnsmasq.service - Um DHCP leve e servidor DNS em cache
    Carregado: carregado (/usr/lib/systemd/system/dnsmasq.service; ativado; predefinição do fornecedor: desativado)
    Ativo: falhou (Resultado: código de saída) desde Seg 2016-03-07 11:41:41 ART; 18s atrás
    Documentos: man: dnsmasq (8)
    Processo: 7747 ExecStart = / usr / bin / dnsmasq -k –enable-dbus –user = dnsmasq –pid-file (código = encerrado, status = 2)
    Processo: 7742 ExecStartPre = / usr / bin / dnsmasq –teste (código = saiu, status = 0 / SUCESSO)
    PID principal: 7747 (código = saiu, status = 2)

    Ter 07 11:41:41 Wisdom systemd [1]: Iniciando um DHCP leve e um servidor DNS em cache ...
    Ter 07 11:41:41 Wisdom dnsmasq [7742]: dnsmasq: verificação de sintaxe OK.
    Ter 07 11:41:41 Wisdom dnsmasq [7747]: dnsmasq: falha ao criar soquete de escuta para porta 53: Endereço já em uso
    Ter 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Processo principal encerrado, código = encerrado, status = 2 / INVALIDARGUMENT
    Ter 07 11:41:41 Wisdom systemd [1]: Falha ao iniciar um servidor DHCP leve e cache de DNS.
    Ter 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Unidade entrou em estado de falha.
    Ter 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Falha com o resultado 'código de saída'.

    O que devo fazer? Obrigado.

    1.    gelo dito

      Eu segui os passos ao pé da letra, verifique o tutorial original no meu blog. Eu também deixei um vídeo.

  5.   gonza dito

    @ice ice, comparando este post com o seu vídeo feito nele, posso ver que há um erro no passo número 4 escrito aqui. E o erro é que o arquivo a ser editado não é "systemctl edit dnscrypt-proxy.service –full", mas deve ser editado "systemctl edit dnscrypt-proxy.socket –full". (Observe que em vez de .service você deve escrever .socket).

    É por isso que @wisse wisse recebe essa mensagem de erro quando deseja iniciar o serviço dnsmasq (já que a mesma coisa aconteceu comigo também).

    Saudações!