Un poco atrapado aquí.
Tengo 2 máquinas que no pueden resolver nombres de host LAN, a menos que haya entradas específicas en / etc / hosts
Pero otras máquinas en la LAN pueden resolver nombres de host.
Mi LAN:
- 1 x router Cisco que ejecuta DD-WRT v24-sp2 con DNSMasq habilitado. Lo configuré con los nombres de host e IP en mi LAN.
- 1 x Kubuntu 12.10 (resuelve todos los nombres de host correctamente siempre que se ingresen en DNSMasq en el enrutador)
2 x NAS (también resuelve todos los nombres correctamente)
1 x Ubuntu Server 12.04 (esto NO resuelve los nombres de host locales a menos que se ingresen en / etc / hosts)
- 1 x XBMCLive (Dharma) (lo mismo, no se resuelve a menos que las entradas estén en / etc / hosts)
¿Cómo obtengo los últimos 2 para usar las entradas DNSMasq en el enrutador? Cada máquina está configurada para usar el enrutador como servidor de nombres, y todas las unidades resuelven las direcciones externas correctamente.
Gracias.
algo más de información:
mientras estoy en el servidor, si hago ping a otra PC (wstation)
$ ping wstation
PING wstation.local.domain (x.x.x.x)
Si luego agrego .local
$ ping wstation.local
PING wstation.local.local.domain (x.x.x.x)
y directamente
$ ping 10.0.0.4
PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_req=1 ttl=64 time=0.387 ms
64 bytes from 10.0.0.4: icmp_req=2 ttl=64 time=0.316 ms
64 bytes from 10.0.0.4: icmp_req=3 ttl=64 time=0.312 ms
64 bytes from 10.0.0.4: icmp_req=4 ttl=64 time=0.280 ms
64 bytes from 10.0.0.4: icmp_req=5 ttl=64 time=0.322 ms
^C
--- 10.0.0.4 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.280/0.323/0.387/0.038 ms
Respuestas:
Sobre su salida actual
Indica claramente que su PC está agregando consultas
.local.domain
que no son FQDN. Esto es algo configurado incorrectamente o al menos mal en su configuración. (a menos que realmente use el.local.domain
sufijo a propósito)Resolución de nombres y períodos
Una cosa importante que mucha gente no sabe es que un nombre completo siempre debe terminar con un punto (
.
). Si lo omite, la máquina intentará resolverlo dentro del dominio de búsqueda local (por ejemplo, mydomain.tld). Entonces, en ese caso,mypc.local
se haría una consulta paramypc.local.mydomain.tld
. Para evitar esto, consulte con el punto.Configuración de resolución
La configuración del resolutor es de gran importancia aquí. En Ubuntu (y Debian) esto se configura en el archivo
/etc/network/interfaces
(suponiendo que no esté ejecutando NetworkManager):La resolución de nombres en Linux también se puede lograr de otras maneras. No se trata solo de que el servidor DNS local esté siendo consultado por todo esto. Eche un vistazo a su
/etc/nsswitch.conf
archivo para lahosts
configuración de resolución:Esto significa que los archivos se prueban primero (este es el
/etc/hosts
archivo), luego mDNS y solo más tarde se consulta el servidor DNS real. mDNS se implementa utilizando Avahi en Linux y se llama Bonjour en dispositivos Apple. Utiliza el.local
sufijo de forma predeterminada y funciona a través de mensajes de difusión. Al igual que ARP funciona, pero luego para DNS.Todos estos sistemas pueden ser muy confusos e incluso más cuando se usan
.local
en una configuración de DNS normal combinada con dispositivos mDNS. Supongo que es por eso que ahora estás confundido sobre por qué un dispositivo funciona y el otro no: no todos están usando el mismo método de resolución.Para arreglar las cosas
.local
menos que quiera confiar completamente en mDNS. Según su pregunta, entiendo que le gustaría mantener las cosas configuradas usted mismo en un lugar central, por lo que mi enfoque aquí es evitarlo.my.home
. Para dnsmasq, esta es una configuración única, pero en las configuraciones regulares se debe configurar tanto en el servidor DNS como en el servidor DHCP (como se anuncia a través de DHCP)./etc/resolv.conf
en caso de que haya jugado con ella en el pasado.Configure las PC en su red para usarlas
my.home
como el dominio de búsqueda local. Esto se puede hacer a través de DHCP automáticamente, o si se usan direcciones estáticas a través del/etc/network/interfaces
archivo o en Network Manager:ping hostname
) como el nombre completo (ping hostname.my.home
) deberían funcionar.fuente
files mdns4_minimal [NOTFOUND=return] dns mdns4
. Ahora todo se comporta más como lo esperaba con mis máquinas dirigidas host.foo.local (mal nombradas). Antes de este cambioping hostname
funcionaría peroping hostname.foo.local
estaba fallando. Me estaba confundiendo mucho cuandodig hostname
estaba fallando ydig hostname.foo.local
estaba devolviendo un resultado, lo contrario de lo que esperaba. Ahora puedo hacer ping a los FQDN como esperaba. ¿Hay un inconveniente en tener el orden establecido de esta manera?Basado en la respuesta de gertvdijk acabo de comentar la línea en nsswitch.conf
fuente
Tengo problemas similares con un / etc / hosts que contiene múltiples espacios entre IP y nombre de host, en lugar de usar una TAB. Después de cambiar a TAB, el nombre de host podría resolverse haciendo ping.
ver también en /superuser//a/938366/467479
fuente