Je compile mon propre noyau 3.14. Je crains d'avoir omis une fonctionnalité de réseau importante pour faire fonctionner DNS.
Je ne parviens pas à résoudre les noms de domaine. Je peux envoyer une requête ping à mon serveur DNS. Je peux résoudre l'utilisation de ce DNS sur d'autres machines, donc je sais que ce n'est pas le serveur.
~ # 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
Des idées sur ce que j'ai oublié? voici ma config: http://pastebin.com/vt4vGTgJ
MODIFIER :
Si ce n'est pas le noyau, que pourrais-je manquer? J'utilise busybox, lié statiquement. il n'y a pas de bibliothèques partagées dans ce système.
dig @192.168.13.5 www.google.com
vous obtenez des informations supplémentaires? Pouvez-vous effectuer des requêtes récursives sur votre serveur DNS 192.168.13.5 à partir d'autres machines?nameserver 8.8.8.8
.Réponses:
Le problème est avec busybox. Je suis passé à une version précompilée et je n'ai eu aucun problème. J'ai besoin d'examiner les options de compilation avec. Merci de votre aide.
https://gist.github.com/vsergeev/2391575 :
la source
J'ai rencontré le même problème et il se trouve que busybox est difficile sur le format de resolv.conf. Il doit y avoir exactement un espace vide entre la balise nameserver et l'adresse pour que nslookup fonctionne. De plus, /etc/nsswitch.conf doit inclure le DNS pour l'hôte.
[busybox master (git hash 349d72c19) sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabihf]
Oui, la question est ancienne, mais la boîte occupée actuelle se comporte toujours de cette façon.
[J'ai utilisé xxd ci-dessous pour afficher le nombre de blancs dans resolv.conf]
Cela échoue:
et cela fonctionne:
la source
Je ne sais pas si c'est le même problème que j'ai eu ou non, mais j'ai récemment mis à niveau et l'ancien système de serveur DNS interne d'OpenBSD 3.8 à 5.6, et j'ai perdu la capacité de résoudre les hôtes avec ping, mais la commande hôte fonctionnait. Il s'est avéré que j'ai dû ajouter 127.0.0.1/8 à la directive match-clients nommée en plus du 192.168.0.0/16 que j'avais déjà là-bas, puis cela a commencé à fonctionner correctement après le redémarrage de named.
la source
J'ai eu le même problème. J'ai utilisé buildroot pour construire le système de fichiers, compiler le noyau et ajouter des packages supplémentaires avec busybox.
Je n'ai pu cingler qu'une adresse IP. Avec url la commande ping retourné:
bad address error
. Ensuite, j'ai changé leresolv.conf
fichier.Et tout a bien fonctionné.
la source
J'ai résolu les mêmes problèmes en modifiant:
/etc/nsswitch.conf
et en ajoutant DNS à la ligne suivante:la source
sudo vim /etc/resolv.conf
pour éditer resolv.conf, assurez-vous que les adresses des serveurs de noms (ainsi que le mot clé 'nameserver') sont séparés par un seul espace, pas une virgule, comme ci-dessous:la source