Perilaku yang diharapkan dengan entri file host NT duplikat?

12

Saya tahu bahwa Anda seharusnya tidak memiliki entri duplikat di file host Windows NT Anda windows\system32\drivers\etc\hosts, tetapi apa perilaku yang diharapkan jika Anda memilikinya?

Anda dapat memiliki beberapa entri dengan nama host yang sama tetapi alamat berbeda di file host Windows NT ( windows\system32\drivers\etc\hosts). Saat Anda mengakses host itu di jaringan, sistem DNS Windows akan menyelesaikannya ke salah satu entri itu. Bagaimana saya bisa tahu entri mana yang akan digunakan?

Misalnya:

127.0.0.1    mydomain.com
192.168.1.1  mydomain.com

Sunting : Contoh khusus ini tampaknya memaksa perilaku khusus. Pengulangan tampaknya mengabaikan entri apa pun, apa pun urutannya.

Atau:

192.168.1.2  mydomain.com
192.168.1.1  mydomain.com

Saya melihat entri pertama dalam daftar diutamakan.

Tetapi, apakah perilaku yang saya lihat dijamin, apakah itu versi spesifik, atau umumnya tidak dapat diandalkan?

Alasan saya bertanya adalah karena saya menulis beberapa skrip untuk menangani host, dan saya mencoba mencari tahu apakah saya dapat dengan andal memilih salah satu dari mereka untuk menghapus / berkomentar, dan berharap tidak ada dampak pada sistem pengguna.

Merlyn Morgan-Graham
sumber
Hanya memperhatikan bahwa 127.0.0.1tampaknya memaksa perilaku khusus. Saya mengedit pertanyaan untuk bertanya tentang berbagai skenario ...
Merlyn Morgan-Graham
Siapa bilang bahwa seseorang tidak dapat memiliki banyak entri dengan nama domain yang sama dan alamat IP yang berbeda? Jelas bukan Microsoft. Ini hal yang sangat sah menurut Microsoft.
JdeBP
@ JdeBP: Saya tahu ini berbatasan dengan pertanyaan kedua, tetapi jika sebuah host multi-homed, apa artinya itu, dan bagaimana itu berguna bagi saya? Jika saya ping, saya hanya akan mendapatkan satu alamat. Sama jika saya mencoba terminal-melayani untuk itu. BTW, tautan Anda cukup berguna bagi saya, karena mendukung perilaku yang saya jelaskan dalam pertanyaan saya. Anda harus menulis jawaban :)
Merlyn Morgan-Graham
Mencoba mengedit pertanyaan agar kurang akurat, berdasarkan komentar JdeBP.
Merlyn Morgan-Graham

Jawaban:

5

Hanya yang pertama yang akan dibaca. Setelah nama telah diselesaikan, tidak ada lagi pembacaan file.

Abraxas
sumber
Satu: Anda membantah pertanyaan itu. Dua: hostsFile dibaca secara keseluruhan ketika layanan Klien DNS diaktifkan, dan beberapa entri dengan nama domain yang sama cukup sah.
JdeBP
@ Sinetech: Bisakah Anda mengklarifikasi bagian mana yang salah? Apakah ini bagian yang sudah disebutkan JdeBP di OP (bahwa Anda dapat memiliki banyak entri dengan domain yang sama) atau ada hal lain yang saya lewatkan? :)
Merlyn Morgan-Graham
5

Beberapa entri dengan nama domain yang sama diperbolehkan dan berguna dalam beberapa skenario.

Seperti yang saya jelaskan dalam pertanyaan saya, tampaknya dalam kasus "normal", di mana alamat tersebut dapat dijangkau oleh adaptor yang sama, alamat pertama tampaknya adalah alamat yang diambil. Jika salah satu dari entri tersebut adalah loopback ( 127.0.0.1), mungkin akan lebih diutamakan.

Terkadang masuk akal untuk memiliki beberapa entri dengan nama domain yang sama, bahkan ketika tidak ada alamat yang ke adaptor loopback, jika komputer multihomed atau multi-addressable . (Terima kasih JdeBP untuk info di komentar di OP saya).

satu nama host DNS dapat berhubungan dengan lebih dari satu alamat IP jika masing-masing alamat dipetakan dan digunakan dalam baris terpisah. Misalnya, Anda dapat menambahkan baris untuk komputer host DNS multihomed atau multi-address berikut ini:

10.0.0.1  host-a.example.microsoft.com
10.0.0.2  host-a.example.microsoft.com
10.0.0.3  host-a.example.microsoft.com

Saya percaya bahwa preferensi / prioritas adaptor mungkin berperan di sini (yang dapat Anda atur dalam pengaturan jaringan), meskipun saya tidak dapat mengujinya. Loopback kemungkinan besar akan selalu menjadi prioritas utama dalam preferensi adaptor.

Merlyn Morgan-Graham
sumber
Saya tidak dapat menguji preferensi / prioritas adaptor pada saat ini, jadi tolong beri komentar jika Anda tahu ini benar atau salah.
Merlyn Morgan-Graham
1

Saya telah mencoba 5 menit yang lalu dan ini berjalan tanpa server dns dengan cara berikut ke dalam file host windows:

ip1, ip2, ipx name_to_resolve

Maaf bahasa inggris saya ...

Darckclone
sumber
dapatkah Anda menjelaskan secara singkat bagaimana menjawab pertanyaan
BlueBerry - Vignesh4303
0

> Pengulangan tampaknya mengabaikan entri apa pun, apa pun urutannya.

Apakah Anda memastikan untuk menutup dan menjalankan kembali klien (browser?) Setelah melakukan perubahan? Jika tidak, maka kemungkinan masih akan menggunakan nilai-nilai lama dan tidak melihat perubahan dalam urutan sampai dimulai kembali. Lebih lanjut, jika Anda menjalankan layanan Klien DNS, nilai-nilai lama di-cache, sehingga Anda tidak akan melihat perubahannya.

Saya melakukan beberapa tes dan tampaknya entri pertama selalu yang digunakan.

Pastikan untuk memulai kembali klien untuk memastikan bahwa itu membaca kembali file HOSTS, dan jika Anda menjalankan layanan Klien DNS juga berjalan ipconfig /flushdns

Synetech
sumber
Tidak ingat apakah saya melakukannya atau tidak, karena saya bekerja dengan ini antara 3 hingga 8 bulan lalu. Tapi bagus dan terima kasih sudah memeriksa ini. Apakah Anda memiliki banyak adaptor, dan dapatkah Anda memeriksa apakah pengaturan preferensi adaptor yang saya sebutkan dalam jawaban-diri saya berdampak?
Merlyn Morgan-Graham
1
Sebenarnya, beberapa NIC telah dibahas baru-baru ini.
Synetech