GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Mengatur Pihole di Wadah Docker

Mungkin Anda diganggu oleh iklan pop-up setiap kali membaca artikel di sebuah situs web. Dengan semua iklan itu, bagaimana cara memblokirnya? Instal Pi-hole di Docker, dan gunakan Pi-hole sebagai pemblokir iklan di seluruh jaringan dan tingkatkan kinerja jaringan Anda.

Dalam tutorial ini, Anda akan belajar cara mengatur dan menjalankan Pi-hole dalam wadah Docker untuk memblokir iklan dan situs web. Terdengar menarik? Baca terus untuk mempelajari lebih lanjut!

Prasyarat

Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki yang berikut:

  • Docker diinstal pada Windows 10 (tetapi semua OS yang didukung akan berfungsi).
  • PC Windows 10 – Tutorial ini menggunakan OS Windows 10 Build 19042.1165.

Membuat Dua Volume Docker yang Persisten

Saat menyiapkan Pi-hole di wadah Docker, Anda harus terlebih dahulu membuat volume Docker untuk menyimpan aplikasi Pi-hole dan konfigurasi DNS.

Buka PowerShell sebagai administrator, lalu jalankan perintah di bawah ini untuk Docker untuk membuat dua volume (volume create ) bernama pihole_app dan dns_config . Anda juga dapat mengubah nama sesuai dengan preferensi Anda.

docker volume create pihole_app
docker volume create dns_config

Selanjutnya, verifikasi bahwa volume Docker telah berhasil dibuat dengan menjalankan perintah berikut yang mencantumkan semua volume Docker yang tersedia di mesin Anda.

docker volume ls

Di bawah, Anda melihat dua volume yang baru dibuat bernama pihole_app dan dns_config .

Menjalankan Pi-hole di Docker Container dengan Variabel Lingkungan

Sekarang setelah Anda memiliki dua volume persisten yang tersedia, Anda siap untuk menjalankan container Docker menggunakan image Docker dasar Pi-hole. Tapi pertama-tama, Anda harus mencatat alamat IP lokal Anda.

Jalankan perintah di bawah ini untuk mendapatkan alamat IP lokal Anda. Alamat IP lokal Anda diperlukan untuk menjalankan perintah Docker tunggal dengan benar.

ipconfig /all

Selanjutnya, jalankan perintah di bawah ini untuk menarik pihole/pihole gambar dasar dari hub Docker. Ganti nilainya sesuai dengan tabel di bawah ini sebagai referensi Anda. Tabel di bawah menjelaskan setiap flag dari tujuan perintah.

docker run --name=pihole -e TZ=Asia/Manila -e WEBPASSWORD=password -e SERVERIP=YourIPAddressHere -v pihole_app:/etc/pihole -v dns_config:/etc/dnsmasq.d -p 81:80 -p 53:53/tcp -p 53:53/udp --restart=unless-stopped pihole/pihole

Bendera Perintah Docker Lubang Pi

Bendera Perintah Definisi
—nama=pihole Menamai container Docker sebagai pihole. Akan ada kesalahan jika wadah dengan nama yang sama sudah ada di mesin Anda
-e TZ=Asia/Manila Variabel lingkungan untuk zona waktu. Asia/Manila digunakan untuk tutorial ini, tetapi Anda dapat memasukkan apa pun yang memiliki format yang sama seperti yang tercantum di GitHub Gist.
-e WEBPASSWORD=sandi Menetapkan kata sandi untuk antarmuka Pi-hole.
-e SERVERIP=AlamatIPAAndaDi Sini Tetapkan alamat IP Anda untuk wadah Docker. Anda akan menggunakan ini lagi nanti untuk membuat lubang-Pi bekerja.
-v pihole_app:/etc/pihole Pasang volume pihole_app dan gunakan subdirektori /etc/pihole untuk menyimpan file Pi-hole
-v dns_config:/etc/dnsmasq.d Pasang volume dns_config dan gunakan subdirektori /etc/dnsmasq. d untuk menyimpan konfigurasi DNS sesuai kebutuhan.
p 81:80 -p 53:53/tcp -p 53:53/udp Memetakan port mesin host ke port container Docker (port 81 di mesin host memetakan ke port 80 container Docker)
—mulai ulang=kecuali dihentikan Menetapkan kebijakan mulai ulang sehingga wadah Docker selalu dimulai ulang kecuali dihentikan secara manual oleh pengguna.
lubang/lubang Memberitahu perintah docker run untuk menggunakan gambar dasar pihole/pihole resmi dari hub Docker.

Di bawah ini, Anda dapat melihat perintah menarik pihole/pihole gambar dasar dari Docker Hub. Setelah pihole/pihole image diunduh di mesin Anda, perintah secara otomatis melanjutkan dan mengikuti parameter yang Anda atur dalam perintah.

Setelah menarik pihole/pihole gambar dasar, Anda akan melihat output seperti di bawah ini, yang menunjukkan bahwa Anda sudah dapat menjalankan dasbor Pi-hole dari container.

Mengakses Antarmuka Web Dasbor Pi-hole

Setelah wadah Docker yang Anda buat berjalan, Anda sekarang dapat mengakses dasbor Pi-hole. Dasbor Pi-hole adalah antarmuka grafis yang memungkinkan Anda mengonfigurasi iklan mana yang akan diblokir baik melalui daftar hitam Anda sendiri atau daftar hitam yang dikelola komunitas.

Navigasikan ke http://localhost:81 di browser Anda karena sebelumnya Anda telah memetakan port 81 dari mesin host ke port 80 dari wadah Docker. Dengan melakukan itu, browser web Anda mengalihkan halaman ke dasbor Pi-hole.

Jika Anda menyetel port yang berbeda saat menjalankan docker sebelumnya perintah, ubah port untuk mengakses dasbor Pi-hole. Misalnya, http://localhost:n di mana 'n' mewakili nomor port.

Sekarang, masuk ke dasbor Pi-hole dengan kata sandi yang Anda atur dengan menjalankan docker perintah di bagian "Menjalankan Kontainer Docker Pi-hole dengan Variabel Lingkungan". Untuk tutorial ini, passwordnya adalah “password” (tanpa tanda petik).

Seperti yang Anda lihat di bawah, penampung Pi-hole tidak secara aktif memblokir iklan dan dalam mode siaga menunggu apa yang disebut "kueri" atau permintaan iklan untuk dievaluasi.

Mengarahkan Server DNS Host ke Alamat IP Pi-hole

Dengan server Pi-hole berjalan, bagaimana Anda mulai memblokir iklan di sistem lokal Anda? Anda perlu memberi tahu sistem lokal Anda untuk merutekan semua permintaan ke alamat IP lubang-Pi dan memblokir iklan yang cocok. Baca terus untuk mengetahui caranya!

1. Klik kanan ikon pengaturan jaringan Anda di baki sistem Windows dan pilih Buka Pengaturan Jaringan &Internet untuk melihat daftar semua adapter jaringan di mesin Anda.

2. Selanjutnya, klik kanan pada adaptor jaringan Anda dan pilih Properties . Jendela pengaturan adaptor jaringan Anda akan muncul.

3. Pilih Internet Protocol Version 4 (TCP/IPv4) dari daftar di bawah Jaringan tab, lalu klik Properti tombol.

4. Konfigurasikan properti IPv4 dengan yang berikut:

  • Pilih opsi Gunakan alamat IP berikut untuk mengatur alamat IP statis. Penetapan IP statis ke mesin host memungkinkan perangkat lain untuk terhubung dan menggunakan adblocker. Gateway default untuk router berbeda tergantung pada pengaturan penyedia ISP Anda di negara Anda.
  • Pilih opsi Gunakan alamat server DNS berikut opsi untuk mengonfigurasi server DNS Anda, dan menambahkan server DNS di Server DNS pilihan bidang. Masukkan alamat IP server Docker yang Anda tetapkan dari docker sebelumnya perintah di bawah bagian “Menjalankan Kontainer Docker Pi-hole dengan Variabel Lingkungan”.
  • Tambahkan server alternatif seperti server Google 8.8.8.8 di Server DNS alternatif bidang, dan klik OK . Server DNS alternatif berfungsi sebagai server DNS jika wadah Docker Pi-hole turun karena suatu alasan. Anda dapat memberikan nilai lain ke server DNS alternatif yang Anda inginkan.

Mengonfigurasi DNS Satu Perangkat

Dengan asumsi Anda memiliki ponsel cerdas atau perangkat lain yang terhubung ke jaringan yang sama, Anda dapat mengarahkan server DNS perangkat tersebut agar sesuai dengan alamat IP host. Dalam tutorial ini, smartphone terhubung ke jaringan yang sama.

1. Di setelan jaringan nirkabel ponsel cerdas, ketuk Manual dan masukkan alamat IP dari mesin host. Anda juga dapat menambahkan alamat IP alternatif jika Pi-hole gagal.

Antarmuka pengaturan jaringan nirkabel pada ponsel cerdas berbeda satu sama lain.

2. Sekarang kunjungi beberapa situs web yang sarat dengan iklan di browser web ponsel cerdas Anda.

Untuk contoh ini, situs web Daily Mail dan New York Times dikunjungi berulang kali selama 5-10 menit. Admin browser langsung di dasbor Pi-hole menunjukkan jumlah iklan yang diblokir dari perangkat, seperti yang ditunjukkan di bawah ini.

Grafik batang adalah tambahan terbaru untuk versi terbaru Pi-hole pada saat penulisan ini. Beberapa versi lama memiliki diagram garis sebagai gantinya.

Mengaktifkan Pemblokiran Seluruh Jaringan Rumah melalui Pengaturan Router

Daripada mengonfigurasi server DNS pada satu perangkat, coba konfigurasikan server DNS untuk semua perangkat di pengaturan router Anda. Tergantung pada router Anda, mungkin ada atau tidak ada ketentuan untuk menggunakan alamat IP.

Untuk demo ini, router tidak mengizinkan akses untuk mengubah server DNS dan DHCP. Jadi jaringan rumah tidak dieksplorasi secara lengkap dalam tutorial ini karena kendala router.

Dalam contoh tampilan admin, Anda mungkin dapat menyandikan IP server DNS dengan cara yang sama seperti yang dilakukan di satu perangkat. Demo ini menggunakan router Prolink PRS1841U-v2 yang dikunci ke ISP.

Antarmuka konfigurasi DNS berbeda dari router ke router, tetapi pengaturannya terlihat seperti di bawah ini.

Anda juga dapat menonaktifkan server DHCP di router dan kemudian mengaktifkan server DHCP di Pi-hole sebagai gantinya. Sebuah contoh diskusi di komunitas Pi-hole menunjukkan hal ini secara lebih rinci.

Memblokir Situs Web melalui Pi-hole Dashboard

Pemasangan default Pi-hole memblokir sekitar 92.725 situs web secara default, tetapi Anda juga dapat menambahkan lebih banyak situs web melalui daftar hitam dari pembuat Pi-hole dan daftar lain yang dibagikan oleh penggemar Pi-hole.

1. Simpan situs web yang akan diblokir dalam file teks dengan nama pilihan Anda. Untuk contoh ini, file tersebut bernama blocklist.txt .

2. Jalankan docker perintah di bawah ini untuk menyalin blocklist.txt file (cp blocklist.txt ) ke volume wadah Docker dalam file bernama blacklist.txt . Simpan daftar hitam.txt file pada volume Docker sehingga Pi-hole akan mendeteksinya secara otomatis.

docker cp blocklist.txt d70:/etc/pihole/blacklist.txt

3. Terakhir, navigasikan ke dasbor admin Pi-hole lagi. Klik Alat menu di panel kiri, lalu Perbarui Gravitasi tautan. Terakhir, klik Perbarui untuk mengambil daftar URL yang diperbarui untuk diblokir Pi-hole.

Pembaruan yang berhasil akan terlihat seperti di bawah ini.

Memperbarui Daftar Blokir Situs Web melalui Konsol

Mungkin Anda lebih suka menjalankan perintah konsol daripada menavigasi dasbor Pi-hole. Jika demikian, Anda dapat menjalankan perintah buruh pelabuhan di PowerShell untuk memblokir situs web. Jalankan docker exec perintah di bawah ini untuk membuat sesi terminal interaktif ke pihole_app Wadah Docker, yang memungkinkan menjalankan perintah.

docker exec -it pihole_app /bin/bash

Setelah sesi terminal terbuka, jalankan perintah di bawah ini untuk memperbarui daftar hitam URL Pi-hole.

pihole -g

Jalankan kembali pihole -g dari waktu ke waktu sehingga pemblokir iklan Anda akan terus diperbarui.

Memblokir Situs Web melalui Daftar Hitam URL yang Dikelola Komunitas

Beberapa URL didedikasikan untuk diperbarui secara berkala oleh kontributornya, dan beberapa tidak, jadi mengunggah daftar hitam dari daftar lama mungkin tidak mencerminkan perubahan terbaru.

Manfaatkan fitur manajemen grup daftar blokir Adlist dari Pi-hole. Pada dasbor Pi-hole, klik Manajemen GrupIklan menu di panel kiri, lalu klik Tambah untuk memilih daftar URL yang ingin Anda tambahkan di Pi-hole.

Kesimpulan

Dalam tutorial ini, Anda mempelajari cara mengunduh gambar Docker Pi-Hole, menguji antarmuka web Pi-hole yang mendengarkan aktif, menguji perangkat eksternal untuk terhubung ke Pi-hole. Anda juga telah mempelajari cara memblokir iklan dan situs web, bahwa Anda telah melihat dasbor Pi-hole beraksi saat memblokirnya.

Dengan pengetahuan ini, mengapa tidak menggunakan mesin host mana pun untuk memblokir iklan ke perangkat lain yang terhubung di jaringan yang sama?


Docker
  1. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  2. Cara Menjalankan MySQL Dalam Wadah Docker

  3. Cara SSH Ke Wadah Docker

  1. Cara menginstal WordPress menggunakan Docker

  2. Cara Menginstal Vim di Wadah Docker

  3. Cara Mendaftar Kontainer Docker

  1. Cara Menjalankan Perintah di Running Docker Container

  2. Cara Menetapkan IP Statis ke Wadah Docker

  3. Cara Keluar dari Kontainer Docker