Saya mengalami masalah penyelesaian DNS yang memengaruhi kinerja situs web saya yang dihosting secara lokal saat menjelajahinya di mesin lokal saya. Jika saya melampirkan suffix DNS jaringan saya ke nama mesin lokal saya ketika saya pergi ke URL di browser saya, situs memiliki waktu muat yang mengerikan (100+ kali lebih lambat) daripada tanpa akhiran DNS.
Saya pikir saya bisa memperbaikinya dengan menggunakan file host saya untuk menghindari perlunya pencarian. Saya menambahkan entri ke file host saya seperti ini
127.0.0.1 myMachine.MyDnsSuffix
Tapi ini tidak mengubah waktu pemuatan, bahkan setelah reboot. Meskipun tidak penting untuk menyelesaikan masalah khusus ini, saya benar-benar ingin tahu mengapa ini terjadi.
Juga, ketika saya menjalankan nslookup di domain myMachine.MyDnsSuffix
, saya perhatikan itu menggunakan server DNS jaringan saya untuk menemukan IP. Mungkinkah ini terkait dengan masalah saya atau apakah saya hanya salah memahami cara kerja nslookup?
sumber
nslookup
. Saya baru saja mencoba pingmyMachine.MyDnsSuffix
dan diselesaikan ke IP saya di jaringan, tidak127.0.0.1
seperti yang ditentukan dalam file HOSTS saya.ipconfig /flushdns
. Dan NetBIOS-cache juga:nbtstat -R
. (Case sensitif di windows - WTF, mengapa?!?)Pencarian DNS tidak menggunakan file host. Pernah.
sumber
gethostbyname()
dapat pergi melalui file host, atau melalui DNS, tetapi pencarian khusus DNS (seperti yang dilakukan olehnslookup
) tidak akan menggunakan file host.OK, pendekatan baru. Biarkan Anda menghapus cache IP dan NETBIOS Anda.
ipconfig /flushdns
dannbtstat -R
. Kemudian jalankan sniffer paket seperti Wireshark, dan lakukan ping saat sedang berjalan.Dari paket capture, kami ingin melihat apakah A) Ada permintaan DNS yang keluar, dan jika demikian, nama apa yang diminta. B) Jika ada permintaan NETBIOS keluar. Mungkin saja nama ini diselesaikan melalui NETBIOS dan bukan DNS yang tepat.
Jika kami tidak melihat salah satu di atas meskipun Anda membersihkan cache, kemungkinan nama tersebut ditarik dari host atau lmhosts.
sumber
Beberapa orang di forum web mengklaim bahwa membuat file host baru dan memulai kembali layanan klien DNS memperbaiki masalah, tetapi saya tidak yakin mengapa itu akan berhasil jika Anda sudah mencoba me-reboot.
Saya menyadari ini adalah sebuah kesimpulan panjang, tetapi tidak ada kata-kata yang berhubungan dengan Microsoft seperti MSDN, Microsoft, atau MSN dalam entri file host, bukan? Microsoft telah menulis dnsapi.dll untuk mengabaikan entri file hosts yang cocok dengan nama-nama tertentu. Sebagai contoh, jika saya menambahkan entri berikut, Windows melewatkannya dan menyelesaikan kedua nama host di entri menggunakan DNS:
sumber
HOSTS
file tersebut, tetapi bahkan domain non-MS akan diabaikan jika berbagi entri dengan domain MS? Itu hanya pemrograman yang buruk di pihak mereka. Ini jelas sesuatu yang harus diwaspadai jika “memperkecil” suatuHOSTS
file.Saat menggunakan nama DNS lengkap browser Anda mencoba untuk pergi melalui server proxy Anda - klik untuk IE .
File host atau urutan resolusi nama tidak ada hubungannya dengan masalah ini, dan luka bernanah di bagian belakang umat manusia yaitu file host harus diambil kembali dan ditembak dengan berisik.
sumber
http://geekswithblogs.net/JanS/archive/2009/06/17/beware-of-spacing-in-windows7-hosts-file.aspx
Ini tampaknya menjadi penyebab sebenarnya. Serahkan pada Microsoft untuk tiba-tiba dan tanpa peringatan mengabaikan konvensi berusia 25 tahun.
sumber
http://www.tweaksforgeeks.com/windows7/2011/02/windows-7-hosts-file-ignored <- Bekerja untuk saya!
sumber