• Enlaces de interés

Hostlocal

"/etc/hosts" al alcance de la mano

Mantener un sistema DNS en una pequeña red local muchas veces es trabajar de más para las necesidades reales. Lanzar comandos a muchas máquinas en una gran red muchas veces significa escribir largos e inmantenibles ficheros de configuración.

Para simplificar las dos tareas hay un sencillo script programado en perl: hostlocal. Aprovechando la propia sintaxis del fichero "/etc/hosts", hostlocal puede devolver datos del fichero para una máquina, para una categoría de máquinas definidas por el usuario, o para partes de nombres o direcciones IP.

Sintaxis

hostlocal [-i|--ips] [-n|--nombres] {categoría|patrón_de_búsqueda}

-i --ips    Devuelve sólo direcciones IP

-n --nombres   Devuelve sólo nombres

categoría   Devuelve todas las máquinas de la categoría indicada.

patrón_de_búsqueda   Devuelve todas las máquinas que contienen la cadena de búsqueda.

Formato del fichero "/etc/hosts"

Para que el script hostlocal pueda trabajar con categorías hay que definirlas antes en el fichero "/etc/hosts". Hacerlo es tan sencillo como colocar líneas de comentario con tantos caracteres # añadidos como nivel de anidamiento en las categorías queramos.

Ejemplo de formato:

# Comentario normal. Sin efecto para las categorías.
## TODAS (a partir de este punto el script trata las máquinas).
127.0.0.1   localhost
### CAT1 (categoría de máquinas dentro de TODAS)
10.0.0.1    router
#### SUBCAT1_1 (categoría dentro de CAT1)
10.0.1.2    mimaquina
10.0.1.116    linkap
10.0.1.102   intranet
#### SUBCAT1_2 (categoría dentro de CAT1)
10.0.2.1    wifiap
10.0.2.38    portatil
### CAT2 (categoría dentro de TODAS)

Ejemplo de ejecución:

user@mi_maquina:~$ hostlocal CAT1
10.0.1.102 intranet
10.0.1.116 linkap
10.0.1.2   mimaquina
10.0.2.38  portatil
10.0.0.1   router
10.0.2.1   wifiap