saya baru saja menjawab pertanyaan tentang melakukan ini dengan DNSmasq di ServerFault (tidak pada windows, jelas, tetapi pada router yang menjalankan DD-WRT / OpenWRT itu bisa dilakukan)
quack quixote
XP SP2 termasuk kastrasi dari file host - securityfocus.com/archive/1/431032/30/0/threaded Alasan diasumsikan adalah orang menggunakannya untuk memblokir iklan saat browsing. Ini adalah dugaan sejauh yang saya tahu Microsoft tidak pernah mengungkapkan mengapa mereka melakukan ini dan mengapa mereka terus maju untuk semuanya sejak saat itu. Jika Anda dapat memasukkan server proxy antara PC dan internet, maka Anda dapat memblokir apa yang Anda inginkan.
bvaughn
Jawaban:
61
Tidak ada. File host tidak terlalu pintar, Anda harus mendaftar setiap subdomain satu per satu (termasuk www dan no-www)
Pada dasarnya, program ini Acrylic bekerja sebagai proxy DNS untuk komputer lokal Anda. Arahkan saja Local Area Connection Anda ke 127.0.0.1, lalu edit AcrylicHosts.txt dengan cara yang sangat mirip dengan file host biasa - hanya dengan wildcard!
Akrilik bekerja dengan baik, tetapi dapat membingungkan Anda jika Anda mencoba mengakses mesin dengan alamat IP dinamis. Saya memiliki mesin yang terhubung ke jaringan rumah saya, dan saya menggunakan dns dinamis untuk mengatur ip untuk nama domain. Saya menggunakan Acrylic di laptop saya dan saya pergi selama beberapa hari, sementara itu ip saya berubah, tetapi Acrylic mengingatnya sebagai ip lama, dan saya tidak dapat mengakses situs tersebut. Tetapi menjalankan program "Membersihkan Data Cache Akrilik" mengatasi masalah tersebut.
leeand00
Sayangnya akrilik tidak mendukung alias DNS, yang membuatnya tidak berguna bagi saya.
Spero
11
Dnsmasq adalah yang Anda butuhkan tetapi tidak bekerja dengan baik di Windows. Jadi saya menulis alternatif pada Windows yang disebut DNSAgent .
Anda dapat menggunakan ekspresi reguler dalam aturan. Ada juga beberapa fitur canggih seperti menyesuaikan cache TTL, server DNS non-standar-port, mutasi pointer kompresi, dll. Buka bersumber di bawah lisensi MIT.
pertama, saya setuju dengan phoshi bahwa itu tidak mungkin untuk melakukan apa yang Anda inginkan di file hosts-windows (baik di unix).
kedua, Anda harus mendapatkan kontrol atas hasil permintaan ke dns. satu pilihan adalah menggunakan dns-resolving Anda sendiri di router Anda (dnsmasq, dnscache + tinydns, bind, apa pun, lihat komentar quack) dan atur atau gunakan dns-resolver pada windows yang dapat Anda kontrol sesuai keinginan.
lihat di sini untuk daftar dns-resolvers, periksa kolom "wildcard", mungkin powerdns atau maradns atau posadis adalah sesuatu yang sesuai dengan kebutuhan Anda.
Mengingat kalimat terakhir, saya menganggap www.example.comtidak diblokir oleh baris pertama, tetapi hanya saat menambahkan 127.0.0.1 example.com?
Arjan
9
moonfern, saya tidak setuju dengan daftar Anda. 127.0.0.1 somesite.com TIDAK AKAN memblokir semua permintaan DNS keluar yang diakhiri dengan somesite.com, semua yang akan diblokir adalah somesite.com , bukan www.somesite.com atau subdomain.somesite.com atau sejenisnya.
1
Itu jelas tidak terjadi pada Windows, moonfern.
Owen Blacker
-3
Jika Anda ingin memblokir setiap subdomain di somedomain.com, maka pertimbangkan apakah menghilangkan "*." akan mencapai apa yang Anda inginkan.
"Pertimbangkan apakah ..." cukup ambigu. Apa, tepatnya, yang Anda rekomendasikan sebagai solusinya?
fixer1234
Silakan baca pertanyaan itu lagi dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal.
DavidPostill
1
fixer1234 - Saya tidak tahu apa masalah yang ingin dipecahkan oleh poster, sementara mereka bertanya seolah-olah wildcarding eksplisit akan mengatasinya. "Pertimbangkan apakah ..." menyarankan sesuatu yang mungkin berhasil. Sangat mudah untuk dicoba, dan membutuhkan beberapa karakter. Saya tahu ini berfungsi dalam beberapa kasus. Karena saya tidak memiliki konteks yang cukup untuk memahami masalah, saya tidak dapat merekomendasikan solusi. David Postill - Saya percaya jawaban saya ditujukan dan sesuai dengan pertanyaan awal. Tetapi mungkin jawaban Anda sendiri akan bekerja lebih baik.
Jawaban:
Tidak ada. File host tidak terlalu pintar, Anda harus mendaftar setiap subdomain satu per satu (termasuk www dan no-www)
sumber
Jawaban untuk pertanyaan StackOverflow yang sangat mirip bekerja dengan baik untuk saya.
Pada dasarnya, program ini Acrylic bekerja sebagai proxy DNS untuk komputer lokal Anda. Arahkan saja Local Area Connection Anda ke 127.0.0.1, lalu edit AcrylicHosts.txt dengan cara yang sangat mirip dengan file host biasa - hanya dengan wildcard!
sumber
Dnsmasq adalah yang Anda butuhkan tetapi tidak bekerja dengan baik di Windows. Jadi saya menulis alternatif pada Windows yang disebut DNSAgent .
Anda dapat menggunakan ekspresi reguler dalam aturan. Ada juga beberapa fitur canggih seperti menyesuaikan cache TTL, server DNS non-standar-port, mutasi pointer kompresi, dll. Buka bersumber di bawah lisensi MIT.
sumber
pertama, saya setuju dengan phoshi bahwa itu tidak mungkin untuk melakukan apa yang Anda inginkan di file hosts-windows (baik di unix).
kedua, Anda harus mendapatkan kontrol atas hasil permintaan ke dns. satu pilihan adalah menggunakan dns-resolving Anda sendiri di router Anda (dnsmasq, dnscache + tinydns, bind, apa pun, lihat komentar quack) dan atur atau gunakan dns-resolver pada windows yang dapat Anda kontrol sesuai keinginan.
lihat di sini untuk daftar dns-resolvers, periksa kolom "wildcard", mungkin powerdns atau maradns atau posadis adalah sesuatu yang sesuai dengan kebutuhan Anda.
sumber
Ini sintaks lain: xxx.xxx.xxx.xxx somedomain.com
Beberapa contoh untuk menjelaskannya:
Anda memblokir / memimpin semua url tingkat kedua (ketiga, keempat ...) dengan url tingkat atas (kedua, ketiga ...) dalam file hosts.
sumber
www.example.com
tidak diblokir oleh baris pertama, tetapi hanya saat menambahkan127.0.0.1 example.com
?Jika Anda ingin memblokir setiap subdomain di somedomain.com, maka pertimbangkan apakah menghilangkan "*." akan mencapai apa yang Anda inginkan.
Mengedit contoh Anda:
sumber