file hosts diabaikan, bagaimana cara mengatasi masalah?


149

File host di komputer Windows digunakan untuk mengikat string nama tertentu ke alamat IP tertentu untuk mengganti metode resolusi nama lainnya.

Seringkali, seseorang memutuskan untuk mengubah file host, dan menemukan bahwa perubahan menolak untuk berlaku, atau bahkan entri lama dari file host diabaikan setelahnya. Sejumlah kesalahan "gotcha" dapat menyebabkan hal ini, dan bisa membuat frustasi untuk mencari tahu yang mana.

Ketika dihadapkan dengan masalah Windows mengabaikan file host, apa protokol pemecahan masalah yang komprehensif yang dapat diikuti?


Pertanyaan ini memiliki duplikat pada SO, seperti file HOSTS diabaikan

Namun, ini cenderung berurusan dengan kasus tertentu, dan sekali kesalahan OP dibuat, diskusi selesai. Jika Anda tidak melakukan kesalahan yang sama, diskusi seperti itu tidak terlalu berguna. Jadi saya pikir akan lebih bermanfaat untuk memiliki protokol umum untuk menyelesaikan semua masalah terkait host yang akan mencakup semua kasus.


12
Juga, sebagai seseorang yang diposting di tempat lain, jangan gunakan "nslookup" untuk menguji ini karena perintah itu mengabaikan file host. Alih-alih menggunakan "ping".
LatinSuD

Kemungkinan duplikat file HOSTS diabaikan
030

Jawaban:


220

Berdasarkan pengalaman saya sendiri dan apa yang saya temui saat Googling, berikut adalah beberapa hal untuk dicoba:

1. Apakah Anda memeriksa apakah itu berfungsi dengan benar?

Perubahan ke host harus segera berlaku, tetapi Windows cache data resolusi nama sehingga untuk beberapa waktu catatan lama dapat digunakan. Buka baris perintah (Windows + R cmd,, Enter) dan ketik:

ipconfig /flushdns

Untuk menjatuhkan data lama. Untuk memeriksa apakah itu berfungsi, gunakan (dengan asumsi Anda memiliki entri ipv4 di host Anda untuk www.example.com, atau entri ipv6 di host Anda untuk ipv6.example.com):

ping www.example.com -n 1
ping -6 ipv6.example.com -n 1

Dan lihat apakah ia menggunakan IP yang benar. Jika ya, file host Anda baik-baik saja dan masalahnya ada di tempat lain.

Anda juga dapat mengatur ulang cache NetBIOS dengan (buka konsol sebagai admin atau gagal):

nbtstat -R

Anda dapat memeriksa data saat ini di cache DNS dengan:

ipconfig /displaydns | more

2. Dasar-dasar

  • Apakah file host Anda dinamai dengan benar? Seharusnya hostsdan tidak host, dll.
  • Apakah ekstensi itu benar? Seharusnya tidak ada ekstensi ( hoststidak hosts.txt) - berhati-hatilah jika Anda telah mengkonfigurasi windows untuk menyembunyikan ekstensi yang dikenal, periksa properti untuk memastikan: Jenis file host yang benar akan muncul hanya sebagai "File".
  • Apakah Anda mengikuti sintaks yang benar ? Apakah Anda tanpa sengaja mengawali baris dengan hash ( #) yang menunjukkan komentar?
  • Apakah Anda menangani semua varian ( www.example.comdan example.com- paling aman dengan hanya menambahkan keduanya)?

3. Ruang putih

Format untuk setiap baris adalah IP address, kemudian tab horizontal (kode pelarian \t, ASCII HT, hex 0x09) atau spasi tunggal (hex 0x20), kemudian nama host, yaitu. www.example.com, lalu akhirnya carriage return diikuti dengan line feed, (kode pelarian \r\n, ASCII CRLF, hex 0x0d 0x0a).

Contoh entri, menggunakan gambar kontrol Unicode untuk menunjukkan karakter kontrol. (Jangan salin dan tempel ini ke file host Anda!)

192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊

Bytes individual dapat dilihat di Notepad ++ dengan plugin hex editor . Notepad ++ juga akan menampilkan karakter khusus (Lihat -> Tampilkan Simbol) sehingga Anda dapat dengan mudah memeriksa jumlah dan jenis karakter spasi.

Jika Anda menyalin dan menempelkan entri host dari suatu tempat, Anda mungkin berakhir dengan beberapa spasi. Secara teori, host mendukung banyak spasi yang memisahkan dua kolom, tetapi itu hal lain untuk dicoba jika tidak ada yang berfungsi.

Agar aman, pastikan semua baris dalam file host Anda menggunakan tab atau spasi, bukan keduanya.

Terakhir, akhiri file dengan baris kosong.

4. Kunci Pendaftaran

Ada kunci registri yang menentukan lokasi file host. Seharusnya, Windows sebenarnya tidak mendukung menempatkan file host di lokasi lain, tetapi Anda mungkin ingin memeriksa. Kuncinya adalah:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

Entri harus:

%SystemRoot%\System32\drivers\etc

5. Izin

Terkadang ada masalah dengan izin pada file, atribut file, dan hal-hal serupa. Untuk membuat ulang file dengan izin default:

  1. Buat file teks baru di desktop Anda.
  2. Salin dan tempel konten file host Anda saat ini ke file ini di Notepad.
  3. Simpan file teks baru dan ganti namanya menjadi hosts.
  4. Salin ( jangan pindahkan ) file ke %SystemRoot%\System32\drivers\etcdirektori Anda , dan timpa file lama.

Poin terakhir penting: Menyalin pekerjaan, bergerak tidak.

UsersAkun lokal harus dapat membaca file host . Untuk memastikan (di Windows 7):

  1. Arahkan ke %SystemRoot%\System32\drivers\etcdalam Windows Explorer.
  2. Jika Anda tidak dapat melihat hostsfile, pastikan Anda dapat melihat file yang tersembunyi dan sistem .
  3. Klik kanan pada hostsfile dan pilih Propertiesdari menu konteks.
  4. Di hosts Propertiesjendela, klik pada Securitytab.
  5. Periksa daftar nama dalam Group or user names:kotak. Jika %COMPUTERNAME%\Usersada, klik untuk melihat izin.
  6. Jika Userstidak ada, atau ada tetapi tidak memiliki Readizin, klik Edit....
  7. Jika Userstidak ada, klik Add..., ketik Users, klik Check Names, dan klik OK atau tekan Enter.
  8. Pilih Users, dan pastikan Read & executedicentang di Allowkolom. Klik OK. Jika Windows Securitykotak peringatan muncul, pilih Yesuntuk melanjutkan.
  9. Klik OK untuk menutup hosts Propertiesjendela.
  10. Pergi ke bagian 1 dari jawaban ini dan ikuti petunjuk untuk memeriksa apakah itu berfungsi sekarang.

6. Pengkodean

File host harus dikodekan dalam ANSI atau UTF-8 tanpa BOM. Anda dapat melakukan ini dengan File -> Save As.

7. Proxy

Jika Anda memiliki proxy yang dikonfigurasi, itu dapat memotong file host. Solusinya adalah tidak menggunakan proxy, atau mengkonfigurasinya untuk tidak melakukan ini.

Untuk memeriksa, buka Internet Explorer -> Opsi Internet -> Koneksi -> pengaturan LAN. Jika semuanya kosong dan "Secara otomatis mendeteksi pengaturan" dicentang, Anda tidak menggunakan proxy.

Jika Anda mengandalkan proxy untuk mengakses web dan karena itu tidak ingin menonaktifkannya, Anda dapat menambahkan pengecualian dengan masuk ke Internet Explorer -> Opsi Internet -> Koneksi -> Pengaturan LAN -> Server Proxy / Lanjutan. Kemudian tambahkan pengecualian Anda ke kotak teks Pengecualian. Misalnyalocalhost;127.0.0.1;*.dev

8. alamat DNS

(Ini juga dapat menyelesaikan masalah proxy.)

Buka properti koneksi jaringan Anda, lalu pengaturan TCP / IP, dan ubah server DNS pertama menjadi 127.0.0.1(localhost). Yang kedua mungkin seharusnya adalah IP DNS Anda yang sebenarnya.

Ini tidak perlu agar file host berfungsi , tetapi mungkin membantu dalam kasus Anda jika ada sesuatu yang dikonfigurasi dengan aneh.

9.. Alamat lokal

Jika Anda menggunakan entri domain .local dalam bentuk myhost.local dan diabaikan, coba yang berikut ini

x.x.x.x myhost.local www.myhost.local

bahkan jika www.myhost.local tidak ada. Windows entah bagaimana tidak menambahkan workgroup atau domain lokalnya.


3
Terima kasih banyak! Saya hampir menangis, begitu banyak dari kami yang tergila-gila dengan SPACE di awal entri kosong antara 2 baris. Terima kasih terima kasih terima kasih terima kasih !!!!!

1
Gotcha lain adalah bahwa versi 64-bit Windows mengarahkan folder System32 untuk aplikasi 32-bit (seperti Notepad ++) sehingga ketika Anda menyimpan file muncul di folder SystemWOW64 bukannya System32. Solusi terbaik adalah hanya menggunakan Notepad versi Windows yang 64-bit. Terbaik kedua adalah menyambungkan ke pembagian administratif (\\ yourmachinename \ c $ \ Windows \ System32 \ drivers \ dll) untuk membuka file jika Anda menggunakan editor 32-bit.
Tim Lewis

4
Pos bagus, tetapi dengan beberapa kesalahan. 1) "Secara otomatis mendeteksi pengaturan" di IE dapat mengarahkan Anda ke (bahkan tanpa sadar) menggunakan proxy, jika jaringan Anda benar-benar memberikan konfigurasi otomatis proxy. 2) Mengubah server DNS Anda di pengaturan jaringan tidak ada hubungannya dengan bagaimana / kapan / jika hostsfile digunakan, dan mengubahnya menjadi 127.0.0.1 secara efektif merupakan kesalahan, kecuali Anda benar-benar menjalankan server DNS pada Anda komputer.
Massimo

1
# 5 (membuat file baru dan menyalinnya) melakukan trik untuk saya. Win7 bisa lucu dengan izin.
chris

1
Saya mengedit file host di bawah Cygwin menggunakan vim, saya pikir ini menyebabkan masalah untuk file host saya berhenti bekerja. Saya harus membuat file baru dan menyalin konten dari file host sebelumnya dan memperbaikinya.
forloop

16

Pastikan Anda telah menempatkan ipaddress terlebih dahulu dan kemudian "domain" seperti ini:

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev

6
Saya lebih suka menggunakan satu baris:127.0.0.1 bo.dev www.bo.dev ftp.bo.dev
Xhynk

1
Hati-hati, file host windows hanya memungkinkan SEMBILAN atau KURANG entri per baris! Ini menggigit saya dan butuh beberapa saat untuk mencari tahu.
andrew

Jangan gunakan .devTLD secara lokal dengan berpikir bahwa Anda tidak akan mendapatkan tabrakan. Ini adalah TLD global umum yang valid yang dimiliki oleh Google, dan Anda akan mendapatkan banyak masalah dalam menggunakannya. Lihat ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts
Patrick Mevzek

Kesalahan pemula, tapi berhasil. Doh! minta mereka mundur lalu IP
ransem

11

Silakan tambahkan memeriksa izin file. Saya menemukan bahwa meskipun saya memiliki hak Admin Lokal untuk komputer dan dengan demikian untuk host. Tidak sampai saya menambahkan pengguna lokal ke izin file host dengan Baca dan Baca & Jalankan dan kemudian ipconfig / flushdns Bahwa host menjadi aktif.


3
Itu dia! Saya sudah bingung dengan masalah ini selama bertahun - tahun . Saya menambahkan (machine)\USERSdengan Baca dan Baca & jalankan izin dan setelah ipconfig /flushdnsitu berfungsi. Terima kasih banyak. Saya sangat senang akhirnya memiliki file host saya kembali.
Clement Cherlin

7

Dalam kasus saya, saya mencoba file yang dibuat Windows 7: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.

hosts.ics:

# This file has been automatically generated for use by Microsoft Internet
# Connection Sharing. It contains the mappings of IP addresses to host names
# for the home network. Please do not make changes to the HOSTS.ICS file.
# Any changes may result in a loss of connectivity between machines on the
# local network.

Akibatnya, Windows mengabaikan pengaturan di host C: \ Windows \ System32 \ drivers \ etc \ dan menggunakannya dari hosts.ics.


1
Dari support.microsoft.com/en-us/kb/309642/en-us , yang sudah lama jadi mungkin tidak lagi akurat: "File Hosts.ics digunakan oleh ICS untuk menyimpan informasi tentang klien yang dikonfigurasi secara dinamis. Hindari membuat perubahan pada file ini untuk mencegah hilangnya konektivitas atau data. File Hosts (tanpa ekstensi nama file) adalah file yang Anda tambahkan informasi tentang klien yang dikonfigurasi secara statis. " Jadi, saya TIDAK akan mengharapkan Windows mengabaikan Hostsfile hanya karena Hosts.icsada. Hal lain mungkin menyebabkan Windows mengabaikan file Host Anda, seperti ekstensi yang mungkin salah (tapi tersembunyi).
Arjan

1
Saya melihat informasi ini. Tapi saya tidak tahu, mengapa saya bisa membuat host berfungsi hanya saya mengedit hosts.ics. Sebelum mengedit hosts.ics, saya mencoba semua metode dari topik ini, tetapi host tidak berfungsi.
Unick

Terima kasih! Kau telah menyelamatkan hidupku. Bekerja pada Windows 10
Xatenev

3

Saya mengalami masalah yang sama, host entri file diabaikan. Saya mencoba semua yang ada di ini dan banyak utas lainnya tanpa hasil. Saya pikir saya akan memposting apa yang berhasil untuk saya kalau-kalau ada orang lain yang menemukan ini.

  1. Buka Windows Explorer sebagai Administrator
  2. HAPUS file host
  3. Buka notepad sebagai Administrator dan buat file host baru
  4. Mulai dari awal dan tambahkan entri.
  5. Pastikan file host tidak memiliki ekstensi .txt

Catatan: cukup membuka file host dan menghapus konten, memverifikasi bahwa itu 0kb dan menambahkannya kembali tidak berfungsi. Saya menduga ada masalah izin pada file.


catatan cepat - saat memodifikasi file sistem (seperti file host), sebaiknya buat cadangan terlebih dahulu. Untuk menghindari hilangnya data, alih-alih pertimbangkan untuk mengganti nama file host yang ada, suka hosts.bak, dan kemudian melanjutkan seperti yang Anda jelaskan di langkah 3.
nshiff

1

Telah menghabiskan berjam-jam, mungkin berhari-hari untuk ini.

Keamanan IBM Trusteer Endpoint Rapport dapat menyebabkan masalah ini.

Saya telah menambahkan mysite.com ke daftar situs tepercaya.

Saya pikir sebagai bagian dari keamanannya itu mencegah malware atau virus mengalihkan Anda ke situs-situs alternatif.

Mengambil situs saya dari daftar situs tepercaya dan tidak lagi memeriksa dan "memperbaiki" pengalihan file host saya.

Semoga itu bisa membantu seseorang menyelesaikan masalah mereka.


1

Pastikan Anda telah memasukkan nilai sebagai IP NAME, bukan sebagai NAME IP.

Ini dapat terjadi jika hanya ada satu entri dalam file, dan ketika Anda mengabaikan teks komentar-keluar.


1

Salah satu masalah yang terlewatkan dalam diskusi di atas adalah nama yang tidak memenuhi syarat (nama yang tidak termasuk periode) di file host. Pengaturan jaringan Anda mungkin mulai pada saat itu dan secara otomatis menambahkan domain Anda sendiri ke akhir domain yang tidak memenuhi syarat. Akibatnya nama tersebut mungkin tidak menyelesaikan, atau lebih buruk lagi, menyelesaikan ke mesin yang sama sekali berbeda.


0

Di windows, pastikan HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath diarahkan ke direktori file hosts.


0

Pada kasus saya masalahnya adalah bahwa saya menyalin file host dari direktori terenkripsi dan menimpa etc / hosts dengan itu. Saya harus melihat properti dan menghapus centang pada kotak "mengenkripsi file".


0

File host saya diabaikan sampai saya memiliki koneksi jaringan pada laptop (Windows 7) saya. Setelah saya terhubung ke jaringan, semuanya berfungsi seperti yang diharapkan. Jelas, tanpa jaringan saya tidak bisa melakukan ping host dll tetapi saya masih mengharapkan Windows untuk mendapatkan alamat IP mereka dari file host. Tidak. Bahkan setelah melepasnya masih mencari alamat OK, tetapi antara restart komputer dan pertama menghubungkan ke jaringan, itu mengabaikan file host.

(Kebetulan, tab, spasi dan tidak ada carriage return semuanya tidak relevan sejauh yang saya tahu).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.