File HOSTS diabaikan

23

Workstation (Windows XP, Professional, v2002, SP3) saya sepenuhnya mengabaikan file host saya.

Berikut ini kode dalam file host saya:

127.0.0.1       localhost

172.17.1.107    wiki

Tetapi, ketika saya membuka browser dan mengetik "wiki" di bilah URL dan menekan "Enter", itu membawa saya ke lokasi lama wiki saya seperti yang muncul di file host lama saya:

10.0.36.100     wiki

Meskipun saya telah mengganti nama file hosts lama "hosts_full" dan memindahkannya ke desktop saya (jadi, sepenuhnya keluar dari folder dll).

Sejauh ini saya telah mengambil langkah-langkah berikut:

  1. Mulai kembali (3 kali)
  2. Lari ipconfig /flushdnsdari baris perintah
  3. Berlari ping wikidari baris perintah, responsnya

Reply from 10.0.36.100: bytes=32 time=1ms TTL=63

Saya telah membersihkan setiap cache yang dapat saya pikirkan (IE, FF).

Saya memiliki klien firewall ISA yang berjalan di mesin saya dan saya sudah mencoba semua ini dengan itu dinonaktifkan dan diaktifkan. Bahkan, firewall menggunakan file host lama untuk menyelesaikan sendiri:

10.0.2.126      isa3

Dan entah bagaimana itu masih berfungsi dengan baik meskipun file host baru tidak mengandung baris itu.

Ada ide ??? Terima kasih sebelumnya atas bantuannya!

cmcculloh
sumber
apa yang terjadi ketika Anda membuat entri baru untuk ip itu, katakanlah 172.17.1.107 wikitest?
shufler

Jawaban:

24

Adakah peluang Anda menggunakan server proxy untuk menjelajah? Jika demikian, mungkin server proxy menyelesaikan nama dns untuk Anda.

Dan itulah mengapa Anda mendapatkan hasil yang berbeda dalam commandline dengan ping sebagai lawan dari browser.

Lalu lintas yang tidak sengaja dicegat dan diubah. Sangat kebetulan ...

artifex
sumber
1
Ya, sebenarnya, saya menemukan ada proksi perusahaan yang mencegat permintaan saya dan menanggapinya. Entah bagaimana itu melewati file host saya. Jika ada entri di proksi perusahaan, itu menggantikan entri file host lokal saya. Sementara jawaban ini tidak benar-benar mengatakan "bagaimana" untuk memperbaiki masalah, itu memang mengidentifikasi akar penyebab sebenarnya dari masalah (itu bukan firewall ...)
cmcculloh
1
Ketika saya punya masalah itu adalah perbaikan yang mudah. Saya memilih untuk tidak menggunakan proxy pada IP itu (Di bawah pengaturan proxy di Firefox) Perbaikan ini mungkin tidak berlaku untuk masalah Anda (Firewall mungkin memblokir HTTP keluar tanpa proxy, dll.). Ini juga bisa menjadi pelacur untuk beberapa mesin, jika Anda tidak memiliki manajemen terpusat profil Mozilla. Saya tidak bisa menjawab untuk IE karena kami tidak menggunakannya.
artifex
3
.. * jalang * mulai .. Lol
manas
1
Hanya butuh 4 tahun sebelum seseorang memperhatikan @silent_warrior;)
artifex
1
@artifex Terima kasih atas jawaban dan komentar Anda, ini membuat saya menyadari bahwa saya dapat mengatur pengecualian yang menyelesaikan masalah saya. Siapa pun yang tertarik lihat di sini: stackoverflow.com/questions/37658876/…
haakym
9

Firewall Menanggapi Ping?
Ini adalah kesempatan panjang dari alamat ip yang Anda berikan, tetapi apa yang terjadi ketika Anda melakukan ping IP baru secara langsung, apakah itu berhasil?

Alasan saya bertanya, jika 10.0.36.100 kebetulan merupakan firewall yang merespons ping, ia akan mengatakan balasan dari itu, meskipun Anda sedang melakukan ping IP yang berbeda ....

File Host Besar?
Juga, ini membuat saya dan orang ITU lain kali, ada banyak baris kosong di jendela host file, dan kemudian entri jauh di bawah - kami tidak melihat bilah gulir :-)

Apakah file host benar-benar file host?
Terakhir, lihat di registri dan pastikan file host sesuai keinginan Anda, kunci berikut menentukan di mana file host sebenarnya berada:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
Kyle Brandt
sumber
1
1: Balas dari 172.17.1.107: byte = 32 kali <1ms TTL = 63 2: Tidak, meninjau seluruh host file scroll-bar dan semua ... 3: DataBasePath, Ketik = "REG_EXPAND_SZ", Data = "% SystemRoot% \ System32 \ drivers \ etc "Bagian% SystemRoot% itu membuat saya penasaran, jadi saya membuka" Variabel Lingkungan "dan mencari variabel SystemRoot. Tidak melihat satu, jadi saya membuat satu dan mengaturnya ke C: \ Windows, lalu saya melakukan ipconfig / flushdns dan ping www.wiki.com, tetapi masih merespons dari 70.35.23.23 bukannya 172.17.1.107 (yang merupakan apa yang saya atur di file hosts saya). Terimakasih Meskipun! Semua saran bagus!
cmcculloh
Bagus, sistem saya boot dari drive E: dan bukan C: seperti yang diharapkan.
Manny
5

Coba siram Cache DNS Anda dengan Mulai -> Jalankan ...

 ipconfig /flushdns

Coba juga nonaktifkan NetBIOS dan LMHOSTS untuk Network Adapter Anda. Anda dapat mengubah pengaturan di TCP / IP Properties dari Network Connection yang digunakan, di bawah Advanced -> WINS.

Grub
sumber
Itulah hal pertama yang akan dicoba seseorang ...
vsync
3

Menurut http://technet.microsoft.com/en-us/library/bb727005.aspx itu bisa di cache nama NETBIOS lokal Anda. Anda dapat menggunakan nbtstat ( http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true ) untuk meminta / membersihkan cache ini.

Maximus Minimus
sumber
ketika saya mengeluarkan perintah "nbstat", saya mendapatkan "'nbstat' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dijalankan atau file batch"
cmcculloh
nbtstat, bukan nbstat - Anda kehilangan "t" pertama ... :)
Maximus Minimus
oops: P Ok, melakukan nbtstat -R dan nbtstat -RR dan nbtstat -r dan kemudian nbtstat -c (dan katanya "tidak ada nama dalam cache)
cmcculloh
dan itu masih tidak berhasil btw
cmcculloh
3

Ternyata DNS perusahaan saya terkena sebelum file host saya. Jadi saya:

  1. Membuka Properti TCP / IP saya (Panel Kontrol> Koneksi Jaringan> Koneksi Area Lokal> Properti> (gulir ke bawah) Protokol Internet (TCP / IP)> Properti.
  2. Mengklik "Gunakan alamat server DNS berikut:" (Alih-alih Mendapatkan alamat server DNS secara otomatis)
  3. dimasukkan "172.0.0.1" dan "172.0.0.2" (dan klik ok)

Sekarang file host saya berfungsi dengan baik ... Dari baris perintah. Namun, jika saya memasukkan entri untuk www.google.com yang menunjuk ke 172.17.1.107, ketika saya melakukan ping dari baris perintah, itu kembali dari alamat IP yang saya tentukan dalam file hosts. Tetapi jika saya menekannya dari peramban, itu tetap menunjukkan kepada saya Google dan bukan situs lokal saya. Tetapi jika saya memasukkan entri untuk "fredspc" yang menunjuk ke 172.17.1.107 dan menekannya dari peramban, itu membawa saya ke 172.17.1.107.

Saya menemukan ini karena jika saya memasukkan "tedspc" dalam file host saya (yaitu sesuatu yang tidak akan pernah menyelesaikannya) dan memberikannya alamat IP dan memutarnya, itu akan menyelesaikan ke alamat IP itu. Masalahnya adalah bahwa www.wiki.com dan apa pun yang saya masukkan ke dalam file host saya memiliki entri di server DNS perusahaan saya, yang menyebabkannya untuk diselesaikan, yang berarti tidak pernah melihat file host saya (karena server DNS perusahaan akan dilihat terlebih dahulu sebelum file host). Jadi saya sudah memotong DNS perusahaan dari loop prompt perintah, tetapi tidak keluar dari loop browser saya kira ... Ada ide?

cmcculloh
sumber
1
Hai. Senang mendengar bahwa Anda memiliki solusi. Tetapi sebanyak yang saya tahu file hosts harus selalu digunakan terlebih dahulu untuk melakukan pencarian dns sebelum setiap entri dalam daftar server dns Anda. Apakah mungkin untuk menonaktifkan pencarian di file host sepenuhnya dengan beberapa opsi dhcp? Mungkin Anda dapat menambahkan Server DNS perusahaan Anda sebagai entri ketiga dan keempat dalam daftar server dns Anda.
grub
Mungkin browser web Anda dikonfigurasikan dengan server proxy?
Oskar Duveborn
2

Setiap kali saya menggunakan file host untuk entri DNS saya (yang selalu) saya mematikan (menonaktifkan) layanan DNS (services.msc) berjalan secara native. Kemudian lakukan ipconfig / flushdns jika gagal me-reboot server / desktop dan itu akan menghapus cache. Entri DNS apa yang tidak ada di file host server / desktop akan menggunakan pengaturan DNS Default dari Antarmuka Jaringan yang telah disiapkan. Ini juga memungkinkan untuk menguji berbagai firewall dan semacamnya.

mikedopp
sumber
2

Saya baru saja terjebak mengubah C: \ windows \ system32 \ drivers \ etc \ hosts ketika % SystemRoot% didefinisikan sebagai C: \ WINNT bukan C: \ windows ... Saya tidak tahu mengapa server khusus ini memiliki keseluruhan instalasi windows di C: \ windows dan C: \ winnt tetapi setidaknya saya tidak merasa gila lagi.

Saya merasa agak bodoh tetapi ini hanyalah pemeriksaan cepat bagi orang lain yang mengalami masalah ini!

nvuono
sumber
2

Apakah Anda yakin Anda mengedit file host KANAN? Biasanya terletak di

%SystemRoot%\system32\drivers\etc\hosts

Mike
sumber
2

Setelah mencoba berbagai solusi yang disarankan, saya memeriksa keamanan pada folder 'etc' dan membandingkan izinnya dengan folder 'es-ES', dan menemukan bahwa Pengguna grup tidak memiliki hak Baca & laksanakan seperti yang dilakukan pada lain. Setelah mengambil kepemilikan (lagi) dari folder 'dll', saya memberikan grup Pengguna Membaca & mengeksekusi izin, dan meminta mereka diwarisi oleh isi folder. Itu memperbaiki masalah bagi saya – bagian apa pun dari sistem yang meminta file host ternyata berada di bawah batasan grup Pengguna. Saya pasti telah menghapus izin grup secara tidak sengaja di beberapa titik ketika mencoba mengubah file host.

Peter
sumber
Ini memperbaikinya untuk saya. Saya baru saja menambahkan grup Users secara langsung ke file hosts, menghapus cache, dan file hosts segera dihormati kembali.
user51928
2

Menghapus file asli di windows dan menggantinya dengan yang baru itu penting!

Saya tahu pertanyaannya telah dijawab, tetapi jelas bahwa ada banyak alasan berbeda dan kemungkinan solusi. Trik yang saya lakukan adalah menghapus file, bukan menimpanya.

Saya juga tahu bahwa @olefebvre sudah memposting sesuatu yang serupa, tapi saya tidak mengenalinya dengan singkatannya dan itu tidak (hanya) terkait dengan karakter aneh, itu adalah untuk membawa windows untuk mengenali file sama sekali.

hugo der hungrige
sumber
Terima kasih, ini hanya menyelamatkan saya banyak waktu dan frustrasi.
Andy Lester
2

coba gunakan spasi alih-alih tab.

Seperti di sini:

127.0.0.1 localhost
172.17.1.107 wiki
Ahmad Ahmad
sumber
1

Bisakah Anda memeriksa izin Anda pada file host? Cobalah menggunakan FQDN untuk entri "wiki" hostfile.

olefebvre
sumber
Apa yang seharusnya menjadi hak akses (saat ini file tidak hanya dibaca dan semua izin diatur untuk memungkinkan semua pengguna)? Saya mencoba pengaturan ke www.wiki.com dan masih tidak berhasil. (Saya mengubah jalur ke 172.17.1.107 www.wiki.com) Kemudian saya membuka command prompt saya dan mencoba melakukan ping ke www.wiki.com dan mengembalikannya "Pinging www.wiki.com [70.35.23.23] dengan 32 byte data "tapi kemudian tertulis" Permintaan habis "tiga kali. Kemudian apapun yang saya coba ping kembali Permintaan habis. Aku di tengah-tengah BIND menginstal sekarang untuk mencoba dan memperbaiki ini, saya tidak tahu apakah itu akan mempengaruhi ping ...
cmcculloh
Dan sekarang aku baik diinstal BIND salah, atau komputer saya mengabaikan itu juga, karena tidak bekerja baik ...
cmcculloh
Coba hapus file dan buat yang baru, tanpa menyalin / menempel. Mungkin beberapa texteditor memasukkan karakter aneh di sana (UTF8).
olefebvre
1

Sudahkah Anda memeriksa host dan lmhosts.sam?

JamesRyan
sumber
Ya, semua yang ada di lmhosts.sam dikomentari dan hanya ada dua baris yang saya tentukan dalam pertanyaan asli dalam file hosts saya ...
cmcculloh