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