Mes: noviembre 2017

Crear un servidor DNS con dnsmasq en Mac OS

Alguna vez, habrás necesitado cambiar el hosts de tu máquina, para usar un dominio con tu servidor local. Esto es de gran utilidad para comprobar que todas las url están bien puestas, que no hay ninguna rota y que todas las imágenes están bien enlazadas. Hacer esto es muy sencillo, tan sólo hay que entrar en el archivo hosts, y modificarlo. Pero…, ¿te has visto en la situación de hacer eso con un dispositivo que no fuera tu ordenador? Por ejemplo, ¿un iphone?. Pues bien, la solución es, montar tu propio servidor de DNSs y hacer que el dominio que tu desees, se resuelva con tu IP local y te muestre el contenido que hay en tu pc.

Instalación de la herramienta DNSMASQ

Voy a explicar cómo configurar dnsmasq en Mac OS para usarlo cómo servidor de DNS con tu iphone o con cualquier otro dispositivo.

Primeros pasos

En primer lugar hay que instalar Homebrew. Homebrew es un gestor de paquetes, que tal y cómo lo definen en su web, es el gestor de paquetes perdido en Mac OS. Una vez lo instales, podrás usar sus comandos para instalar software que no viene con Apple.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Es probable que sino eres programador de ios, te pida que actualices Xcode a la última versión. Tendrás que hacerlo, para que Homebrew funcione correctamente. Si el paso anterior te ha pedido instalar Xcode, también, tendrás que instalar lo siguiente:
xcode-select --install
desde el terminal de Mac OS.

Instalación de DNSMASQ

Una vez, todo este proceso se haya completado (pueden ser varios minutos), ya estamos listos para instalar dnsmasq
brew install dnsmasq

CONFIGURACIÓN DE DNSMASQ

Ahora, entremos en /usr/local/etc
cd /urs/local/etc
hagamos un backup del archivo dnsmasql.conf, nunca está de más,
cp dnsmasq.conf dnsmasq.conf.back

Ahora cambiamos con nuestro editor favorito, el contenido que hay en dnsmasq.conf
server=8.8.8.8
server=8.8.4.4
listen-address=127.0.0.1
listen-address=192.168.1.10
no-dhcp-interface=
no-hosts
addn-hosts=/usr/local/etc/dnsmasq.hosts

Donde pone, 192.168.1.10, tienes que poner la ip de tu ordenador en la red actual. Por último, todos los dominios que quieras que apunten a tu dirección local, has de ponerlos en el archivo “dnsmasq.hosts” con el siguiente formato:
192.168.1.10   www.dominio.com dominio.com
De esta forma, el dominio.com, o el dominio.com, mostrará el contenido del servidor web que haya en 192.168.1.10.

Una vez esté todo configurado, tenemos que reiniciar los servicios, para que estos cambios tengan efecto:
sudo launchctl stop homebrew.mxcl.dnsmasq
sudo launchctl start homebrew.mxcl.dnsmasq

 

Uso en un Iphone

Para usar nuestro nuevo servidor en un dispositivo IOS, tenemos que ir a Ajustes -> Wi-Fi. Aquí hay que pulsar en la i de nuestra Wi-Fi.

Las opciones de la red, muestran la configuración de las Dirección IPV4, DNS, Proxy HTTP. La que nos interesa, DNS, está en segundo lugar, y tenemos que ponerla en Manual.

Apuntemos las IPs que salgan si es que hay alguna en un papel, para dejarlo luego todo cómo estaba. Borramos los servidores DNS actuales y añadimos nuestro servidor nuevo, que es la IP de nuestro ordenador.

Para que los cambios tengan efectos, tenemos que desconectarnos de la wifi y volver a conectar.

Si ahora entramos en Safari e introducimos la dirección www.dominio.com, nos mostrará la información de nuestro servidor web.