Estoy compilando mi propio kernel 3.14. Temo haber dejado de lado alguna característica importante de la red para que DNS funcione.
No puedo resolver nombres de dominio. Puedo hacer ping a mi servidor DNS. Puedo resolver el uso de ese DNS en otras máquinas, así que sé que no es el servidor.
~ # cat /etc/resolv.conf
nameserver 192.168.13.5
~ # nslookup google.com
Server: 192.168.13.5
Address 1: 192.168.13.5
nslookup: can't resolve 'google.com'
~ # ping -c 1 google.com
ping: bad address 'google.com'
~ # ping -c 1 192.168.13.5
PING 192.168.13.5 (192.168.13.5): 56 data bytes
64 bytes from 192.168.13.5: seq=0 ttl=128 time=0.382 ms
--- 192.168.13.5 ping ststistics ---
1 packets transmitted, 1 packets recieved, 0% packet loss
reound-trip min/avg/max = 0.382/0.382/0.382 ms
¿Alguna idea de lo que dejé fuera? Aquí está mi configuración: http://pastebin.com/vt4vGTgJ
EDITAR :
Si no es el núcleo, ¿qué me podría perder? Estoy usando busybox, estáticamente vinculado. No hay bibliotecas compartidas en este sistema.
dig @192.168.13.5 www.google.com
obtienes información adicional? ¿Puede realizar consultas recursivas en su servidor DNS 192.168.13.5 desde otras máquinas?nameserver 8.8.8.8
.Respuestas:
El problema es con busybox. Cambié a una versión precompilada y no tuve problemas. Necesito analizar las opciones de compilación con él. Gracias por tu ayuda.
https://gist.github.com/vsergeev/2391575 :
fuente
Me encontré con el mismo problema y resulta que busybox es exigente con el formato para resolv.conf. Debe haber exactamente un espacio en blanco entre la etiqueta del servidor de nombres y la dirección para que nslookup funcione. Además /etc/nsswitch.conf tiene que incluir dns para el host.
[busybox master (git hash 349d72c19) sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabihf]
Sí, la pregunta es antigua, pero el busybox actual todavía se comporta de esta manera.
[Usé xxd a continuación para mostrar el número de espacios en blanco en resolv.conf]
Esto falla:
y esto funciona:
fuente
No estoy seguro de si este es el mismo problema que tuve o no, pero recientemente actualicé un viejo sistema de servidor DNS interno de OpenBSD 3.8 a 5.6, y perdí la capacidad de resolver hosts con ping, pero el comando de host funcionaba. Resultó que tuve que agregar 127.0.0.1/8 a la directiva match-clients en named además del 192.168.0.0/16 que ya tenía allí, y luego comenzó a funcionar correctamente después de reiniciar named.
fuente
Yo tuve el mismo problema. He usado buildroot para construir el sistema de archivos, compilar el kernel y agregar paquetes adicionales con busybox.
Solo pude hacer ping a una dirección IP. Con url el comando ping regresó:
bad address error
. Luego cambié elresolv.conf
archivo.Y todo funcionó bien.
fuente
Resolví los mismos síntomas editando:
/etc/nsswitch.conf
y agregando DNS a la siguiente línea:fuente
sudo vim /etc/resolv.conf
para editar resolv.conf, asegúrese de que las direcciones del servidor de nombres (así como la palabra clave 'nameserver') estén separadas por un solo espacio, no una coma, como a continuación:fuente