Utilizando mdns en una red local


Es muy habitual trabajar en una red local con direcciones IP dinámicas, preferiblemente asignadas por un servidor DHCP o en su defecto direcciones IP de enlace local del segmento 169.254.0.0/16 elegidas aleatoriamente. El mayor inconveniente que nos encontramos es precisamente el no saber la dirección IP asociada a un equipo en un momento determinado, las dos soluciones más habituales a este problema son:

  • Hacer que el servidor DHCP mantega durante mucho tiempo las asignaciones de direcciones IP
  • Configurar un servidor DNS en la red local sincronizado con el servidor DHCP, como se explica en DNS dinámico

Sin embargo recientemente se puede añadir la utilización de Multicast DNS (Zeroconf), que permite saber en todo momento la relación entre la dirección IP y el nombre de una máquina dentro de la red local.


Cuando se utiliza mdns, en lugar de encargar la resolución de nombres a un equipo (servidor DNS), esta labor se distribuye y cada equipo se encarga de la resolución de su propio nombre, a través de un mecanismo multicast (mdns). Existen diferentes implementaciones, siendo las más conocidas Bonjour (Apple) y Avahi (GNU/Linux y BSD). Como es lógico aquí nos encargaremos de la segunda ;).

Configuración de Avahi

La mayor parte de las distribuciones GNU/Linux instalan por defecto el demonio avahi (avahi-daemon) y el paquete libnss-mdns. Para que pueda utilizarse mdns, debemos asegurarnos de que el fichero /etc/nsswitch.conf, contenga la línea:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

En lugar de la habitual:

hosts: files dns

De esta manera se harán resoluciones de nombres a través de mdns (IPv4).

Resolución de nombres local

Para comprobar que está funcionando mdns de forma correcta, utilizamos el nombre de un equipo de nuestra red local y le asignamos el pseudo-domino .local, es decir para averiguar la dirección IP del equipo “jondalar”:

getent host jondalar.local
192.168.0.6 jondalar.local

O bien:

ping jondalar.local
PING jondalar.local (192.168.0.6) 56(84) bytes of data.
64 bytes from jondalar.local (192.168.0.6): icmp_seq=1 ttl=64 time=4.16 ms

, ,

  1. #1 por Fulanito el 31-05-09 - 3:23 am

    Hola, che muy bueno y util tu blog! Gracias por compartir tus conocimentos, el articulo es excelente…

    Me gusta

  2. #2 por Manuel Viera el 29-07-11 - 1:48 pm

    Hola Alberto!

    Que grata sorpresa! no sabia que tenias blog! Buscando mDNS en Google me he encontrado con el tuyo. Sale en segunda posición :-)

    Muy util tu post! Ánimo y a seguir posteando!

    Un saludo.
    Manu.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: