Lebih disukai sesuatu yang mirip dengan iptables
. Pada dasarnya, saya ingin melakukan pemfilteran domain / daftar putih / daftar hitam seperti yang saya lakukan dengan IP iptables
. Apakah ada rekomendasi tentang cara melakukan ini?
12
iptables
dapat dilakukan tetapi mungkin tidak pastiJawaban:
Jika Anda menghentikan lalu lintas menggunakan resolusi nama dengan aturan iptables, nama-nama tersebut akan diselesaikan selama pembuatan aturan itu. Jika sesuatu berubah, Anda berkuasa tidak akan valid lagi. Ini bisa menjadi solusi (bukan yang indah ...):
Dari host lain di dalam LAN:
Pada dasarnya, Anda mengatakan kepada setiap paket dns (
udp/53
) yang memiliki string heksadesimal yangwww.facebook.com to
akan dihapus. Perhatikan bahwa ini akan menjatuhkan resolusi nama, dan bukan lalu lintas http itu sendiri.Bilangan heks yang dipisahkan dengan pipa (
|03|www|08|facebook|03|com
) adalah representasi dari.
simbol titik pada permintaan dns. Ia akan mengatakan berapa banyak karakter berikut yang akan mewakili setiap bagian dari FQDN (host, domain, domain tingkat atas) Contoh:tuan rumah:
mail.google.com
representasi hex:
04 6d 61 69 6c 06 67 6f 6f 67 6c 65 03 63 6f 6d
Representasi "visual":
04mail06google03com
Mendapatkan paket dengan tcpdump:
Tapi ingat:
Sumber: Di sini dan di sini
sumber
Mungkin jawaban untuk pertanyaan Anda sudah terlambat, tetapi baru-baru ini saya perlu menyelesaikan masalah serupa dan Google membawa saya ke sini
Setelah pencarian yang gagal saya menulis sebuah utilitas kecil di C yang mencegat tanggapan DNS, membandingkan nama domain di dalamnya dengan regex yang diberikan dan daftar yang cocok dengan alamat IP. Ini dia: https://github.com/vmxdev/sidmat/
Anda tidak perlu mengatur server DNS Anda sendiri, utilitas dapat menangkap respons DNS dari server mana pun
Misalnya, untuk melihat alamat ip facebook.com (dan subdomain) yang diselesaikan sekarang Anda dapat menjalankan
di mana eth0 adalah antarmuka jaringan pada router (atau di mana tanggapan DNS lewat)
Anda dapat dengan mudah mengintegrasikannya dengan iptables (atau iptables dengan ipset)
Tapi:
sumber
Untuk daftar hitam cara termudah mungkin dengan menggunakan dnsmasq
Install
dnsmasq
dan tambahkan baris ini ke
/etc/dnsmasq.conf
Ini akan memblokir facebook.com dan semua subdomainnya.
Catatan: Untuk ubuntu lihat posting ini .
sumber
Jika menjalankan caching bind9 lokal itu sering disadari oleh a
dummy-block
dan
dummy-block
file:Lihat juga:
Menjalankan BIND9 dan ISC-DHCP dengan
facebook.com
contoh.Pendekatan Berbasis DNS Sederhana untuk Memblokir Iklan Web
sumber