/ etc / hosts modifikasi tidak berfungsi dengan baik. Apa yang harus dilakukan?

10

Saya telah menambahkan baris ini ke file host:

127.0.0.1 localhost adobe.com
127.0.0.1 adobe.com

Ini bekerja dengan baik di windows. Tetapi di Ubuntu 11.10 ketika saya mencoba mengaksesnya menggunakan Firefox situs web terbuka.

Google chrome meskipun mendukung konfigurasi / etc / hosts. Google chrome sedang menampilkan:

"Berhasil! Ini adalah halaman web default untuk server ini. Perangkat lunak server web sedang berjalan tetapi belum ada konten yang ditambahkan."

Magang Penasaran
sumber

Jawaban:

10

Saya dapat mengkonfirmasi masalah Anda yang tampaknya mempengaruhi, antara keduanya, Chrome dan Firefox, hanya Firefox. Ini adalah jawaban untuk pengguna yang dipengaruhi oleh masalah yang sama dan jika mereka dipengaruhi oleh kedua / semua browser. Ikuti langkah-langkah ini agar ini berfungsi dengan benar. Dengan asumsi Anda sudah mengedit /etc/hostsfile yang saya sarankan 2 cara berikut untuk mengedit file:

  • Gedit - gksudo gedit /etc/hosts(Sekarang Anda memiliki cara yang ramah GUI untuk mengedit file. Gksu yang menyediakan gksudo dihentikan dalam 18,04 resmi dan repositori kemudian.)
  • nano - sudo nano /etc/hosts(Sekarang Anda memiliki cara ramah terminal untuk mengedit file.)

Dan Anda punya misalnya:

127.0.0.1 localhost adobe.com

atau

127.0.0.1 localhost
127.0.0.1 adobe.com

(Keduanya adalah hal yang sama.)

Anda pertama kali menguji ini untuk melihat apakah itu berfungsi dengan benar dari terminal. Ketik ping adobe.comdan itu harus merespon dari IP yang ditugaskan padanya. Dalam hal ini harus merespons dengan 127.0.0.1. Itu berarti tidak apa-apa.

Kemudian kami melanjutkan dengan tes browser. Anda menguji Chrome dan berhasil. Anda berubah /etc/hostsantara memiliki dan tidak memiliki entri untuk adobe.com dan berhasil setiap kali Anda mengubahnya. Tapi kemudian Anda pergi dengan Firefox, mungkin berhasil pertama kali, tetapi setelah mengubah hostsfile bolak-balik itu entah bagaimana berhenti bekerja. Ini berarti masalah cache atau masalah menyelesaikan nama yang benar.

Dalam hal Firefox dan penyelesaian nama, Firefox menambahkan awalan www ke situs web adobe sehingga terlihat seperti ini "www.adobe.com" tetapi di Chrome sepertinya "adobe.com" ini. Keduanya menunjuk ke tempat yang sama dan awalan www ada di sana untuk memberi tahu Anda bahwa tempat yang Anda kunjungi adalah layanan web. Tetapi dalam kasus masalah Anda, Anda perlu menambahkan itu ke hostsfile sehingga ketika Firefox menambahkan awalan www berfungsi. Jadi akan terlihat seperti ini:

127.0.0.1 localhost
127.0.0.1 adobe.com www.adobe.com

ATAU sama saja

127.0.0.1 localhost adobe.com www.adobe.com

CATATAN: Ingatlah bahwa Anda HARUS menekan F5untuk menyegarkan kembali situs / tab Firefox atau menutup tab dan membukanya lagi untuk menguji. Entah bagaimana menekan Enterseperti orang gila tidak akan berhasil.

Ini seharusnya memecahkan masalah bagi beberapa pengguna, tetapi dengan asumsi sampai sekarang Anda masih belum memecahkan masalah, kami dapat menguji apa yang mungkin terjadi.

Kami sampai di sini beberapa level cache untuk memeriksa. Anda mendapatkan Cache program Anda, dalam hal ini Firefox, maka Anda memiliki Cache Sistem Anda, dalam hal ini Ubuntu, dan kemudian Anda memiliki cache perangkat keras Anda, dalam hal ini router Anda.

Untuk yang saya tahu, versi Ubuntu Desktop tidak memiliki layanan cache DNS yang diinstal secara default. Yang paling umum dikenal adalah nscd dan jika Anda menginstalnya, yang sederhana /etc/init.d/nscd restartakan dilakukan. Tetapi bagi kebanyakan orang mereka tidak akan menginstal ini, sehingga kita dapat mengesampingkan kesalahan sistem Ubuntu.

Itu meninggalkan router dan browser web. Dalam hal router Anda harus mengkonfigurasinya untuk menghentikan cache DNS atau mengkonfigurasi ulang untuk menyelesaikan masalah ini. Ini benar-benar tergantung pada model Router, pabrikan, dll. Tidak semua router melakukan cache DNS, tetapi beberapa melakukan dan Anda perlu melihat dalam konfigurasi itu, jika memiliki opsi ini dan jika opsi diaktifkan. Tapi mari kita asumsikan Anda tidak memiliki router yang diaktifkan Caching DNS.

Ini meninggalkan browser.

Untuk mengetahui apakah Firefox bermasalah dengan DNS Cache Anda dapat menginstal Add-on untuk memeriksa DNS Cache di Firefox. yang saya rekomendasikan adalah DNS Cache .

masukkan deskripsi gambar di sini

Setelah memulai ulang Firefox Anda akan melihat roda gigi di bagian bawah (Mirip dengan roda Ubuntu di sudut kanan atas). Anda dapat mengklik kiri atau mengklik kanan Cog dan Anda akan melihat opsi seperti Enable / Disable DNS dan Flush it. Ini akan membantu jika masalahnya adalah Firefox DNS Cache. Main dengannya.

Saya pikir saya punya semua cara Anda bisa menyelesaikannya. Jika saya melewatkan sesuatu, beri tahu saya.

Luis Alvarado
sumber
Jika Firefox tidak menghormati hostsfile mesin lokal (yaitu, jika masalah masih terjadi bahkan setelah domain dengan wwwsubdomain ditambahkan dan bahkan setelah halaman di-refresh), saya sarankan melaporkannya sebagai bug. (Saya tidak yakin apa yang akan menjadi bug di , karena Firefox mungkin menggunakan fasilitas DNS resolusi sistem operasi, yang melakukan , atau seharusnya, menghormatinya. Tapi Anda bisa melaporkannya melawan firefoxdi Ubuntu dan kemudian pemecahan masalah lebih lanjut bisa kemungkinan retarget dari sana.)
Eliah Kagan
@EliahKagan Itu juga tergantung di mana dan bagaimana hosting / domain itu. Beberapa situs menawarkan opsi untuk mengaktifkan menggunakan subdomain www dan beberapa tidak memilikinya pra-konfigurasi sehingga ketika seseorang mencoba untuk pergi ke www.eliah.com tidak berfungsi, tetapi eliah.com melakukannya.
Luis Alvarado
Ya tentu saja. Saya tidak mengatakan bahwa itu www.foo.netharus berhasil hanya karena foo.netberhasil. Sebaliknya, jika foo.netdan www.foo.netkeduanya didefinisikan 127.0.0.1dalam /etc/hosts, mengetik foo.netdi bilah alamat browser web dan menekan enter akan mengakibatkan browser berusaha membuka koneksi 127.0.0.1:80. Jika tidak, ada bug di suatu tempat.
Eliah Kagan
@EliahKagan - Ah! ya tentu. Dalam hal itu jika tidak berfungsi, komputer dimiliki oleh setan. Kita akan membutuhkan pengusir setan dan banyak air suci atau diagnostik masalah yang lebih baik.
Luis Alvarado
Exorcist + air suci dan diagnostik yang lebih baik sepertinya adalah program yang paling bijaksana. :)
Eliah Kagan
7

Saya tahu bahwa utas ini berumur satu tahun, tetapi saya menemukannya mencari jawaban untuk masalah yang sama. Saya akhirnya menemukan solusi! Ternyata /etc/hostsfile tersebut sepenuhnya dilewati oleh DNS. Untuk mengubah ini, Anda harus mengedit /etc/nsswitch.confdan memasukkan di filesbawah hosts. Contoh di bawah ini:

passwd:         compat
group:          compat
shadow:         compat

hosts:          dns files myhostname <-- this line here.
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Ini akan memastikan bahwa /etc/hostsfile tersebut termasuk dalam pemeriksaan resolusi nama. Pertama-tama akan memeriksa DNS dan kemudian hostsfile. Saya yakin OP tidak lagi membutuhkan info ini, tetapi ini masih bagus untuk siapa pun yang mencari jawaban untuk masalah ini.

Anda juga harus memulai ulang agar ini berlaku

Sam Chonburi
sumber
Saya memiliki "file mdns4_minimal [NOTFOUND = return] dns mdns4" di sana di Ubuntu 12.04 tetapi / etc / hosts masih tidak berfungsi ... sepertinya saya sedang menghadapi masalah yang berbeda.
Shnatsel
Bisakah Anda menempelkan kode lengkap?
Sam Chonburi
Ini file konfigurasi lengkap: pastebin.com/hDBGrrwn Saya kira ini adalah default pada Ubuntu 12.04
Shnatsel
Semuanya terlihat benar. Apa yang sedang Anda coba lakukan?
Sam Chonburi
Saya tidak mengerti: apa yang harus saya tambahkan di baris ini? /etc/hosts? hosts? Atau apa?
Hi-Angel
2

Saya percaya etc/hostsdigunakan pada tingkat banyak kekasih dalam tumpukan perangkat lunak jaringan daripada browser itu sendiri. Yaitu perubahan dalam file itu harus mempengaruhi browser apa pun.

Apa yang Anda lihat mungkin merupakan hasil dari entri DNS caching Firefox - yaitu Anda membuka situs web di Firefox, Firefox mengingat alamat IP yang sesuai dengan domain adobe.com, Anda memodifikasi /etc/hostsdan memuat ulang halaman - Firefox tidak mengeluarkan kueri DNS baru dan menggunakan data cache sebagai gantinya. Kemudian Anda membuka Chrome, itu membuat permintaan DNS baru dan menggunakan apa pun yang Anda masukkan /etc/hostssebagai alamat IP untuk adobe.com

Restart Firefox harus memperbaiki masalahnya.

Sergey
sumber
2

Semua jawaban bagus, tetapi cara terpendek untuk memperbaikinya adalah:

setelah memodifikasi / etc / hosts (dan mungkin me-restart Firefox), muat ulang tab bermasalah dengan Ctrl+Shift+R. Itu akan memotong semua jenis cache yang dimiliki Firefox.

Luka Ramishvili
sumber
1

Masalah saya adalah, saya punya banyak entri untuk Nama Domain yang sama. Sistem hanya melihat kejadian pertama.

127.0.0.1 domain1.com domain2.com domain3.com # <-- WENT UNNOTICED
# .
# .
192.168.1.21 domain1.com # <-- DOESN'T WORK
Kaushik Sv
sumber
0

Bisakah Anda mencoba:

  1. Edit / etc / hosts file.
  2. Tambahkan baris berikutnya

     # /etc/hosts
     127.0.0.1  localhost
     127.0.1.1  myhost01
     127.0.1.2  myhost02
    
OleksDovz
sumber
0

di Ubuntu 14.04 mengubah / etc / hosts file hanya memiliki satu host per baris bekerja untuk saya, saya berjuang selama berjam-jam bekerja dengan host host host IP, daripada berubah menjadi host IP pada setiap baris dan itu berhasil>. <

Michael
sumber
0

Saya memiliki masalah yang sama pada berbagai versi Ubuntu. Yang terbaru mengangkat kepalanya yang jelek pada 17,04 dan 16,04. Saya menemukan bahwa saya harus memformat file host seperti ini:

127.0.0.1 localhost

127.0.0.1 www.facebook.com facebook.com

yaitu Anda harus memasukkan url baik www dan sekali lagi tanpa. Saya tidak tahu mengapa ini berhasil. Cukup simpan file, lalu ping url seperti pada:

ping www.facebook.com

dan itu harus menyelesaikan ke alamat loopback atau alamat lain yang Anda inginkan.

80.82.xxx.xxx www.example.com example.com

Bekerja untukku.

Jules
sumber