Tengo un servidor Ubuntu 12.04 (amd64 ) máquina en la que, cuando cambio /etc/hosts , los cambios no se recogen, incluso después de reiniciar. estoy usando /usr/bin/host para probar, pero ninguno de los otros programas parece detectarlo tampoco.
Este es un servidor y nscd y dnsmasq no están instalados. Además, el archivo /etc/nsswitch.conf contiene la línea:
hosts: files dns
así que esperaría que funcionara. También verifiqué que el mtime del archivo cambia con la edición e intenté ejecutar service networking restart (contra todo pronóstico) y también resolvconf -u .
Todos los comandos donde se ejecutan como root donde sea necesario La máquina tiene la red configurada manualmente en /etc/network/interfaces y no a través de Network Manager (tampoco está instalado).
Básicamente, lo que quiero lograr es que se pueda manipular la IP de algunos hosts. El motivo es que dentro de nuestra red obtengo una IP a la que no tengo ruta, pero puedo usar la IP externa para ese servicio a través de HTTPS.
¿Qué me estoy perdiendo?
nameserver líneas en /etc/resolv.conf (y las líneas respectivas en interfaces ) apunta al servidor DNS que me da la IP incorrecta.
También tenga en cuenta: Busqué en la web y leí las "preguntas similares", pero mi caso no parece estar cubierto.
/etc/host.conf es:
# The "order" line is only used by old versions of the C library.
order hosts,bind
multi on
Respuesta aceptada:
El comando host no comprueba el archivo de hosts. Desde la página de manual:
host is a simple utility for performing DNS lookups.
Si desea probar las búsquedas respetando el archivo de hosts, utilice ping o getent.
$ tail -1 /etc/hosts
127.0.0.1 google.com
$ ping -c1 google.com | head -1
PING google.com (127.0.0.1) 56(84) bytes of data.
$ getent ahosts google.com
127.0.0.1 STREAM google.com
127.0.0.1 DGRAM
127.0.0.1 RAW