Cómo asociar un nombre a una dirección IP bajo Mac OS X
EL problema
Siendo Mac OS X un sistema operativo basado en BSD, se podría pensar que es sencillo modificar el archivo
/etc/hosts. Sin embargo, por defecto este fichero no es tomado en cuenta.
La resolución del nombre se efectúa a través del gestor
NetINFO. Existen varios métodos para hacer que el fichero
/etc/hosts sea tomado en cuenta por NetINFO, en este artículo veremos uno de ello.
Método
A continuación veremos un método en modo consola que no es tan complicado y que tiene la ventaja de poder ser utilizado sin que necesariamente haya que tener acceso físico a la máquina. (vía SSH).
Todo se realiza desde un Terminal bash (/Aplicaciones/Utilidades/Terminal)
En primer lugar hay que obtener la configuración actual:
$ mkdir -p ~/hosts
$ cd ~/hosts
$ nidump hosts / > hosts.conf.ori
Copiar el fichero para conservar la configuración original (.ori)
$ cp hosts.conf.ori hosts.conf
Ahora, hay que hacer las modificaciones necesarias en el fichero hosts.conf.
Se recomienda añadir una línea y no modificar las líneas existentes, a menos que se sepa lo que se hace!
Una vez hecha la modificación, hay que cargar el fichero a NetINFO (como usuario root, por lo tanto via sudo)
$ sudo niload hosts . < hosts.conf
Sino hay ningún error (si no, hay que corregir el error en el fichero hosts.conf, o volver a hacer la operación con el fichero .ori), ejecuta el servicio de búsqueda de nombre:
$ sudo killall -HUP lookupd
Y listo!
Un pequeño ejemplo
Asociar www.ccm.net a www.commentcamarche.net (194.169.240.130)
$ ping www.ccm.net
ping: cannot resolve www.ccm.net: Unknown host
$ mkdir -p ~/hosts
$ cd ~/hosts
$ nidump hosts / > hosts.conf.ori
$ cp hosts.conf.ori hosts.conf
$ cat hosts.conf
::1 localhost
255.255.255.255 broadcasthost
127.0.0.1 java.localhost
127.0.0.1 php.localhost
127.0.0.1 mysql.localhost
$ echo "194.169.240.130 www.ccm.net" >> hosts.conf
$ cat hosts.conf
::1 localhost
255.255.255.255 broadcasthost
127.0.0.1 java.localhost
127.0.0.1 php.localhost
127.0.0.1 mysql.localhost
194.169.240.130 www.ccm.net
$ sudo niload hosts . < hosts.conf
$ sudo killall -HUP lookupd
$ ping -c4 www.ccm.net
PING www.ccm.net (194.169.240.130): 56 data bytes
64 bytes from 194.169.240.130: icmp_seq=0 ttl=56 time=29.936 ms
64 bytes from 194.169.240.130: icmp_seq=1 ttl=56 time=30.622 ms
64 bytes from 194.169.240.130: icmp_seq=2 ttl=56 time=30.053 ms
64 bytes from 194.169.240.130: icmp_seq=3 ttl=56 time=30.566 ms
--- www.ccm.net ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 29.936/30.294/30.622/0.303 ms
Y listo! Para eliminar esta definición, no es necesario buscar via niload el archivo hosts.conf.ori.
Ahora veremos como utilizar el comando
niutil para eliminar la entrada www.ccm.net.
$ sudo niutil -destroy . /machines/www.ccm.net
No olvides de volver a cargar lookupd después de cada modificación (sudo killall -HUP lookupd)
PD: El
artículo original fue escrito por asevere, contribuidor de
CommentCaMarche