GNU/Linux >> Belajar Linux >  >> Linux

Pi-Hole - Segitiga DNS

Internet modern adalah tempat yang cukup mengganggu. Cukup sering, aktivitas polos seperti membaca teks atau menonton video terganggu oleh pesan promosi yang lebih dikenal sebagai iklan. Ini tidak akan menjadi masalah jika iklannya relevan, tepat waktu, atau tidak mengganggu, tetapi meskipun ada banyak "kemajuan" dalam kecerdasan buatan, pembelajaran mendalam, dan kata kunci lainnya, semua itu bukan salah satunya. Kemudian, kami memiliki privasi dan yang lainnya.

Pertempuran antara pemberi iklan dan pemblokir iklan berkecamuk. Ini juga meningkat secara perlahan, karena semakin banyak orang yang menentang model iklan tatap muka yang agresif. Untuk sebagian besar, jika Anda menggunakan ekstensi pemblokiran iklan di browser Anda, Anda sudah siap. Tapi kemudian, Anda berada di bawah kekuasaan perusahaan browser dan apa yang mereka izinkan, ditambah ini tidak selalu berfungsi di setiap browser dan/atau sistem operasi. Solusinya adalah menyelesaikan permintaan jaringan blokir ke server iklan, dan inilah yang dilakukan Pi-Hole. Mari kita tinjau.

Memulai

Pi-Hole adalah lubang hitam bagi pengiklan Internet. Ini adalah seperangkat alat perangkat lunak yang akan memblokir permintaan DNS ke domain yang diidentifikasi sebagai penayangan iklan sehingga sesi penjelajahan Anda - atau aktivitas apa pun yang berhubungan dengan Internet dalam hal ini - tidak pernah menyertakan iklan apa pun. Ini adalah solusi tingkat jaringan, dan karena itu, ini harus bekerja untuk semua skenario. Manfaatnya, selain mengurangi kebisingan, juga mencakup pengurangan volume lalu lintas, peningkatan privasi, dan lainnya.

Ini membuat saya tertarik, dan saya memutuskan untuk mengatur Pi-Hole. Sekarang, secara umum, Pi-Hole dirancang untuk digunakan sebagai alat. Seperti namanya, Anda mungkin ingin menggunakan perangkat Raspberry Pi yang murah, menginstal Pi-Hole di atasnya, dan kemudian menggunakannya sebagai filter jaringan Anda. Di situlah letak masalah nomor satu - Anda memang memerlukan pemahaman tentang jaringan untuk dapat mengkonfigurasi Pi-Hole dengan benar. Secara keseluruhan, solusi Pi-Hole lengkap mencakup:

  • Pengaturan perangkat yang akan menjalankan perangkat lunak Pi-Hole - ini dapat berupa sistem khusus di jaringan Anda, atau Anda dapat mengonfigurasi Pi-hole di mesin mana pun yang menjalankan Linux. Misalnya, jika Anda memiliki beberapa laptop atau desktop Linux, masing-masing dapat menjadi filter jaringannya sendiri.
  • Langkah selanjutnya adalah mengkonfigurasi Pi-Hole sebagai server DNS - Intinya, kita menjelajah menggunakan nama domain daripada alamat IP. Manusia merasa lebih mudah untuk mengingat sesuatu seperti dedoimedo.com atau example.com daripada urutan angka seperti 1.2.3.4 atau serupa. Ini dilakukan melalui layanan resolusi Domain Name System (DNS), yang menerjemahkan dari nama yang dapat dibaca manusia ke angka. Pi-Hole dapat menerapkan aturan penyaringannya pada saat ini - jika ia mengidentifikasi permintaan ke alamat yang dianggap milik salah satu pengiklan Internet, ia kemudian dapat membatalkan permintaan ini, dan konten seperti itu tidak akan pernah ditayangkan. Tentu saja, ini juga dapat mencakup positif palsu.
  • Langkah terakhir adalah mengkonfigurasi sistem lain untuk menggunakan Pi-Hole sebagai server DNS mereka - Sekali lagi, ini memerlukan beberapa pengetahuan tentang jaringan. Tetapi ini sebenarnya berlaku untuk sistem operasi apa pun. Meskipun alat Pi-Hole harus Linux, setiap mesin dapat mengubah konfigurasi DNS-nya untuk menggunakan alat tersebut, dan sejak saat itu, Pi-Hole akan menjadi perantara, memfilter permintaan jaringan.

Jadi perlu Anda ingat bahwa semua hal di atas membutuhkan keahlian. Anda tidak bisa begitu saja memasang 'n' play solusi seperti ini di setup Anda. Tetapi jika Anda memiliki teman kutu buku, mereka mungkin dapat melakukan ini untuk Anda. Mengenai seberapa sederhana atau rumitnya ini, mari kita lanjutkan.

Panduan penginstalan

Saya mengunduh skrip dan menjalankannya. Anda mendapatkan wizard berbasis teks yang relatif mudah diikuti. Saya menjalankan ini di KDE neon, dan hanya menginstal perangkat lunak dari repositori sistem, selain dari komponennya sendiri, yang berasal dari GitHub.

Anda perlu memberi tahu Pi-Hole DNS apa yang harus digunakan. Misalnya, Anda dapat menggunakan router Anda sendiri, yang biasanya digunakan oleh sistem Linux, seperti 192.168.1.1 atau 192.168.2.1 atau serupa. Hal-hal sedikit lebih sulit untuk dipahami dengan systemd di tempat sekarang, tetapi kita akan sampai di sana. Anda juga memiliki pilihan untuk menggunakan beberapa DNS Internet yang ada (seperti Google atau CloudFlare). Saya memutuskan untuk memulai dengan pengaturan khusus saya.

Seperti pemblokir iklan lainnya, Pi-Hole menggunakan daftar untuk memblokir iklan. Ini adalah tautan terkuat dan terlemah dari solusi, karena jika daftar tidak mutakhir, tidak akurat, atau dibuat dengan buruk, Anda dapat memiliki celah atau kesalahan positif, di mana domain yang sah ditolak. Tapi dalam hal ini, ini tidak berbeda dengan pemblokiran iklan melalui ekstensi browser, kecuali sedikit lebih teliti, karenanya agresif. Sebagian besar ekstensi browser menerapkan aturan hanya untuk domain pihak ketiga, sehingga kemungkinan domain yang diharapkan tidak berperilaku relatif rendah. Pi-Hole dimaksudkan untuk menjadi sangat mudah, dan itu berarti dapat mencegah pemuatan situs yang sah.

UI Web terdengar seperti hal yang menyenangkan. Saya sudah mengonfigurasinya.

Dan itu saja. Seharusnya, Pi-Hole telah diinstal dan dikonfigurasi, dan saya dapat menggunakannya sekarang.

Berhasil?

Tidak. Saya tidak memiliki konektivitas Internet - kegagalan dalam resolusi nama. Sistem lokal saya - neon - menggunakan dirinya sendiri sebagai DNS-nya (atau lebih tepatnya Pi-Hole yang diinstal, yang menggunakan router), tetapi tampaknya Pi-Hole tidak menyediakan layanan resolusinya.

Masalahnya saat ini adalah - Anda tidak dapat online karena tidak memiliki Internet, jadi jika Anda ingin mencari jawaban, Anda memerlukan komputer lain. Saya mencoba mencopot pemasangan Pi-Hole, dan ini adalah solusi sederhana dan bersih, dan konektivitas langsung dipulihkan. Saya menginstalnya lagi, dan mendapatkan hasil yang sama.

Saya memutuskan untuk mencoba beberapa pemeriksaan baris perintah. Pi-Hole hadir dengan beberapa perintah yang memungkinkan Anda mengaktifkannya, menonaktifkannya, memulai layanan resolusi nama, memeriksa status dan sejenisnya. Ternyata saya mengalami masalah dengan sesuatu yang disebut pihole-FTL. Baiklah.

pihole mengaktifkan
[i] Mengaktifkan pemblokiran
[✗] pihole-FTL:tidak ada proses yang ditemukan
[✓] Pi-hole Diaktifkan

Saya mencoba menjalankan pihole-FTL, tetapi tidak mau mulai. Ternyata, saya membutuhkan sudo. Melihat dokumentasi online, kesalahan pengaturan tidak didokumentasikan dengan baik. Jadi sepertinya saya telah melewati rintangan pertama saya dalam konfigurasi.

pihole-FTL
FATAL:Pembukaan log FTL (/var/log/pihole-FTL.log) gagal!
Pastikan itu ada dan dapat ditulisi oleh pengguna neon

sudo pihole-FTL
FTL dimulai!

Tapi saya masih tidak punya internet. Saya pikir layanan DNS masih tidak aktif, jadi saya mencoba memulai ulang.

pihole restartdns
[✗] Gagal memulai pihole-FTL.service:Unit pihole-FTL.service tidak ditemukan.

Dari kesalahan, saya pikir tidak ada file unit untuk memulai layanan FTL, atau bork. Mencari online, saya mengetahui bahwa file layanan perlu diubah. Yaitu, di bawah /etc/init.d/pihole-FTL, saya harus mengedit baris yang memanggil FTL dari:

su -s /bin/sh -c "/usr/bin/pihole-FTL" "$FTLUSER"

Ke baris ini saja:

/usr/bin/pihole-FTL

Setelah ini, Pi-Hole dimulai tanpa kesalahan.

sudo pihole restartdns
[✓] Memulai layanan DNS

Pi-Hole tidak memblokir iklan

Saya memang memiliki konektivitas, tetapi iklannya ada di sana. Pi-Hole tidak melakukan penyaringan apapun. Jadi saya memutuskan untuk mengakses UI Web dan melihat apakah saya bisa melakukan perubahan dan penyesuaian di sana. Tetapi ketika saya mencoba pergi ke alamat Pi-Hole, tidak ada server Web yang mendengarkan. http://ip-address/admin dan http://pi-hole/admin tidak melakukan apa-apa.

Saya melakukan beberapa pengujian lagi pada baris perintah, dan ternyata layanan lighttpd tidak berjalan, yang akan menjelaskan mengapa saya tidak memiliki UI Web. Jadi sudah waktunya untuk melakukan sihir lagi, dan sekali lagi, dokumentasinya agak jarang tentang hal ini. Saya menemukan lebih banyak kesalahan:

sudo systemctl restart lighttpd.service
Pekerjaan untuk lighttpd.service gagal karena proses kontrol keluar dengan kode kesalahan. Lihat "systemctl status lighttpd.service" dan "journalctl -xe" untuk detailnya.

Namun kali ini, karena saya memiliki Internet, saya dapat mencari secara online, dan segera menemukan alasan untuk masalah tersebut. Utas berikut membawa saya ke jawaban yang benar - meskipun TIDAK ADA dalam log kesalahan yang akan menunjukkan solusinya. Dan di sini, saya ingin menunjukkan, sekali lagi, kompleksitas systemd yang tidak dapat diuraikan. Saya harus mencari informasi dalam log biner, dan meskipun demikian, informasi tersebut tidak berguna.

Saya sebenarnya kehilangan sebuah paket - gamin - mengapa itu tidak langsung diinstal sebagai ketergantungan, tidak tahu. Tetapi setelah saya menginstal ini, lighttpd mulai dengan baik, dan UI Web siap untuk saya jelajahi.

sudo apt-get install gamin

systemctl status lighttpd.service
● lighttpd.service - Lighttpd Daemon
Dimuat:dimuat (/lib/systemd/system/lighttpd.service; diaktifkan; preset vendor:diaktifkan)
Aktif:aktif ( berjalan) sejak Kamis-05-09 15:34:03 CEST; 2 detik yang lalu
Proses:19060 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS)
PID Utama:19069 (lighttpd )
Tugas:6 (batas:4915)
CGroup:/system.slice/lighttpd.service
19069 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd .conf
19078 /usr/bin/php-cgi
19079 /usr/bin/php-cgi
19080 /usr/bin/php-cgi
19081 /usr/bin/php-cgi
19082 /usr/bin/php-cgi

Login dan kata sandi UI Web

Tapi saya masih tidak memiliki iklan yang diblokir. Jadi saya mencoba masuk, dan menyadari bahwa saya memiliki masalah lain - saya tidak dapat mengakses halaman admin tempat saya dapat benar-benar memeriksa semua log dan detail, dan membuat perubahan. Sekali lagi, mencari secara online, saya menemukan bahwa saya harus mengatur ulang kata sandi default dari baris perintah:

pihole -a -p

Saya kemudian memiliki akses ke pengaturan UI Web. Ini adalah antarmuka yang sangat bagus dan kuat. Anda mendapatkan banyak opsi, termasuk kemampuan untuk menghentikan sementara Pi-Hole, jadi jika Anda mengalami masalah, alih-alih mengubah semuanya, Anda hanya dapat menjeda pemfilteran. Tidak perlu bermain-main dengan pengaturan DNS.

Mengisi daftar blokir

Dan melalui antarmuka, saya menyadari bahwa daftar blokir saya semuanya kosong. Ya, ini terlihat dari halaman utama, tetapi Anda perlu tahu apa yang Anda cari. Mengapa Pi-Hole tidak meminta Anda untuk memperbarui daftar atau benar-benar melakukan ini sebagai bagian dari pengaturan? Saya menjalankan pembaruan manual dari baris perintah, dan daftar dibuat.

pihole -g -f

Baiklah, apakah berhasil?

Ya, sekarang, akhirnya berhasil! Pi-Hole sekarang melakukan tugas DNS-nya dan juga memfilter lalu lintas. Saya harus mengatakan itu efektif dan tidak mengganggu. Dan jika saya tidak salah, bahkan ada sedikit peningkatan kinerja di sisi jaringan, karena sistem harus menangani lebih sedikit kueri dan menyajikan lebih sedikit konten. Memang, bahkan dengan beberapa penjelajahan yang tidak bersalah, 20% dari semua kueri diblokir. Kedengarannya seperti banyak. Tetapi ini juga menyoroti situasi Internet modern saat ini. Fakta bahwa ada lebih dari 100.000 domain di daftar blokir juga menceritakan bagian dari kisah sedih ini. Ini juga menjelaskan peningkatan latensi yang lembut.

Kesimpulan

Pada akhirnya, saya menjalankan Pi-hole, tetapi pengaturannya jauh dari sepele. Ada empat atau lima masalah utama, dan seharusnya tidak satu pun dari ini terjadi, karena wizard penginstalan dapat melalui pemeriksaan terpisah untuk memastikan semuanya berfungsi. Bagian dari menjalankan pertama kali bisa menjadi pemeriksaan layanan, dan jika ada masalah di sana, semacam diagnosis mandiri untuk memastikan FTL aktif dan berjalan. Hal yang sama berlaku untuk layanan Web. Lalu, ada pengaturan ulang kata sandi dan pembaruan daftar. Semua ini akan membuat pengalaman menjadi lebih efisien.

Sebagai sebuah produk, Pi-Hole adalah alat yang sangat bagus dan kuat. Ia melakukan tugasnya dengan sangat baik, cepat, efektif dan kuat, dan UI Web dirancang dengan baik. Anda juga mendapatkan beberapa di sisi lalu lintas, karena ada lebih sedikit konten yang perlu disajikan, dan lebih sedikit kueri yang harus diselesaikan, sehingga peningkatan kinerja untuk hal-hal yang penting. Pengaturannya tidak sepele tetapi dapat dicapai, dan Anda memiliki banyak fleksibilitas dalam cara menghubungkan jaringan Anda. Anda dapat memiliki Pi-Hole sebagai sistem yang berdiri sendiri, atau dapat melayani semua perangkat yang berbeda di rumah Anda. Secara keseluruhan, ini adalah senjata kiamat jika dan ketika Internet menjadi jahat pada Anda. Layak pengujian, tapi ingat aturan kedua termodinamika. Anda tidak dapat memiliki hal yang sepele dan kompleks pada saat yang bersamaan.


Linux
  1. Pengantar editor vi

  2. Luncurkan di Rackspace Cloud

  3. Apa utilitas baris perintah DNS terbalik?

  1. Pengantar singkat tentang sistem file Linux untuk pengguna Windows.

  2. Cara menginstal resolver DNS Tidak Terikat di Ubuntu 22.04

  3. Apa Jenis-Jenis Server DNS

  1. Cara Membersihkan Cache DNS di Ubuntu

  2. Slackware 15 - Brigade lama

  3. Devuan Chimaera - Kembali ke masa depan, maju ke masa lalu