Desde lo alto del Cerro

Blog de Alberto Molina Coballes

Utilizando mdns en una red local

con un comentario

Es muy habitual trabajar en una red local con direcciones IP dinámicas, preferiblemente asignadas por un servidor DHCP o en su defecto elegidas aleatoriamente a través del mecanismo APIPA. 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

Escrito por albertomolina

7-07-08 a 4:43 pm

Escrito en General

Etiquetado con , ,

Una respuesta

Suscríbete a los comentarios mediante RSS.

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

    Fulanito

    31-05-09 a 3:23 am


Escribe un comentario