Introducción:
Que é dnscrypt-proxy?
- DNSCrypt cifra e autentica o tráfico DNS entre o usuario e o resolver DNS, evita a falsificación local das consultas DNS, garantindo que as respostas DNS sexan enviadas polo servidor que elixe. (wiki)
Que é dnsmasq?
- dnsmasq ofrece servizos como caché DNS e servidor DHCP. Como servidor de nomes de dominio (DNS), pode almacenar en caché consultas DNS para mellorar a velocidade de conexión a sitios visitados anteriormente e, como servidor DHCP, dnsmasq pode usarse para proporcionar enderezos IP internos e rutas a ordenadores nunha LAN. Pódense implementar un ou ambos servizos. dnsmasq considérase lixeiro e fácil de configurar; Está deseñado para usarse nun ordenador persoal ou para usar nunha rede con menos de 50 computadores. Tamén vén cun servidor PXE. (wiki)
Que usei?:
- Para editar os ficheiros de configuración que usei nano.
- En todo momento fíxeno coa miña conta root, pero se configuraron sudo, poden usalo con seguridade.
- Para comprobar a caché co comando dig, atópase en bind-tools
dentro dos repositorios oficiais, pacman -S ferramentas de enlace 🙂
Instalación:
- Como root ou usando sudo no noso terminal ou tty instalamos os paquetes dnscrypt-proxy e dnsmasq coma este:
- A mensaxe de aviso é porque xa os teño instalados, só tes que confirmar premendo Intro:
Configuración:
1 - Permitamos dnscrypt-proxy (lémbralo como root ou usando sudo):
2 - Agora editamos o ficheiro /etc/resolv.conf e no servidor de nomes eliminamos o que hai e poñemos 127.0.0.1 (se queres podes facer unha copia de seguridade do ficheiro) e debería ter o seguinte aspecto:
- Tendo en conta que NetworkManager escribe o ficheiro resolv.conf, o que imos facer é protexelo contra a escritura co seguinte comando:
3 - Agora o que imos facer é buscar un servidor máis próximo á nosa localización, pero pode usar o que vén por defecto, que é dnscrypt.eu-nl, a lista pódese abrir con localc está aquí: / usr / share / dnscrypt-proxy / dnscrypt-resolvers.csv así: - Se queremos modificar o servidor que resolve o DNS predeterminado podemos editalo así:
- Ao final do ficheiro na sección [Servizo] modificamos o seleccionado en gris e colocamos o servidor que xa seleccionamos na lista:
4 - Por defecto, dnscrypt-proxy usa o porto 53, xa que tamén o fai dnsmasq, polo que imos facer é cambialo usando de novo con:
systemctl edit dnscrypt-proxy.service –full e na sección [Socket] deixámolo do seguinte xeito:
5 - Agora configuramos dnsmasq, imos editar o ficheiro /etc/dnsmasq.conf e engadir estas tres liñas ao final:
non resolto
servidor = 127.0.0.1 # 40
escoitar-enderezo = 127.0.0.1
Gardamos os cambios e pechamos.
6 - Agora facemos o seguinte:
- Reiniciamos dnscrypt-proxy:
systemctl reinicia dnscrypt-proxy
- Activamos dnsmasq:
systemctl habilitar dnsmasq
- Executamos dnsmasq:
systemctl comeza dnsmasq
- Reiniciamos a nosa conexión a internet:
systemctl reinicia NetworkManager
7 - Ben, agora probamos se realmente funciona cun ping, por exemplo para google.com.ar:
8 - Comprobamos se a caché de DNS funciona co comando dig:
9 - Listo dnscrypt-proxy e dnsmasq configurados e funcionando correctamente.
Nota: Quero aclarar despois de buscar en varios lugares que non me funcionou de ningún xeito que amosaron na wiki arch, a versión en castelán está mal traducida (será unha pregunta se alguén traduce ben ou o farei nalgún momento) polo que usei a versión en Inglés. Entón, basicamente, dependín de dita wiki, todos eles créditos. Neste caso son os pasos que usei e funcionou para min.
Calquera dúbida ou problema comunicáronmo e falaremos diso ata que funcione.
Abrazo de gol! 😀
8 comentarios, deixa os teus
Non noto ningunha diferenza con dnsmasq, quizais con máis usuarios a caché funcione, polo menos só co meu ordenador non vin cambios na velocidade.
Os tempos de escavación con e sen dnsmasq seguen igual, quizais alguén saiba doutro método e comparta.
lembranzas
Como se ve na pantalla, podes ver moita diferenza, supoño que tamén dependerá do ancho de banda ...
Imaxe adxunta:
imgur .com / 9RQ7yhF.png
Canto duran os enderezos dns na caché con dnsmasq? Lembro de tentalo hai algún tempo e despois duns minutos, 10 ou 5, dnsmasq esquécese de todo
Realmente non cheguei a ver ese ... bo punto. Consultarase, quizais algún erudito o saiba e nos responda 🙂
Ola cando o dou como root "systemctl start dnsmasq" Recibo un erro, cando dou o comando "systemctl status dnsmasq.service" isto é o que recibo:
● dnsmasq.service: un servidor DHCP lixeiro e DNS en caché
Cargado: cargado (/usr/lib/systemd/system/dnsmasq.service; activado; predefinido do provedor: desactivado)
Activo: fallou (Resultado: código de saída) desde luns 2016/03/07 11:41:41 ART; Hai 18 anos
Documentos: man: dnsmasq (8)
Proceso: 7747 ExecStart = / usr / bin / dnsmasq -k –enable-dbus –user = dnsmasq –pid-file (código = saído, estado = 2)
Proceso: 7742 ExecStartPre = / usr / bin / dnsmasq –test (código = saído, estado = 0 / ÉXITO)
PID principal: 7747 (código = saído, estado = 2)
Martes 07 11:41:41 Sistema de sabedoría [1]: Iniciando un DHCP lixeiro e caché servidor DNS ...
Martes 07 11:41:41 Wisdom dnsmasq [7742]: dnsmasq: verificación de sintaxe OK.
Martes 07 11:41:41 Sabedoría dnsmasq [7747]: dnsmasq: non se puido crear o socket de audición para o porto 53: Enderezo xa en uso
Martes 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Proceso principal saído, código = saído, estado = 2 / INVALIDARGUMENT
Martes 07 11:41:41 Wisdom systemd [1]: Fallou ao iniciar un servidor DHCP lixeiro e caché DNS.
Martes 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: A unidade entrou nun estado fallido.
Martes 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Fallou o resultado "código de saída".
Qué debería facer? Grazas.
Seguín os pasos ao pé da letra, consulte o tutorial orixinal no meu blog. Deixei tamén un vídeo.
@ice ice, comparando este post e o teu vídeo feito nel, podo ver que hai un erro no paso número 4 escrito aquí. E o erro é que o ficheiro que se vai editar non é "systemctl edit dnscrypt-proxy.service –full", senón que se debe editar "systemctl edit dnscrypt-proxy.socket –full". (Teña en conta que en vez de .service debe escribir .socket).
É por iso que @wisse wisse recibe esa mensaxe de erro ao querer iniciar o servizo dnsmasq (xa que tamén me pasou o mesmo).
Saúdos!