GNU/Linux >> Linux Esercitazione >  >> Linux

L'IP del ping di Busybox funziona, ma il nome host nslookup non riesce con un indirizzo errato

Il problema è con busybox. Sono passato a una versione precompilata e non ho avuto problemi. Ho bisogno di esaminare le opzioni di compilazione con esso. Grazie per il tuo aiuto.

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

Esistono problemi noti con la funzionalità DNS nei programmi glibc collegati staticamente (come busybox in questo caso), poiché libnss deve essere caricato dinamicamente. La creazione di una toolchain uClibc e il collegamento di busybox a ciò risolverebbe il problema.


Mi sono imbattuto nello stesso problema e si scopre che busybox è schizzinoso riguardo al formato di resolv.conf. Deve esserci esattamente uno spazio vuoto tra il tag del server dei nomi e l'indirizzo affinché nslookup funzioni. Inoltre /etc/nsswitch.conf deve includere dns per l'host.

[ busybox master (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 

Sì, la domanda è vecchia, ma l'attuale busybox si comporta ancora in questo modo.

[ Ho usato xxd qui sotto per mostrare il numero di spazi vuoti in resolv.conf ]

Questo fallisce:

[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'

e funziona:

[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. Diagnostica i problemi di connettività con il comando ping di Linux

  2. Configurazione dell'interfaccia di rete con indirizzo IP statico su RHEL 7

  3. comando sed con l'opzione -i non riuscita su Mac, ma funziona su Linux

  4. Errore:indirizzo già in uso durante l'associazione del socket con l'indirizzo ma il numero di porta è mostrato libero da `netstat`

  5. Esegui lo script con rc.local:lo script funziona, ma non all'avvio

Comando IP Linux con esempi di utilizzo

Il comando nslookup Linux spiegato con esempi

Come funziona il programma ping in Linux

Indirizzo IP statico con NetworkManager per Fedora

Può eseguire il ping/ssh attraverso la LAN ma non con il Wi-Fi

Perché il mio nome host appare con l'indirizzo 127.0.1.1 anziché 127.0.0.1 in /etc/hosts?