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?

Nathan Long
sumber
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 .
Graham Miln
sumber
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.

napcae
sumber
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 .

Scott Dudley
sumber
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.

David Hempy
sumber