GNU/Linux >> Tutoriels Linux >  >> Linux

Busybox ping IP fonctionne, mais le nom d'hôte nslookup échoue avec une mauvaise adresse

Le problème vient de la busybox. Je suis passé à une version précompilée et je n'ai pas eu de problèmes. Je dois examiner les options de compilation avec. Merci pour votre aide.

https://gist.github.com/vsergeev/2391575 :

Il existe des problèmes connus avec la fonctionnalité DNS dans les programmes glibc liés statiquement (comme busybox dans ce cas), car libnss doit être chargé dynamiquement. Construire une chaîne d'outils uClibc et lier la boîte occupée à cela résoudrait ce problème.


J'ai rencontré le même problème et il s'avère que busybox est pointilleux sur le format de resolv.conf. Il doit y avoir exactement un blanc entre la balise du serveur de noms et l'adresse pour que nslookup fonctionne. De plus, /etc/nsswitch.conf doit inclure le dns pour l'hôte.

[ maître busybox (git hash 349d72c19)sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabihf]

[email protected]:~# cat /etc/nsswitch.conf 
passwd:    files compat
shadow:    files compat
hosts:    files dns compat 

Oui, la question est ancienne, mais la busybox 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 :

[email protected]:~# xxd /etc/resolv.conf
00000000: 6e61 6d65 7365 7276 6572 2020 382e 382e  nameserver  8.8.
00000010: 382e 380a                                8.8.
[email protected]:~# nslookup  www.cnn.com 
nslookup: bad address ' 8.8.8.8'

et ça marche :

[email protected]:~# xxd /etc/resolv.conf
00000000: 6e61 6d65 7365 7276 6572 2038 2e38 2e38  nameserver 8.8.8
00000010: 2e38 0a                                  .8.
[email protected]:~# nslookup  www.cnn.com                
Server:     8.8.8.8
Address:    8.8.8.8:53

Non-authoritative answer:
www.cnn.com canonical name = turner-tls.map.fastly.net
Name:   turner-tls.map.fastly.net
Address: 151.101.1.67
Name:   turner-tls.map.fastly.net
Address: 151.101.65.67
Name:   turner-tls.map.fastly.net
Address: 151.101.129.67
Name:   turner-tls.map.fastly.net
Address: 151.101.193.67

Non-authoritative answer:
www.cnn.com canonical name = turner-tls.map.fastly.net
Name:   turner-tls.map.fastly.net
Address: 2a04:4e42::323
Name:   turner-tls.map.fastly.net
Address: 2a04:4e42:200::323
Name:   turner-tls.map.fastly.net
Address: 2a04:4e42:400::323
Name:   turner-tls.map.fastly.net
Address: 2a04:4e42:600::323

Linux
  1. Diagnostiquer les problèmes de connectivité avec la commande Linux ping

  2. Configuration de l'interface réseau avec une adresse IP statique sur RHEL 7

  3. La commande Linux Ping expliquée avec des exemples

  4. La commande sed avec l'option -i échoue sur Mac, mais fonctionne sur Linux

  5. Erreur :Adresse déjà utilisée lors de la liaison du socket avec l'adresse, mais le numéro de port est affiché libre par `netstat`

Commande IP Linux avec exemples d'utilisation

Comment fonctionne le programme ping sous Linux

Adresse IP statique avec NetworkManager pour Fedora

Peut ping/ssh via LAN mais pas avec Wi-Fi

Remplacer l'adresse MAC par UUID

Pourquoi mon nom d'hôte apparaît-il avec l'adresse 127.0.1.1 plutôt que 127.0.0.1 dans /etc/hosts ?