Tengo una caja de escritorio de Ubuntu casi nueva. El sistema operativo se instaló hace dos semanas y se actualizó desde los repositorios kármicos. La semana pasada no tuve problemas con DNS. Pero esta semana algo había cambiado. No estoy seguro de qué y cuándo, y no estoy seguro de si cambié alguna configuración.
Así que ahora tengo una situación realmente extraña. Según los registros, la resolución de nombres debería funcionar normalmente.
/ etc / hosts
127.0.0.1   localhost test
127.0.1.1   desktop
/etc/host.conf
order hosts,bind
multi on
/etc/resolv.conf
# Generated by NetworkManager
search search servers obtained via DHCP
nameserver 192.168.0.3
/etc/nsswitch.conf
passwd:         compat
group:          compat
shadow:         compat
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis
Pero de hecho no lo es.
usuario @ prueba ~> prueba de ping
PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]
Hacer ping está bien.
usuario @ prueba ~> prueba de host
test.mydomain.com has address xx.xxx.161.201
Sospecho que NetworkManager podría causar este mal comportamiento, pero no sé por dónde comenzar a verificarlo. ¿Alguna idea, sugerencia?
fuente

hostutilidad no usa/etc/hosts? ¿Y no hay nada que arreglar en mi caso?host> solía ser <el comando de consulta de nombre "regular", obedeciendo/etc/nsswitch.confhostalguna vez lo hicieronEl
hostcomando (junto condigynslookup) es parte de lasbindutilidades de DNS. Como una utilidad de resolución de DNS, solo hace la resolución de DNS.Si está interesado en obtener una entrada de cualquier
libnssalmacén de datos controlado, puede usar elgetentprograma. Para obtener una entrada de hosts, por ejemplo, úsela así:Esto sigue el orden de resolución que figura bajo
hosts:en/etc/nsswitch.conffin, lo que incluye/etc/hostssi "archivos" se lised como una de las opciones.fuente
getentcomando.getent ahostslugar degetent hostsporquegetent hostsusagethostbyaddr()ogethostbyname*()que son obsoletos. Si he entendido correctamente,getent hostsemula cómo funcionaban los antiguos programas UNIX C ygetent ahostsemula la forma en que deberían funcionar los programas modernos.Para mí, este problema se produjo debido a permisos de archivo incorrectos. Solo root puede leer / etc / hosts. El archivo debe ser legible en todo el mundo.
fuente