DNS tidak dapat menyelesaikan nama host; nslookup bisa

9

Saya memiliki pengguna di Windows 7 yang mencoba mengakses server lokal dengan nama DNS windows.cs. Kami memiliki dua server DNS internal. Server DHCP memberikan pengguna dua server DNS internal sebagai primer dan sekunder dan kemudian DNS ISP kami sebagai server DNS tersier.

Sesekali, pengguna tidak dapat mengakses situs web di windows.cs. Jika saya ping, dikatakan tidak bisa menyelesaikan nama host. Saya membersihkan cache DNS, dan kemudian ketika saya menampilkan cache dns ia memiliki yang berikut:

windows.cs - Nama tidak ada

Namun jika saya menggunakan nslookup, yang secara default menanyakan server DNS primer (server internal kami) dan saya meminta windows.cs, ia mengembalikan alamat IP yang benar.

Jadi mengapa Windows tidak bisa menyelesaikan nama host menggunakan ping, tetapi bisa ketika menggunakan alat nslookup? Dan bagaimana cara memperbaikinya?

Safado
sumber
1
+1, saya sering mengalami masalah ini ... bahkan dengan nama host yang saya gunakan 5 menit yang lalu!
Brad

Jawaban:

12

Tampaknya dari apa yang Anda katakan bahwa permintaan untuk windows.cs pergi ke server DNS ISP sekarang dan lagi. Hasil nxdomain kemudian di-cache oleh klien DNS Windows, dan dengan demikian digunakan untuk setiap percobaan ulang dengan browser web, ping dll. Menghapus cache (ipconfig / flushdns) harus memaksa klien Windows DNS untuk mencoba kembali permintaan, tetapi tidak ada jaminan tidak akan pergi ke server DNS ISP lagi.

Alasan ping tidak bisa menyelesaikan nama host tetapi nslookup bisa karena nslookup alat tingkat rendah yang mem-bypass klien Windows DNS. Ia menggunakan server DNS apa pun yang Anda beri tahu (yang pertama secara default), dan melakukan kueri dengan cepat. Anda dapat mengubah server DNS yang server <host>diminta dengan mengetik dari prompt nslookup, di mana host adalah IP atau FQDN.

Namun, klien Windows DNS hanya akan melakukan kueri untuk entri yang tidak ada dalam cache (atau telah kedaluwarsa). Kalau tidak, ia mengembalikan hasil cache.

Tidak segera jelas mengapa klien Windows menggunakan server DNS ISP. Mungkin tidak dapat menyelesaikan server lokal baru-baru ini (mungkin karena berada di jaringan lain), mungkin server lokal mengembalikan kesalahan. Atau, mungkin itu tidak dipesan dengan benar di bawah pengaturan TCP / IP Lanjut> DNS.

Secara pribadi saya lebih suka menggunakan alamat server DNS lokal pada workstation (diperbanyak oleh DHCP), untuk menyederhanakan konfigurasi dan menghindari masalah seperti ini. Saya ingin tahu tentang alasan di balik pengaturan server DNS ISP di desktop. Saya tidak bisa membayangkan ada alasan kinerja yang valid, dan sejauh redundansi dua sudah cukup pada sebagian besar jaringan (jika tidak menambahkan ketiga).

Alex Forbes
sumber
Anda mengemukakan poin yang bagus. Tidak ada alasan khusus mengapa kami memiliki server DHCP yang menetapkannya sebagai tersier. Dan itu sepertinya penjelasan yang masuk akal untuk mengapa itu tidak menyelesaikan (tapi mengapa itu pergi ke server DNS ke-3 ?? siapa tahu ..). Terima kasih untuk arahannya. Saya akan menghapus server DNS publik dari server DNS yang ditugaskan yang diberikan melalui DHCP dan melihat apakah menyelesaikan masalah. Server DNS internal harus meneruskan kueri yang tidak dapat mereka jawab ke server DNS itu, jadi seharusnya tidak menjadi masalah.
Safado
Pembaruan: Ini sepertinya telah memperbaiki masalah kami. Terima kasih untuk sarannya!
Safado
0

Hasil nslookupberbeda dari pingkarena nslookupkeunikan dan bug . Mereka tidak benar-benar relevan dengan masalah utama Anda, bagaimanapun, yaitu bahwa Anda telah melanggar aturan bahwa server DNS proxy cadangan harus memberikan tampilan yang sama dari ruang nama DNS dengan yang utama Anda . Proksi DNS server ISP Anda tidak memberikan tampilan yang sama dari namespace DNS sebagai server DNS proksi Anda sendiri di LAN Anda.

Tampaknya administrator sistem lain telah melakukan kesalahan pada ISP saya yang menyediakan dan mendokumentasikannya, jadi saya harus menggunakannya. kekeliruan. ☺

JdeBP
sumber
Jadi dalam istilah awam, Anda mengatakan tidak menetapkan server DNS untuk pengguna saya kecuali saya tahu bahwa server DNS itu memiliki informasi yang sama? Tautan Anda tidak berfungsi.
Safado
0

TL; Versi DR: IPv6 menyebabkan masalah permintaan DNS dalam kasus saya, menonaktifkannya memecahkan masalah permintaan DNS.

Saya memiliki masalah yang sama pada mesin pengembangan saya. Setiap kali saya masuk ke jaringan perusahaan kami, saya tidak dapat menyelesaikan nama host internal, semua nama host eksternal / URI dapat diselesaikan. Saya memang memeriksa server DNS yang telah ditetapkan pada koneksi VPN dan mereka menunjukkan server DNS perusahaan dikonfigurasi sebagai primer dan sekunder. Saya juga bisa menggunakan nslookuptetapi harus secara manual mengubah server via server X.X.X.Xuntuk mendapatkan resolusi DNS.

Pada akhirnya saya menemukan bahwa IPv6 menyebabkan masalah dengan resolusi nama: pada setiap permintaan DNS, DNS IPv6 dipertanyakan daripada server DNS perusahaan IPv4. Setelah menonaktifkan IPv6, Anda harus ipconfig /flushdnsalamat yang sebelumnya ditanyakan mungkin masih belum diselesaikan.

SaschaM78
sumber
0

Saya bisa menyelesaikan masalah sederhana dengan menghapus catatan DNS dan menjalankan perintah flushdns dan registerdns dan itu memperbaikinya. alasan mengapa agein pada DNS itu sendiri. DNS tidak menghapus catatan setelah masa sewa berakhir dan tidak diperpanjang yang tidak dapat menyelesaikan nama karena sudah siap untuk itu. Saya harap ini membantu Anda memperbaiki masalah Anda.

Mohamed
sumber