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
host
utilidad 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.conf
host
alguna vez lo hicieronEl
host
comando (junto condig
ynslookup
) es parte de lasbind
utilidades 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
libnss
almacén de datos controlado, puede usar elgetent
programa. Para obtener una entrada de hosts, por ejemplo, úsela así:Esto sigue el orden de resolución que figura bajo
hosts:
en/etc/nsswitch.conf
fin, lo que incluye/etc/hosts
si "archivos" se lised como una de las opciones.fuente
getent
comando.getent ahosts
lugar degetent hosts
porquegetent hosts
usagethostbyaddr()
ogethostbyname*()
que son obsoletos. Si he entendido correctamente,getent hosts
emula cómo funcionaban los antiguos programas UNIX C ygetent ahosts
emula 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