Bagaimana saya bisa membuat OSX Mavericks memperhatikan perubahan DNS di `/ etc / hosts`?


24

Cara umum untuk "memblokir" situs web (misalnya, untuk menghilangkannya sebagai gangguan) adalah dengan mengedit /etc/hostsdan mengarahkan domain ke alamat loopback. Misalnya:

# Stop goofing off
127.0.0.1 youtube.com

Di Mavericks, saya menemukan bahwa perubahan seperti ini tampaknya diabaikan oleh OS; setelah mengedit file (dengan sudo) dan menyimpan, situs yang harus diblokir masih memuat.

Saya sudah mencoba mengatur ulang cache DNS saya sebagai berikut:

dscacheutil -flushcache
sudo killall -HUP mDNSResponder

Tapi situs itu masih memuat.

Bagaimana saya bisa membuat OSX Mavericks memperhatikan perubahan /etc/hosts?


1
Mungkinkah itu cache DNS browser yang tidak memerah? IP apa yang ping youtube.comdigunakan?
Leonid Shevtsov

Catatan: jika Anda menggunakan DNS untuk memblokir sementara situs, selfcontrolapp.com untuk OSX berfungsi dengan baik. Ini memodifikasi file host dan tampaknya membersihkan cache browser secara otomatis. Mereka juga menyebutkan aplikasi serupa untuk platform lain: github.com/SelfControlApp/selfcontrol/wiki/FAQ
Nathan Long

Jawaban:


19

Menurut halaman buku panduan host (5) , /etc/hostsfile digunakan oleh mDNSResponder. Upaya Anda dengan benar membersihkan cache lebar komputer tetapi Anda juga perlu mem-flush cache pribadi browser.

Setelah setiap pengeditan /etc/hostssetel ulang mDNSRespondercache menggunakan catatan teknis Apple ini, OS X: Cara mengatur ulang cache DNS :

sudo dscacheutil -flushcache

Setelah melakukan ini, setel ulang cache browser Anda :

  • Safari: gunakan item menu Safari > Reset Safari .
  • Chrome: gunakan item menu Chrome > Clear Browsing Data .

1
Ini memperbaikinya. Di bawah "Bersihkan Data Perambanan" Chrome, ada kotak centang untuk jenis data. "Kosongkan cache" adalah yang relevan.
Nathan Long

5

Hapus cache browser Anda dan tambahkan 127.0.0.1 www.youtube.comke file host Anda.

youtube.commemutuskan untuk www.youtube.com. Browser Anda menyimpan informasi itu dan mengarahkan Anda ke halaman www.


0

Di OS X 10.9 Mavericks, ada masalah dengan mencoba membuat daftar beberapa nama host pada baris yang sama dari / etc / hosts. Saya mencoba semua tips terkait DNS lainnya di posting ini dan posting terkait tidak berhasil, sampai saya menemukan "masalah" tautan di atas.

Dulu saya memiliki sesuatu seperti ini:

127.0.0.1 localhost host1 host2 host3 ...

tetapi saya menemukan bahwa resolusi host tersebut akan berlangsung selamanya atau tidak berfungsi sama sekali. Mencoba mengakses situs melalui browser pada umumnya OK (walaupun terkadang sangat lambat untuk diselesaikan), tetapi mencoba melakukan ping dari baris perintah tidak akan berhasil.

Mengubahnya ke format berikut membuat semuanya berfungsi dengan baik untuk saya, dan sekarang semuanya bekerja sangat baik dengan ping, di browser, dan di tempat lain:

127.0.0.1 localhost
127.0.0.1 host1
127.0.0.1 host2
127.0.0.1 host3

Lebih detail .


0

Di atas jawaban Graham, coba chrome: // net-internal / # dns (untuk Google Chrome) untuk melihat apa yang di-cache. Kemudian klik Bersihkan Cache Host untuk menghapus semuanya.

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.