Sawang-sawa ka na bang mapuno ng mga ad sa tuwing nagba-browse ka sa internet o gumagamit ng mobile app? Mayroong isang kamangha-manghang solusyon na tinatawag na Pi-hole, na karaniwang gumaganap bilang isang smart DNS filter . Ang pinakamagandang bahagi ay hindi mo na kailangang mag-install ng kahit ano sa bawat device sa iyong tahanan; gumagana ang system mula sa core ng iyong network, hinaharang at hinaharangan ang mga hindi gustong nilalaman bago pa man ito makarating sa iyong screen.
Para i-set up ang sistemang ito, ang pinakamatalinong opsyon ngayon ay ang paggamit ng Docker. Sa pamamagitan ng paglalagay ng Pi-hole sa isang container, maiiwasan mo ang pagkalat ng operating system ng iyong computer, ginagawang napakadali ng mga update, at masusulit ang iyong hardware — Raspberry Pi man ito, isang mas lumang server, o kahit isang virtual machine na nagpapatakbo ng Ubuntu o Debian — nang walang anumang conflict sa serbisyo.
Mga kinakailangan at paghahanda ng site
Bago tayo magsimula, mahalagang tandaan na ang Pi-hole ay napakagaan. Para maayos itong patakbuhin, kailangan mo lamang ng humigit-kumulang 512 MB ng RAM at nasa pagitan ng 2 at 4 GB ng disk space. Para sa operating system, gumagana ito nang perpekto sa mga distribution na gumagamit ng systemd o sysvinit, tulad ng Debian, Ubuntu, Fedora, o Raspberry Pi OS.
Isang kritikal na punto ang network. Para maging matatag ang sistema, ang Pi-hole ay nangangailangan ng static na IP address . Kung ayaw mong mag-abala sa manu-manong pag-configure ng server, maaari kang magreserba ng IP address sa iyong router upang palagi nitong italaga ang parehong address sa computer na nagho-host ng container.
Pag-deploy ng Pi-hole gamit ang Docker
Ang pinakamadaling paraan upang i-set up ito ay sa pamamagitan ng isang docker-compose.yml file . Ang pamamaraang ito ay nagbibigay-daan sa iyong tukuyin ang lahat ng configuration nang sabay-sabay. Mahalagang i-map ang mga volume (tulad ng /etc/pihole at /etc-dnsmasq.d) sa mga lokal na folder sa iyong host upang kung ia-update mo ang container image, hindi mo mawawala ang lahat ng iyong mga configuration o blacklist.
Sa configuration file, bigyang-pansin ang mga port. Ang Port 53 ang puso ng DNS at dapat ay libre. Kung makita mong hindi nagsisimula ang container, malamang na ginagamit ng systemd-resolved o dnsmasq ang port na iyon sa host. Sa mga kasong iyon, kakailanganin mong i-disable ang conflicting service o i-configure ang isang bridge para i-redirect ang traffic.
Kung magpasya kang gamitin din ang Pi-hole bilang isang DHCP server, tandaan na idagdag ang kakayahan ng NET_ADMIN sa seksyong cap_add ng compose at, mas mabuti, gamitin ang host network mode (network_mode: host) upang maiwasan ang mga isyu sa koneksyon.
Paunang pag-setup at pamamahala ng pag-access
Kapag naisagawa mo na ang utos docker-compose up -dMagiging aktibo ang sistema. Para ma-access ang control panel, kumonekta sa IP address ng iyong server sa pamamagitan ng port na iyong itinalaga (80 bilang default, bagama't maaari mo itong baguhin sa 8080 o 89 para maiwasan ang mga conflict sa ibang mga web server). Kung hindi ka nagtakda ng password sa environment variable... WEBPASSWORDAng sistema ay bubuo ng isang random na log na mahahanap mo sa pamamagitan ng pagsuri sa mga log gamit ang utos docker logs pihole | grep random.
Para sa karagdagang seguridad, mainam na palitan agad ang password na iyon. Maaari mong ma-access ang container terminal gamit ang docker exec -it pihole /bin/bash at patakbuhin ang utos pihole -a -p para magtakda ng password na madali mong matandaan ngunit mahirap para sa iba.
Pag-filter sa Upstream at Pag-optimize ng DNS
Para matiyak na alam ng Pi-hole kung sino ang i-query kapag hindi nito nakikilala ang isang address, kailangan mong i-configure ang isang upstream DNS server. Isang napakalakas na opsyon ang Quad9 ; piliin lamang ang mga na-filter na server nito (tulad ng 9.9.9.9) sa tab ng mga setting ng DNS. Nagdaragdag ito ng karagdagang layer ng seguridad at privacy sa iyong pag-browse.
Ang puso ng Pi-hole ay ang mga blocklist nito. Kung gusto mong magsimula sa isang bagay na solid, maaari mong idagdag ang listahan ni StevenBlack . Sa tuwing babaguhin mo ang mga listahan, sa pamamagitan man ng pagbura ng mga entry gamit ang SQLite3 o pagdaragdag ng mga bagong URL, mahalagang pumunta sa Tools at patakbuhin ang Update Gravity upang mag-refresh ang database at magkabisa ang mga pagbabago.
Mga advanced na tip: Mga lokal na domain at pamamahala
Kung marami kang serbisyo sa bahay, maaari kang lumikha mga lokal na pangalan ng domain para maiwasan ang pagmemorya ng mga IP. Para gawin ito, gumawa ng file na tinatawag na local.list sa naka-mount na Pi-hole volume, tinutukoy ang IP at domain format. Pagkatapos, gumawa ng configuration file para sa dnsmasq na tumutukoy sa listahang iyon at i-restart ang container.
Para pamahalaan ang sistema nang hindi ina-access ang website, may mga kapaki-pakinabang na utos na maaari mong patakbuhin mula sa host. Halimbawa, para magdagdag ng domain sa blacklist, gamitin ang `pihole -b mydomain.com` , o para pansamantalang i-disable ang filtering sa loob ng 10 minuto, maaari mong gamitin ang `pihole disable 10m` , na lubhang kapaki-pakinabang kapag ang isang lehitimong website ay maling na-block.
Ang pagkontrol sa home advertising ay lubos na magagawa sa pamamagitan ng pagsasama ng katamtamang hardware at flexibility ng Docker, pagtiyak na malinaw ang port 53, at wastong pag-configure ng mga volume upang mapanatili ang data. Kapag naayos mo na ang DNS sa iyong router at na-optimize na ang mga Gravity list, masisiyahan ka sa mas malinis at mas mabilis na network sa lahat ng iyong device.
