Hoy me encontré con una actualización de dnscrypt-proxy a la versión 2.0.8-3 en el repositorio [community], ahora hasta ahí, todo bién. El “problema” vino cuando me dejó de funcionar ya que ésta nueva versión es muy diferente a las anteriores, si es que quieren mirar en qué exactamente se diferencian lo pueden mirar aquí. Entonces voy a detallar a continuación como fue que configuré nuevamente dnscrypt-proxy junto con dnsmasq.

Para los que no sepan qué es y como funciona dnscrypt-proxy y dnsmasq dejo aquí un link con una versión antigua (1.8) con información al respecto. Teniendo en cuenta que es válida para comenzar o si tienen la versión antes nombrada o la 1.9 aquí sino continuamos con la última versión (2.0) ahora mismo.

Comencemos!

1 – Instalamos los paquetes necesarios, ósea dnscrypt-proxy y dnsmasq:

# pacman dnscrypt-proxy dnsmasq

2 – Editaremos el archivo resolv.conf y debe quedar así:

Captura de pantalla de 2018-04-06 01-23-50

3 – Ahora lo protegeremos contra escritura ya que cada vez que iniciamos el servicio NetworkManager éste escribe nuevamente en /etc/resolv.conf, entonces escribimos ésto:

# chattr +i /etc/resolv.conf

4 – Modificaremos el puerto por default (el 53) colocando por ejemplo el 40 que es el que uso actualmente de ésta manera

# systemctl edit dnscrypt-proxy.socket –full

Y debe quedar así:

Captura de pantalla de 2018-04-06 01-25-47.png

5 – Agregaremos un servidor en nuestro /etc/dnscrypt-proxy/dnscrypt-proxy.toml, vamos a la línea 25 y le damos el nombre del server que buscamos previamente en los public-servers (podemos elegir el que deseen, cada uno tiene sus características) y al final del mismo archivo debajo de la etiqueta [sources] agregamos la dirección del server con su sdns como se muestran en las fotos:

Captura de pantalla de 2018-04-06 01-30-43.png

Captura de pantalla de 2018-04-06 01-33-45

Captura de pantalla de 2018-04-06 01-53-44.png

NOTA: En caso de no encontrar los sdns, los pueden visualizar también en /var/cache/private/dnscrypt-proxy/public-resolvers.md y lo pueden visualizar con nano por ejemplo.

Captura de pantalla de 2018-04-06 01-38-08.png

6 – Pasamos ahora a editar las siguientes líneas en /etc/dnsmasq.conf :

– Quiero aclarar qué éstas líneas se encuentran comentadas con un “#” en el archivo en sí, pero para no estar buscando línea por línea, les dejo el número de cada para facilitarles la búsqueda:

no-resolv línea 58
server=127.0.0.1#40 línea 67
listen-address=127.0.0.1 línea línea 113

– Si usan el editor nano, recuerden que para que muestren las líneas deben usar nano -c /etc/dnsmasq.

7 – Habilitamos los servicios para que se inicien con nuestro sistema así:

# systemctl enable dnscrypt-proxy

# systemctl enable dnsmasq

8 – Iniciaremos los servicios para que comiencen a funcionar:

# systemctl start dnscrypt-proxy

# systemctl start dnsmasq

9 – Reiniciamos NetworkManager:

# systemctl restart NetworkManager

– Si todo queda funcionando correctamente debería poder visualizar con systemctl status en dónde dice Active: active (running) en verde como se ve en la imagen:

Captura de pantalla de 2018-04-06 01-59-13.png

10 – Hacemos un ping a por ejemplo: google.com para comprobar que tenemos conexión:

# ping -c1 google.com

11 – Ahora vamos a usar la orden “dig” para comprobar que funciona correctamente todo lo que hicimos anteriormente:

# dig archlinuxlatinoamerica.wordpress.com | grep ‘Query time’

Y nos arroja por ejemplo:

Query time: 273 msec

Ahora si volvemos a escribir la misma línea veremos

Query time: 0 msec

Sin nombre.png

También podemos ver en DNS leak test que se encuentra todo funcionando como debe ser

Captura de pantalla de 2018-04-06 01-44-35.png

12 – Video Tutorial:

Próximamente

¿Qué usamos?

Distribución: Archlinux.

Editor de texto: nano.

Para revisar la caché: dig, éste se encuentra en el paquete bind-tools.

Espero que les haya servido éste how-to con la última versión de dnscrypt-proxy y dnsmasq!

Arbazo de gol!

Anuncios