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