GNU/Linux >> Linux の 問題 >  >> Linux

Busybox ping IP は機能するが、ホスト名 nslookup が不正なアドレスで失敗する

問題はビジーボックスにあります。プリコンパイル済みバージョンに切り替えましたが、問題はありませんでした。それを使用してコンパイルオプションを調べる必要があります。助けてくれてありがとう。

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

<ブロック引用>

libnss を動的にロードする必要があるため、静的にリンクされた glibc プログラム (この場合は busybox など) の DNS 機能には既知の問題があります。 uClibc ツールチェーンを構築し、それに対して busybox をリンクすると、これが解決します。


私は同じ問題に遭遇し、busybox が resolv.conf のフォーマットにうるさいことがわかりました。 nslookup が機能するには、nameserver タグとアドレスの間に空白が 1 つ必要です。さらに、/etc/nsswitch.conf にはホストの dns を含める必要があります。

[busybox マスター (git ハッシュ 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 

はい、質問は古いですが、現在のビジーボックスはまだこのように動作します.

[以下の xxd を使用して、resolv.conf の空白の数を表示しました]

これは失敗します:

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

これは機能します:

[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. Linuxのpingコマンドで接続の問題を診断する

  2. RHEL7で静的IPアドレスを使用してネットワークインターフェイスを構成する

  3. -i オプションを指定した sed コマンドは Mac では失敗するが、Linux では機能する

  1. rc.local でスクリプトを実行します:スクリプトは機能しますが、起動時には機能しません

  2. Postgres は localhost を許可していませんが、127.0.0.1 で動作します

  3. VMWare Fusion Linux ゲストをホスト名でアドレス指定しますか?

  1. nslookupLinuxコマンドの例

  2. LinuxのPingコマンドを例で説明

  3. address:port に対して ping を実行できますか?