Mengapa tidak ada gunanya mengubah / etc / hosts

0

Inilah perintahnya:

[17:31:13 root etc]# cat /etc/hosts
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6
127.0.0.2   myweb.com
[17:31:25 root etc]# ping myweb.com
PING myweb.com (184.154.233.2) 56(84) bytes of data.
64 bytes from ns1.siteground278.com (184.154.233.2): icmp_seq=1 ttl=42 time=275 ms
64 bytes from ns1.siteground278.com (184.154.233.2): icmp_seq=2 ttl=42 time=273 ms
64 bytes from ns1.siteground278.com (184.154.233.2): icmp_seq=3 ttl=42 time=281 ms
^C
--- myweb.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 273.625/276.874/281.478/3.346 ms

ping myweb.com pada mesin tanpa networkmanager akan mendapatkan 127.0.0.2, tapi saya tidak yakin, ada yang punya ide tentang apa ini?

Saya menggunakan fedora 20.

dspjm
sumber
1
Kemungkinan, myweb.comsudah ada dalam cache klien resolver.
David Schwartz
@ Davidvidchchartz Sebagian besar distribusi Linux secara default menonaktifkan cache resolver. Namun, file host harus diprioritaskan.
Chris

Jawaban:

2

Periksa konfigurasi /etc/nsswitch.confdan cari hosts:

hosts:      files dns

Apakah itu terlihat seperti itu? Pada dasarnya baris ini memberi tahu sistem cara menyelesaikan nama host: secara default pada RHEL saya, nama hostnya lebih dulu dari server DNS.

Apakah Anda melakukan cache DNS? Biasanya Linux memiliki nscd (daemon to cache DNSes) dinonaktifkan secara default. Lagi pula, host jika dikonfigurasi dengan benar harus selalu diprioritaskan daripada DNS.

Chris
sumber
Ya, ini masalahnya, tapi siapa yang membersihkan nsswitch.conf? Saya melihat ada konten di mesin orang lain? Apakah Anda punya ide?
dspjm
Tidak mungkin bagi kami untuk menebak siapa yang telah membersihkan nsswitch.confuntuk Anda. Saya menduga bahwa distro Anda masih menggunakan file ini? Saya tidak terlalu akrab dengan Fedora terbaru.
Chris