Saya mengkompilasi kernel 3.14 saya sendiri. Saya khawatir saya mungkin telah meninggalkan beberapa fitur jaringan yang penting agar DNS berfungsi.
Saya tidak dapat menyelesaikan nama domain. Saya dapat melakukan ping ke server DNS saya. Saya bisa menyelesaikan menggunakan DNS itu di komputer lain jadi saya tahu itu bukan server.
~ # 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
Adakah ide yang saya tinggalkan? di sini adalah konfigurasi saya: http://pastebin.com/vt4vGTgJ
EDIT :
Jika bukan kernel, apa yang bisa saya lewatkan? Saya menggunakan busybox, ditautkan secara statis. tidak ada perpustakaan bersama di sistem ini.
dig @192.168.13.5 www.google.com
Anda mendapatkan informasi tambahan? Bisakah Anda melakukan kueri rekursif terhadap server DNS 192.168.13.5 dari komputer lain?nameserver 8.8.8.8
.Jawaban:
Masalahnya dengan busybox. Saya beralih ke versi yang dikompilasi dan tidak memiliki masalah. Saya perlu melihat opsi kompilasi dengannya. Terima kasih atas bantuan Anda.
https://gist.github.com/vsergeev/2391575 :
sumber
Saya mengalami masalah yang sama dan ternyata busybox pilih-pilih tentang format untuk resolv.conf. Pasti ada satu kosong antara tag server nama dan alamat agar nslookup berfungsi. Selain itu /etc/nsswitch.conf harus menyertakan dns untuk host.
[busybox master (git hash 349d72c19) sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabihf]
Ya pertanyaannya sudah lama, tetapi busybox saat ini masih berlaku seperti ini.
[Saya menggunakan xxd di bawah ini untuk menunjukkan jumlah kosong di resolv.conf]
Ini gagal:
dan ini bekerja:
sumber
Saya tidak yakin apakah ini masalah yang sama dengan yang saya alami atau tidak, tetapi saya baru-baru ini memutakhirkan dan sistem server DNS internal lama dari OpenBSD 3.8 ke 5.6, dan saya kehilangan kemampuan untuk menyelesaikan host dengan ping, tetapi perintah host bekerja. Ternyata saya harus menambahkan 127.0.0.1/8 ke direktif pertandingan-klien dalam nama selain 192.168.0.0/16 yang sudah saya miliki di sana, dan kemudian mulai berfungsi dengan baik setelah restart dinamai.
sumber
Saya memiliki masalah yang sama. Saya telah menggunakan buildroot untuk membangun sistem file, untuk mengkompilasi kernel dan untuk menambahkan paket tambahan dengan busybox.
Saya hanya bisa melakukan ping ke alamat ip. Dengan url perintah ping kembali:
bad address error
. Lalu saya mengubahresolv.conf
file.Dan semuanya bekerja dengan baik.
sumber
Saya mengatasi gejala yang sama dengan mengedit:
/etc/nsswitch.conf
dan menambahkan DNS ke baris berikut:sumber
sudo vim /etc/resolv.conf
untuk mengedit resolv.conf, pastikan alamat nameserver (serta kata kunci 'nameserver') dipisahkan oleh satu spasi, bukan koma, seperti di bawah ini:sumber