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:
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! 😀
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
Como pode ser visto na tela, dá para ver MUITA diferença, suponho que vai depender da largura de banda também ...…
Imagem anexada :
imgur .com / 9RQ7yhF.png
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
Eu realmente não consegui ver esse ... bom argumento. Será consultado, talvez algum estudioso conheça e nos responda 🙂
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.
Eu segui os passos ao pé da letra, verifique o tutorial original no meu blog. Eu também deixei um vídeo.
@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!