martes, 26 de enero de 2016

Instalación y configuración de DNSCrypt Y DNSMasq en Arch

¡ATENCIÓN! Dnscrypt-proxy se ha actualizado, por tal motivo, esta guía ya no es 100% compatible. La nueva guía la encuentra en este link. ¡Gracia por su visita!


En este post veremos como instalar DNSCrypt para encriptar la comunicación entre nosotros y nuestro DNS, también vamos a configurar DNSMasq para usarlo como cache loca y acelerar las repuestas al resolver un dominio.

- Vamos a instalar las herramientas necesarias.

$ sudo pacman -S dnscrypt-proxy dnsmasq bind-tools

- Ahora vamos a habilitar la comunicación.

$ sudo systemctl enable dnscrypt-proxy.socket

- Nos vamos hasta el resolv.conf y creamos una copia de seguridad

$ sudo cp /etc/resolv.conf /etc/resolv.conf.backup

-  Abrimos resolv.conf con el siguiente comando y lo editamos

$ sudo nano /etc/resolv.conf

Debemos eliminar las direcciones en seguida de nameserver y colocar el localhost (127.0.0.1) con en la siguiente imagen.


- Tenemos que proteger el archivo contra escritura para que no sea modificado por ninguna aplicación

chattr +i /etc/resolv.conf

- Ahora vamos a abrir el archivo dnscrypt-resolvers.csv con libreoffice-calc y elegiremos el servidor más cercano dependiendo nuestra ubicación, tenemos que elegir el nombre que está en la columna "A" y copiarlo.

$ localc /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv

En mi caso, usaré "cisco" que está en la fila 3 y si miramos más delante en la fila, veremos que es OpenDNS así que los utilizaré para este post, mas delante ustedes pueden usar otras alternativas.

- Editamos el servicio para agregar nuestro servidor elegido. El servicio se crea automáticamente al habilitar el socket.

$ sudo systemctl edit dnscrypt-proxy.service --full

Eliminaremos el servidor que viene por defecto y colocaremos el que hemos elegido, en mi caso elegí cisco
así que al final debe decir: "-R cisco" sin comillas



- Reiniciamos el servicio y revisamos el estado del servicio y el socket

$ sudo systemctl restart dnscrypt-proxy.service

- Comprobamos el estado del servicio

$ sudo systemctl status dnscrypt-proxy.service




 y el estado del socket

$ sudo systemctl status dnscrypt-proxy.socket



Si seguiste todos los pasos y elegiste cisco (OpenDNS) como servidor, puedes pulsa aquí y ver el mensaje de bienvenida de la página, con eso confirmaremos que todo esta correcto.

Hasta aquí hemos configurado a dnscrypt para trabajar sólo, pero como utilizaremos dnsmasq para crear una cache DNS local, vamos a configurar dnscrypt-proxy.socket para utilizar el puerto 40. Por defecto dnscrypt utiliza el puerto 53 y  dnsmasq también utiliza el puerto 53, así que al intentar iniciar el servicio dnsmasq éste nos mandará un error indicando que el puerto ya esta en uso, por que el servicio dnscrypt ya esta corriendo utilizando dicho puerto.

- Vamos a modificar dnscrypt-proxy.socket para cambiar del puerto 53 al 40.

$ sudo systemctl edit dnscrypt-proxy.socket --full



Guardamos los cambios y reiniciamos

$ sudo systemctl restart dnscrypt-proxy.socket

- Ahora vamos a configurar dnsmasq. primero creamos un backup del archivo original

$ sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup

- ahora sí, vamos a abrirlo con mousepad

$ sudo mousepad /etc/dnsmasq.conf

- Descomentamos la linea

no-resolv





- Podemos descomentar y editar la linea # server=10.1.2.3@192.168.1.1#55 o como le hice yo, agregas la linea debajo.  #40 indica que usaremos el puerto 40.

server=127.0.0.1#40




- Descomentamos

listen-address=127.0.0.1



- Descomentamos y aumentamos el tamaño de direcciones que guardará en la cache. yo utilizaré 1000 pero pueden modificarlo a su gusto, incrementar o reducir el número.

cache-size=1000


Guardamos los cambios y cerramos el archivo. Ahora vamos a habilitar e iniciar el servicio dnsmasq

- Lo creamos

$ sudo systemctl enable dnsmasq.service

- Lo iniciamos

$ sudo systemctl start dnsmasq.service

Vamos a realizar la prueba para saver si dnsmasq esta funcionando, consultaremos google con el comando dig, debemos buscar la linea que dice "Query time" para saber cuanto tiempo tarda en resolverse el dominio

$ dig www.google.com


Esta primera consulta tardó 90 msec

Volveremos a consultar google, si dnsmasq esta funcionando debemos de ver una disminución de tiempo en Query time. En esta consulta vamos a filtrar el resultado para que solo nos muestre lo que nos interesa

$ dig www.google.com | grep "Query time"



Podemos observar 0 msec,  esto solo pude indicar dos cosas: que dnsmasq esta funcionando o que me quede sin conexión a internet. Vamos a hacer otra consulta para estar seguros

Ahora consultaremos facebook.



Realizamos la segunda consulta


Podemos observar que el tiempo de respuesta se redujo prácticamente a la mitad. Esto quiere decir que dnsmasq esta funionando y que aun tengo conexión a internet en mi netbook.

domingo, 24 de enero de 2016

Firefox no abre la carpeta de Descargas (carpeta contenedora)

Esta es la primera vez que me pasa esto, y todo comenzó por que recientemente instale nuevamente Arch (cambie de hdd a ssd).

Resulta que al descargar unos fondos de escritorio y algunos archivos y pulsar en la "carpetita" que abre la carpeta de Descargas en firefox


me lanzaba otra aplicación y no a thunar como debería hacerlo, ya fuese EasyTag o Audacious (de hecho se me hacia gracioso). Como firefox estaba confundido me fui a ver el archivo mimeinfo.cache escribiendo en terminal:

$ mousepad /usr/share/applications/mimeinfo.cache

pulsando ctrl+f activamos la opción de búsqueda en mousepad y NO busque "firefox", lo que hice fue buscar "easytag" que era la aplicación que mas veces se abría para ver con que archivos estaba asociado. Todo parecía normal, estaba asociado para abrir archivos de audio pero encontré una linea donde estaban asociados easytag, audacious y thunar juntos en la misma aplicación.

la linea es esta:


inode/directory=easytag.desktop;audacious.desktop;Thunar-folder-handler.desktop;

Esta linea coincidía con mi problema, entonces hice lo siguiente:

- crear una copia de seguridad del archivo mimeinfo.cache

$ sudo cp /usr/share/applications/mimeinfo.cache /usr/share/applications/mimeinfo.backup

- Modificamos la linea sospechosa

 $ sudo mousepad /usr/share/applications/mimeinfo.cache

Eliminaremos esta parte "easytag.desktop;audacious.desktop;"
debe quedar así:

inode/directory=Thunar-folder-handler.desktop;


Guardamos y vamos a probar, descargamos un archivo y pulsamos en la "carpetita" para abrir la carpeta de descargas y ahora debería funcionar.


miércoles, 20 de enero de 2016

Instalar las herramientas de BlackArch en Archlinux

Actualizado julio/2018

debido a varios errores que han reportado en los comentarios, he decidido actualizar la presente guía.
Bien, como dice el título, en esta entrada vamos a ver como instalar las herramientas de BlackArch.
Abrimos nuestro navegador favorito e ingresamos a la web de blackarch y bajamos hasta donde dice Installing on top of ArchLinux y seguiremos las instrucciones.
Primero tenemos que descargar el archivo strap.sh.

curl -O https://blackarch.org/strap.sh

Hay que calcular el hash y verificar que coincida con el hash de la web.

sha1sum strap.sh

Ahora tenemos que darle permiso de ejecución al script.

chmod +x strap.sh

Y lo ejecutamos con permisos.

sudo ./strap.sh

Esperemos a que termine su ejecución y debemos ver en terminal algo similar a la imagen siguiente.
Podemos observar en la imagen que se ha agregado un repo de blackarch y nos dice que blackarch está listo. Bien, por defecto viene un mirror de Gran Bretaña pero los mirrors más cercanos a mi ubicación geográfica son los de USA, así que voy a modificar los mirrors para descomentar los de USA y colocarlos al inicio del archivo.

sudo mousepad /etc/pacman.d/blackarch-mirrorlist

Recuerda seleccionar los mirrors dependiendo tu país, guardar los cambios y forzar la sincronización.

sudo pacman -Syy


NOTA: toma unos minutos para ajustar mirrors que te dan la mejor velocidad
Listo! ya tenemos a nuestro alcance el arsenal de Blackarch, pero aún no terminamos. Debemos descomentar el repo Multilib para instalar algunas herramientas de forma adecuada.


Comandos básicos

Instalar todas las herramientas de black arch.
$ pacman -S blackarch

Listar todas el arsenal disponible.
$ pacman -Sgg | grep blackarch | cut -d' ' -f2 | sort -u

Listar los grupos disponibles.
$ pacman -Sg | grep blackarch

Listar las herramientas que conforman cada grupo (p/e wireless).
$ pacman -Sg blackarch-wireless

Instalar un grupo completo de herramientas.
$ sudo pacman -S blackarch-wireless

Instalar algún paquete del repo de Blackarch. Esta orden es útil cuando se necesita un paquete de un repo específico.
$ sudo pacman -S blackarch/nmap


Blackman

Blackman es un pequeño administrador de archivos de blackarch que nos permite descargar, compilar e instalar los paquetes desde la fuente, la compilación se realiza si es necesaria.
Su instalación es muy sencilla.

sudo pacman -S blackman

Bien, la verdad no probé de forma exaustiva blackman pero sí descargué una paquete y comprobé que hace lo que dice.
Pueden encontrar más información aquí