Menggunakan Menara Pengawal? Lihat Catatan tentang Menara Pengawal di bagian bawah readme ini
Mulai 2023.01
, jika Anda memiliki modifikasi apa pun untuk lighttpd melalui file external.conf
, file ini sekarang perlu dipetakan ke /etc/lighttpd/conf-enabled/whateverfile.conf
sebagai gantinya
Karena masalah umum dengan Docker dan libseccomp <2.5, Anda mungkin mengalami masalah saat menjalankan 2022.04
dan yang lebih baru pada sistem host dengan versi libseccomp2
yang lebih lama (seperti buster Debian/Raspbian atau Ubuntu 20.04, dan mungkin CentOS 7).
Rekomendasi pertama adalah mengupgrade OS host Anda, yang akan menyertakan versi libseccomp
yang lebih mutakhir (dan sudah diperbaiki).
Jika Anda benar-benar tidak dapat melakukan ini, beberapa pengguna telah melaporkan keberhasilan dalam memperbarui libseccomp2
melalui backports di debian, atau serupa melalui pembaruan di Ubuntu. Anda dapat mencoba solusi ini dengan risiko Anda sendiri (Catatan, Anda mungkin juga memerlukan docker.io
terbaru (detail lebih lanjut di sini)
Beberapa pengguna telah melaporkan masalah saat menggunakan tanda --privileged
pada 2022.04
dan yang lebih baru. TL;DR, jangan gunakan mode itu, dan jelaskan secara eksplisit batas yang diizinkan (jika perlu).
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services :
pihole :
container_name : pihole
image : pihole/pihole:latest
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
ports :
- " 53:53/tcp "
- " 53:53/udp "
- " 67:67/udp " # Only required if you are using Pi-hole as your DHCP server
- " 80:80/tcp "
environment :
TZ : ' America/Chicago '
# WEBPASSWORD: 'set a secure password here or it will be random'
# Volumes store your data between container upgrades
volumes :
- ' ./etc-pihole:/etc/pihole '
- ' ./etc-dnsmasq.d:/etc/dnsmasq.d '
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add :
- NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
restart : unless-stopped
docker compose up -d
untuk membangun dan memulai pi-hole (Sintaksnya mungkin berupa docker-compose
pada sistem lama)bridge
default Docker. (Ini juga dapat dicapai dengan mengatur variabel lingkungan DNSMASQ_LISTENING
ke all
)Berikut adalah skrip menjalankan buruh pelabuhan yang setara.
Proyek Docker untuk membuat container x86 dan ARM yang ringan dengan fungsionalitas Pi-hole.
Kontainer ini menggunakan 2 port populer, port 53 dan port 80, sehingga mungkin bertentangan dengan port aplikasi yang ada . Jika Anda tidak memiliki layanan atau wadah buruh pelabuhan lain yang menggunakan port 53/80 (jika Anda memilikinya, teruslah membaca di bawah untuk contoh proksi terbalik), argumen minimum yang diperlukan untuk menjalankan wadah ini ada dalam skrip docker_run.sh
Jika Anda menggunakan distribusi berbasis Red Hat dengan kebijakan SELinux Enforcing, tambahkan :z
sesuai dengan volume seperti:
-v "$(pwd)/etc-pihole:/etc/pihole:z"
-v "$(pwd)/etc-dnsmasq.d:/etc/dnsmasq.d:z"
Volume direkomendasikan untuk menyimpan data di seluruh pembuatan ulang kontainer untuk memperbarui gambar. Variabel pencarian IP mungkin tidak berfungsi untuk semua orang, harap tinjau nilainya dan kode keras IP dan IPv6 jika perlu.
Anda dapat menyesuaikan tempat menyimpan data persisten dengan mengatur variabel lingkungan PIHOLE_BASE
saat memanggil docker_run.sh
(misalnya PIHOLE_BASE=/opt/pihole-storage ./docker_run.sh
). Jika PIHOLE_BASE
tidak disetel, file disimpan di direktori Anda saat ini saat Anda menjalankan skrip.
Pembaruan Daftar Iklan Otomatis - sejak rilis 3.0+, cron
dimasukkan ke dalam wadah dan akan mengambil versi terbaru daftar Anda dan menghapus log Anda. Atur variabel lingkungan TZ Anda untuk memastikan rotasi log tengah malam disinkronkan dengan tengah malam zona waktu Anda.
Ada beberapa cara berbeda untuk menjalankan DHCP dari dalam wadah Docker Pi-hole Anda, tetapi cara ini sedikit lebih canggih dan satu ukuran tidak cocok untuk semua. Berbagai mode jaringan DHCP dan Docker dibahas secara rinci di situs dokumen kami: Docker DHCP dan Mode Jaringan
Ada variabel lingkungan lain jika Anda ingin menyesuaikan berbagai hal di dalam wadah buruh pelabuhan:
Variabel | Bawaan | Nilai | Keterangan |
---|---|---|---|
TZ | UTC |
| Tetapkan zona waktu Anda untuk memastikan log dirotasi pada tengah malam setempat, bukan pada tengah malam UTC. |
WEBPASSWORD | acak |
| http://pi.hole/kata sandi admin. Jalankan docker logs pihole | grep random untuk menemukan pass acak Anda. |
FTLCONF_LOCAL_IPV4 | tidak disetel |
| Atur ke IP LAN server Anda, yang digunakan oleh mode blok web. |
Variabel | Bawaan | Nilai | Keterangan |
---|---|---|---|
PIHOLE_DNS_ | 8.8.8.8;8.8.4.4 | IP dibatasi oleh ; | Server DNS upstream untuk Pi-hole yang meneruskan kueri, dipisahkan dengan titik koma (mendukung port non-standar dengan #[port number] ) misalnya 127.0.0.1#5053;8.8.8.8;8.8.4.4 (mendukung nama dan tautan layanan Docker, bukan IP) misalnya upstream0;upstream1 dengan upstream0 dan upstream1 adalah nama layanan atau tautan ke layanan buruh pelabuhanCatatan: Keberadaan variabel lingkungan ini mengasumsikan ini sebagai satu-satunya pengelolaan DNS upstream. DNS upstream yang ditambahkan melalui antarmuka web akan ditimpa saat restart/rekreasi container |
DNSSEC | false | <"true"|"false"> | Aktifkan dukungan DNSSEC |
DNS_BOGUS_PRIV | true | <"true"|"false"> | Jangan pernah meneruskan pencarian terbalik untuk rentang pribadi |
DNS_FQDN_REQUIRED | true | <"true"|"false"> | Jangan pernah meneruskan non-FQDN |
REV_SERVER | false | <"true"|"false"> | Aktifkan penerusan bersyarat DNS untuk resolusi nama perangkat |
REV_SERVER_DOMAIN | tidak disetel | Domain Jaringan | Jika penerusan bersyarat diaktifkan, atur domain router jaringan lokal |
REV_SERVER_TARGET | tidak disetel | IP Perute | Jika penerusan bersyarat diaktifkan, atur IP router jaringan lokal |
REV_SERVER_CIDR | tidak disetel | Membalikkan DNS | Jika penerusan bersyarat diaktifkan, atur zona DNS terbalik (misalnya 192.168.0.0/24 ) |
DHCP_ACTIVE | false | <"true"|"false"> | Aktifkan server DHCP. Sewa DHCP statis dapat dikonfigurasi dengan /etc/dnsmasq.d/04-pihole-static-dhcp.conf khusus |
DHCP_START | tidak disetel |
| Mulai dari kisaran alamat IP yang dibagikan oleh server DHCP (wajib jika server DHCP diaktifkan). |
DHCP_END | tidak disetel |
| Akhir rentang alamat IP yang dibagikan oleh server DHCP (wajib jika server DHCP diaktifkan). |
DHCP_ROUTER | tidak disetel |
| Alamat IP router (gateway) yang dikirim oleh server DHCP (wajib jika server DHCP diaktifkan). |
DHCP_LEASETIME | 24 |
| Waktu sewa DHCP dalam hitungan jam. |
PIHOLE_DOMAIN | lan |
| Nama domain dikirim oleh server DHCP. |
DHCP_IPv6 | false | <"true"|"false"> | Aktifkan dukungan IPv6 server DHCP (SLAAC + RA). |
DHCP_rapid_commit | false | <"true"|"false"> | Aktifkan komitmen cepat DHCPv4 (penugasan alamat cepat). |
VIRTUAL_HOST | ${HOSTNAME} |
| Apa 'host virtual' server web Anda, mengakses admin melalui Nama Host/IP ini memungkinkan Anda melakukan perubahan pada daftar putih / daftar hitam selain alamat default 'http://pi.hole/admin/' |
IPv6 | true | <"true"|"false"> | Untuk kompatibilitas tanpa serangan, hapus semua konfigurasi IPv6 dari DNS/layanan Web jika salah. |
TEMPERATUREUNIT | c |
| Atur satuan suhu pilihan ke satuan c : Celsius, k : Kelvin, atau f Fahrenheit. |
WEBUIBOXEDLAYOUT | boxed |
| Gunakan tata letak kotak (berguna saat bekerja di layar besar) |
QUERY_LOGGING | true | <"true"|"false"> | Aktifkan pencatatan kueri atau tidak. |
WEBTHEME | default-light | <"default-dark"|"default-darker"|"default-light"|"default-auto"|"high-contrast"|"high-contrast-dark"|"lcars"> | Tema antarmuka pengguna yang akan digunakan. |
WEBPASSWORD_FILE | tidak disetel |
| Tetapkan kata sandi Admin menggunakan rahasia Docker. Jika WEBPASSWORD disetel, WEBPASSWORD_FILE diabaikan. Jika WEBPASSWORD kosong, dan WEBPASSWORD_FILE disetel ke jalur file valid yang dapat dibaca, maka WEBPASSWORD akan disetel ke konten WEBPASSWORD_FILE . |
Variabel | Bawaan | Nilai | Keterangan |
---|---|---|---|
INTERFACE | tidak disetel |
| Defaultnya berfungsi dengan baik dengan contoh dasar perintah docker run kami. Jika Anda mencoba menggunakan DHCP dengan mode --net host maka Anda mungkin harus menyesuaikan ini atau DNSMASQ_LISTENING. |
DNSMASQ_LISTENING | tidak disetel |
| mendengarkan local di semua subnet lokal, all mengizinkan mendengarkan di subnet asal internet selain lokal, mendengarkan single hanya pada antarmuka yang ditentukan. |
WEB_PORT | tidak disetel |
| Ini akan merusak fungsionalitas 'halaman web diblokir' dari Pi-hole namun ini dapat membantu pengaturan lanjutan seperti yang menjalankan argumen synology atau --net=host docker. Panduan ini menjelaskan cara memulihkan fungsionalitas halaman web yang diblokir menggunakan aturan DNAT router linux: Metode instalasi Synology Alternatif |
WEB_BIND_ADDR | tidak disetel |
| Alamat pengikatan Lighttpd. Jika tidak disetel, lighttpd akan mengikat ke setiap antarmuka, kecuali saat dijalankan dalam mode jaringan host yang akan menggunakan FTLCONF_LOCAL_IPV4 sebagai gantinya. |
SKIPGRAVITYONBOOT | tidak disetel |
| Gunakan opsi ini untuk melewati pembaruan Gravity Database saat mem-boot container. Secara default, variabel lingkungan ini tidak disetel sehingga Gravity Database akan diperbarui saat container dijalankan. Menyetel variabel lingkungan ini ke 1 (atau apa pun) akan menyebabkan Gravity Database tidak diperbarui saat container dimulai. |
CORS_HOSTS | tidak disetel |
| Daftar domain/subdomain yang mengizinkan CORS. Wildcard tidak didukung. Misalnya: CORS_HOSTS: domain.com,home.domain.com,www.domain.com . |
CUSTOM_CACHE_SIZE | 10000 | Nomor | Tetapkan ukuran cache untuk dnsmasq. Berguna untuk meningkatkan ukuran cache default atau menyetelnya ke 0. Perhatikan bahwa jika DNSSEC "benar", maka pengaturan ini diabaikan. |
FTL_CMD | no-daemon | no-daemon -- | Sesuaikan opsi untuk memulai dnsmasq. misalnya no-daemon -- --dns-forward-max 300 untuk meningkatkan maks. jumlah kueri dns bersamaan pada pengaturan beban tinggi. |
FTLCONF_[SETTING] | tidak disetel | Sesuai dokumentasi | Sesuaikan pihole-FTL.conf dengan pengaturan yang dijelaskan di halaman Konfigurasi FTLDNS. Misalnya, untuk menyesuaikan LOCAL_IPV4, pastikan Anda telah menyetel variabel lingkungan FTLCONF_LOCAL_IPV4 . |
Variabel | Bawaan | Nilai | Keterangan |
---|---|---|---|
DNSMASQ_USER | tidak disetel |
| Memungkinkan mengubah pengguna yang menjalankan FTLDNS. Default: pihole , beberapa sistem seperti Synology NAS mungkin mengharuskan Anda mengubahnya menjadi root (Lihat #963) |
PIHOLE_UID | 999 | Nomor | Mengganti id pengguna pihole default gambar agar cocok dengan id pengguna host PENTING : id belum boleh digunakan di dalam container! |
PIHOLE_GID | 999 | Nomor | Mengganti id grup pihole default gambar agar cocok dengan id grup host PENTING : id belum boleh digunakan di dalam container! |
WEB_UID | 33 | Nomor | Mengganti id pengguna www-data default gambar agar cocok dengan id pengguna host PENTING : id belum boleh digunakan di dalam container! (Pastikan juga berbeda dengan PIHOLE_UID jika Anda menggunakannya) |
WEB_GID | 33 | Nomor | Mengganti id grup data www default gambar agar cocok dengan id grup host PENTING : id belum boleh digunakan di dalam container! (Pastikan juga berbeda dengan PIHOLE_GID jika Anda menggunakannya) |
WEBLOGS_STDOUT | 0 | 0|1 | 0 log ke file yang ditentukan, 1 akses pengalihan dan log kesalahan ke stdout |
Meskipun ini mungkin masih berfungsi, kemungkinan besar akan dihapus di versi mendatang. Jika memungkinkan, nama variabel alternatif akan dicantumkan. Harap tinjau tabel di atas untuk penggunaan variabel alternatif
Lingkungan Docker Var. | Keterangan | Digantikan Oleh |
---|---|---|
CONDITIONAL_FORWARDING | Aktifkan penerusan bersyarat DNS untuk resolusi nama perangkat | REV_SERVER |
CONDITIONAL_FORWARDING_IP | Jika penerusan bersyarat diaktifkan, atur IP router jaringan lokal | REV_SERVER_TARGET |
CONDITIONAL_FORWARDING_DOMAIN | Jika penerusan bersyarat diaktifkan, atur domain router jaringan lokal | REV_SERVER_DOMAIN |
CONDITIONAL_FORWARDING_REVERSE | Jika penerusan bersyarat diaktifkan, atur DNS terbalik dari router jaringan lokal (misalnya 0.168.192.in-addr.arpa ) | REV_SERVER_CIDR |
DNS1 | Penyedia DNS hulu utama, defaultnya adalah Google DNS | PIHOLE_DNS_ |
DNS2 | Penyedia DNS upstream sekunder, defaultnya adalah Google DNS, no jika hanya satu DNS yang digunakan | PIHOLE_DNS_ |
ServerIP | Setel ke IP LAN server Anda, yang digunakan oleh mode blok web dan alamat pengikatan lighttpd | FTLCONF_LOCAL_IPV4 |
ServerIPv6 | Jika Anda memiliki jaringan v6 yang disetel ke LAN IPv6 server Anda untuk memblokir iklan IPv6 sepenuhnya | FTLCONF_LOCAL_IPV6 |
FTLCONF_REPLY_ADDR4 | Setel ke IP LAN server Anda, yang digunakan oleh mode blok web dan alamat pengikatan lighttpd | FTLCONF_LOCAL_IPV4 |
FTLCONF_REPLY_ADDR6 | Jika Anda memiliki jaringan v6 yang disetel ke LAN IPv6 server Anda untuk memblokir iklan IPv6 sepenuhnya | FTLCONF_LOCAL_IPV6 |
Untuk menggunakan env vars ini dalam format docker run, gayakan seperti: -e DNS1=1.1.1.1
Berikut adalah ikhtisar argumen lain untuk proses pembuatan buruh pelabuhan/buruh pelabuhan Anda.
Argumen Docker | Keterangan |
---|---|
-p Direkomendasikan | Port yang akan diekspos (53, 80, 67), port minimum yang diperlukan untuk layanan HTTP dan DNS Pi-hole |
--restart=unless-stopped Direkomendasikan | Secara otomatis (kembali) memulai Pi-hole Anda saat boot atau jika terjadi crash |
-v $(pwd)/etc-pihole:/etc/pihole Direkomendasikan | Volume untuk konfigurasi Pi-hole Anda membantu mempertahankan perubahan di seluruh pembaruan gambar buruh pelabuhan |
-v $(pwd)/etc-dnsmasq.d:/etc/dnsmasq.d Direkomendasikan | Volume untuk konfigurasi dnsmasq Anda membantu mempertahankan perubahan di seluruh pembaruan gambar buruh pelabuhan |
--net=host Opsional | Alternatif untuk argumen -p (Tidak dapat digunakan bersamaan dengan -p) jika Anda tidak menjalankan aplikasi web lainnya. DHCP berjalan paling baik dengan --net=host, jika tidak, router Anda harus mendukung pengaturan dhcp-relay. |
--cap-add=NET_ADMIN Direkomendasikan | Kemampuan yang umumnya ditambahkan untuk DHCP, lihat Catatan tentang Kemampuan di bawah untuk kemampuan lainnya. |
--dns=127.0.0.1 Opsional | Menyetel pengaturan penyelesaian kontainer Anda ke localhost sehingga dapat menyelesaikan nama host DHCP dari DNSMasq Pi-hole, dapat memperbaiki kesalahan resolusi saat restart kontainer. |
--dns=1.1.1.1 Opsional | Menetapkan server cadangan pilihan Anda jika DNSMasq mengalami masalah saat memulai |
--env-file .env Opsional | File untuk menyimpan variabel lingkungan untuk buruh pelabuhan yang menggantikan pengaturan -e key=value . Di sini untuk kenyamanan |
docker exec -it pihole_container_name pihole -a -p
- lalu masukkan kata sandi Anda ke dalam prompt-p 8080:80
jika Anda menggunakan mode pemblokiran default. Jika Anda menggunakan mode pemblokiran IP lama, Anda sebaiknya tidak memetakan ulang port ini.DEFAULT_HOST
env di nginxproxy/nginx-proxy dan Anda perlu mengatur VIRTUAL_HOST
yang cocok untuk wadah Pi-hole. Silakan baca nginxproxy/nginx-proxy readme untuk info lebih lanjut jika mengalami kesulitan.bridge
mode jaringan default Docker mengisolasi kontainer dari jaringan host. Ini adalah pengaturan yang lebih aman, namun memerlukan pengaturan opsi DNS Pi-hole untuk perilaku mendengarkan Antarmuka ke "Dengarkan semua antarmuka, izinkan semua asal". Rilis modern Ubuntu (17.10+) dan Fedora (33+) menyertakan systemd-resolved
yang dikonfigurasi secara default untuk mengimplementasikan penyelesai stub DNS caching. Ini akan mencegah lubang pi mendengarkan pada port 53. Penyelesai rintisan harus dinonaktifkan dengan: sudo sed -r -i.orig 's/#?DNSStubListener=yes/DNSStubListener=no/g' /etc/systemd/resolved.conf
Ini tidak akan mengubah pengaturan server nama, yang mengarah ke pemecah rintisan sehingga mencegah resolusi DNS. Ubah symlink /etc/resolv.conf
agar menunjuk ke /run/systemd/resolve/resolv.conf
, yang secara otomatis diperbarui untuk mengikuti netplan
sistem : sudo sh -c 'rm /etc/resolv.conf && ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf'
Setelah melakukan perubahan ini, Anda harus memulai ulang systemd-resolved menggunakan systemctl restart systemd-resolved
Setelah pi-hole diinstal, Anda dapat mengonfigurasi klien Anda untuk menggunakannya (lihat di sini). Jika Anda menggunakan symlink di atas, host buruh pelabuhan Anda akan menggunakan apa pun yang dilayani oleh DHCP, atau pengaturan statis apa pun yang telah Anda konfigurasikan. Jika Anda ingin secara eksplisit menyetel server nama host buruh pelabuhan Anda, Anda dapat mengedit netplan yang ditemukan di /etc/netplan
, lalu jalankan sudo netplan apply
. Contoh netplan:
network :
ethernets :
ens160 :
dhcp4 : true
dhcp4-overrides :
use-dns : false
nameservers :
addresses : [127.0.0.1]
version : 2
Perhatikan bahwa dimungkinkan juga untuk menonaktifkan systemd-resolved
sepenuhnya. Namun, hal ini dapat menyebabkan masalah pada resolusi nama di VPN (lihat laporan bug). Ini juga menonaktifkan fungsionalitas netplan karena systemd-resolved digunakan sebagai penyaji default (lihat man netplan
). Jika Anda memilih untuk menonaktifkan layanan, Anda perlu mengatur server nama secara manual, misalnya dengan membuat /etc/resolv.conf
yang baru.
Pengguna rilis Ubuntu lama (sekitar 17.04) perlu menonaktifkan dnsmasq.
@ Rikj000 telah membuat panduan untuk membantu pengguna menginstal Pi-hole di Dokku
Tag buruh pelabuhan utama dijelaskan dalam tabel berikut. Klik di sini untuk melihat daftar lengkap tag. Lihat catatan Rilis GitHub untuk melihat versi spesifik Pi-hole Core, Web, dan FTL yang disertakan dalam rilis.
Berbasis Tanggal (termasuk versi "Patch" yang bertambah) tidak berhubungan dengan nomor versi semantik apa pun, melainkan tanggal digunakan untuk membedakan antara versi baru dan versi lama, tidak lebih. Catatan rilis akan selalu berisi detail lengkap perubahan dalam wadah, termasuk perubahan pada komponen inti lubang Pi
menandai | keterangan |
---|---|
latest | Selalu rilis terbaru |
2022.04.0 | Rilis berdasarkan tanggal |
2022.04.1 | Rilis kedua pada bulan tertentu |
dev | Mirip dengan latest , tetapi untuk cabang pengembangan (kadang-kadang didorong) |
*beta | Rilis beta awal dari versi yang akan datang - inilah naga |
nightly | Seperti dev tetapi didorong setiap malam dan menarik dari cabang development terbaru dari komponen inti Pi-hole (Pi-hole, web, FTL) |
Kemampuan kustomisasi lubang Pi standar berlaku untuk buruh pelabuhan ini, tetapi dengan perubahan buruh pelabuhan seperti menggunakan pemasangan volume buruh pelabuhan untuk memetakan konfigurasi file yang disimpan host di atas default kontainer. Namun, pemasangan file konfigurasi ini sebagai read-only sebaiknya dihindari. Volume juga penting untuk mempertahankan konfigurasi jika Anda telah menghapus wadah Pi-hole yang merupakan pola pemutakhiran buruh pelabuhan yang umum.
Jangan mencoba memutakhirkan ( pihole -up
) atau mengkonfigurasi ulang ( pihole -r
). Gambar baru akan dirilis untuk peningkatan, peningkatan dengan mengganti wadah lama Anda dengan gambar baru yang ditingkatkan adalah 'cara buruh pelabuhan'. Kontainer buruh pelabuhan yang berumur panjang bukanlah cara yang tepat untuk buruh pelabuhan karena mereka bertujuan untuk menjadi portabel dan dapat direproduksi, mengapa tidak sering-sering membuatnya kembali! Hanya untuk membuktikan bahwa Anda bisa.
docker pull pihole/pihole
docker rm -f pihole
docker run pihole/pihole
(
menjadi run volume dan env vars pilihan Anda)Mengapa gaya peningkatan ini bagus? Beberapa alasan: Setiap orang memulai dari gambar dasar yang sama yang telah diuji hingga diketahui berhasil. Tidak perlu khawatir tentang peningkatan dari A ke B, B ke C, atau A ke C saat meluncurkan pembaruan, hal ini mengurangi kompleksitas, dan memungkinkan 'awal baru' setiap saat sambil mempertahankan penyesuaian dengan volume. Pada dasarnya saya mendorong prinsip server phoenix untuk container Anda.
Untuk mengonfigurasi ulang Pi-hole, Anda harus menggunakan variabel lingkungan kontainer yang ada atau jika tidak ada variabel yang Anda perlukan, gunakan perintah UI web atau CLI.
Berikut adalah beberapa halaman wiki yang relevan dari dokumentasi Pi-hole. Antarmuka web atau alat baris perintah dapat digunakan untuk mengimplementasikan perubahan pada pihole.
Kami menginstal semua utilitas pihole sehingga perintah pihole bawaan akan bekerja melalui docker exec
seperti:
docker exec pihole_container_name pihole updateGravity
docker exec pihole_container_name pihole -w spclient.wg.spotify.com
docker exec pihole_container_name pihole -wild example.com
Server web dan layanan DNS di dalam penampung dapat dikustomisasi jika perlu. File konfigurasi apa pun yang Anda pasang di volume /etc/dnsmasq.d/
akan dimuat oleh dnsmasq ketika wadah dimulai atau dimulai ulang atau jika Anda perlu memodifikasi konfigurasi Pi-hole, file tersebut terletak di /etc/dnsmasq.d/01-pihole.conf
. Skrip awal buruh pelabuhan menjalankan tes konfigurasi sebelum memulai sehingga skrip ini akan memberi tahu Anda tentang kesalahan apa pun di log buruh pelabuhan.
Demikian pula untuk server web Anda dapat menyesuaikan konfigurasi di /etc/lightpd
Selama layanan sistem buruh pelabuhan Anda dimulai secara otomatis saat boot dan Anda menjalankan container Anda dengan --restart=unless-stopped
container Anda harus selalu dimulai saat boot dan dimulai ulang saat mogok. Jika Anda lebih memilih kontainer buruh pelabuhan Anda dijalankan sebagai layanan systemd, tambahkan file pihole.service ke "/etc/systemd/system"; sesuaikan apa pun nama wadah Anda dan hapus --restart=unless-stopped
dari proses buruh pelabuhan Anda. Kemudian setelah Anda pertama kali membuat container docker menggunakan perintah docker run di atas, Anda dapat mengontrolnya dengan "systemctl start pihole" atau "systemctl stop pihole" (bukan docker start
/ docker stop
). Anda juga dapat mengaktifkannya untuk memulai secara otomatis saat boot dengan "systemctl aktifkan pihole" (sebagai lawan --restart=unless-stopped
dan memastikan layanan buruh pelabuhan dimulai secara otomatis saat boot).
CATATAN: Setelah dijalankan pertama kali, Anda mungkin perlu menghentikan kontainer buruh pelabuhan secara manual dengan "docker stop pihole" sebelum systemctl dapat mulai mengendalikan kontainer.
DNSMasq / FTLDNS mengharapkan kemampuan berikut tersedia:
CAP_NET_BIND_SERVICE
: Memungkinkan pengikatan FTLDNS ke soket TCP/UDP di bawah 1024 (khusus layanan DNS pada port 53)CAP_NET_RAW
: menggunakan soket mentah dan paket (diperlukan untuk menangani permintaan DHCPv6, dan memverifikasi bahwa IP tidak digunakan sebelum menyewakannya)CAP_NET_ADMIN
: memodifikasi tabel routing dan operasi terkait jaringan lainnya (khususnya memasukkan entri ke dalam tabel tetangga untuk menjawab permintaan DHCP menggunakan paket unicast)CAP_SYS_NICE
: FTL menetapkan dirinya sebagai proses penting untuk mendapatkan lebih banyak waktu pemrosesan jika yang terakhir hampir habisCAP_CHOWN
: kita harus dapat mengubah kepemilikan file log dan database jika FTL dimulai sebagai pengguna yang berbeda dari pihole
Gambar ini secara otomatis memberikan kemampuan tersebut, jika tersedia, ke proses FTLDNS, bahkan ketika dijalankan sebagai non-root.
Secara default, buruh pelabuhan tidak menyertakan kemampuan NET_ADMIN
untuk kontainer yang tidak memiliki hak istimewa, dan disarankan untuk menambahkannya secara eksplisit ke kontainer menggunakan --cap-add=NET_ADMIN
.
Namun, jika Iklan Router DHCP dan IPv6 tidak digunakan, sebaiknya lewati saja. Bagi yang paling paranoid, kemampuan NET_RAW
bahkan dapat dihilangkan secara eksplisit untuk mencegah FTLDNS mendapatkannya secara otomatis.
Kami telah memperhatikan bahwa banyak orang menggunakan Menara Pengawal untuk selalu memperbarui wadah Pi-hole mereka. Untuk alasan yang sama kami tidak menyediakan fitur pembaruan otomatis pada instalasi bare metal, Anda seharusnya tidak memiliki sistem yang secara otomatis memperbarui wadah Pi-hole Anda. Terutama tanpa pengawasan. Meskipun kami berusaha memastikan tidak ada yang salah, terkadang ada yang tidak beres - dan Anda perlu menyisihkan waktu untuk menarik dan memperbarui secara manual ke versi container yang ingin Anda jalankan. Proses peningkatan harus sejalan dengan:
Pi-hole adalah bagian integral dari jaringan Anda, jangan biarkan terputus karena pembaruan tanpa pengawasan di tengah malam.
Silakan laporkan masalah pada proyek GitHub jika Anda mencurigai ada sesuatu yang terkait dengan buruh pelabuhan. Pertanyaan pi-hole atau buruh pelabuhan umum paling baik dijawab di forum pengguna kami.