Saya memiliki beberapa domain lokal yang diselesaikan 127.0.0.1
dalam /etc/hosts
file saya . Dan itu semua baik-baik saja untuk jangka waktu tertentu tetapi sekarang ketika saya berlari:
nslookup test.local
Ini menghasilkan:
Server: 192.168.1.3
Address: 192.168.1.3#53
** server can't find test.local: NXDOMAIN
Ini 192.168.1.3
adalah DNS jaringan kami dan tidak seharusnya mengetahui domain lokal saya test.local
. Setelah beberapa pencarian, saya menemukan /etc/nsswitch.conf
file itu menyimpan informasi tentang prioritas sumber DNS untuk di-query. Tapi tidak ada masalah di sana! Ini milik saya:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Jadi, adakah yang tahu mengapa hosts
file saya tidak termasuk dalam pencarian DNS?
ping
seseorang harus menggunakangetent ahosts
karena itu tidak memerlukan semua barang ekstra yangping
dimilikinya.Saya kira Anda menginginkan resolusi nama dari
/etc/hosts
file untuk host tertentu (mysite.com).Masalah umum lain yang dapat menyebabkan perilaku ini adalah bahwa Anda mungkin memiliki banyak entri pada
/etc/hosts
file untuk IP yang sama, contoh:Dalam beberapa implementasi, ini dapat menyebabkan resolusi nama untuk diserahkan ke DNS. Perbaikan cepat, kelompokkan semuanya dalam 1 baris
sumber
Hal umum lainnya yang saya lihat adalah ketika seseorang (biasanya saya) membalikkan alamat IP dengan nama host di
/etc/hosts
- misalnya:Sekilas, kelihatannya normal ... Ini solusi saya sekitar 50% dari waktu:
sumber