Lei av å bli bombardert med annonser hver gang du surfer på internett eller bruker en mobilapp? Vel, det finnes en fantastisk løsning som heter Pi-hole, som i bunn og grunn fungerer som et smart DNS-filter . Det beste er at du ikke trenger å installere noe på alle enhetene i hjemmet ditt; systemet fungerer fra kjernen av nettverket ditt, og fanger opp og blokkerer uønsket innhold før det i det hele tatt når skjermen din.
For å sette opp dette systemet er det smarteste alternativet i dag å bruke Docker. Ved å plassere Pi-hole i en container unngår du å rote til datamaskinens operativsystem, gjør oppdateringer utrolig enkle og får mest mulig ut av maskinvaren din – enten det er en Raspberry Pi, en eldre server eller til og med en virtuell maskin som kjører Ubuntu eller Debian – uten tjenestekonflikter.
Forutsetninger og forberedelse av stedet
Før vi går i gang, er det verdt å merke seg at Pi-hole er ekstremt lett. For å kjøre det problemfritt trenger du bare omtrent 512 MB RAM og mellom 2 og 4 GB diskplass. Når det gjelder operativsystemet, fungerer det perfekt med distribusjoner som bruker systemd eller sysvinit, som Debian, Ubuntu, Fedora eller Raspberry Pi OS.
Et kritisk punkt er nettverket. For at systemet skal være stabilt, krever Pi-hole en statisk IP-adresse . Hvis du ikke vil bry deg med å konfigurere serveren manuelt, kan du reservere en IP-adresse på ruteren din slik at den alltid tildeler den samme adressen til datamaskinen som er vert for containeren.
Distribuere Pi-hole ved hjelp av Docker
Den enkleste måten å sette dette opp på er gjennom en docker-compose.yml -fil. Denne metoden lar deg definere all konfigurasjonen samtidig. Det er avgjørende å tilordne volumene (som /etc/pihole og /etc-dnsmasq.d) til lokale mapper på verten din, slik at du ikke mister alle konfigurasjonene eller svartelistene dine hvis du oppdaterer containeravbildningen .
Vær oppmerksom på portene i konfigurasjonsfilen. Port 53 er hjertet i DNS og må være ledig. Hvis du ser at containeren ikke starter, er det sannsynlig at systemd-resolved eller dnsmasq bruker den porten på verten. I slike tilfeller må du deaktivere den konfliktskapende tjenesten eller konfigurere en bro for å omdirigere trafikken.
Hvis du bestemmer deg for å bruke Pi-hole som en DHCP-server også, husk å legge til NET_ADMIN- funksjonaliteten i cap_add-delen av compose, og bruk helst vertsnettverksmodusen (network_mode: host) for å unngå tilkoblingsproblemer.
Førstegangsoppsett og tilgangsadministrasjon
Når du har utført kommandoen docker-compose up -dSystemet vil være aktivt. For å få tilgang til kontrollpanelet, koble til serverens IP-adresse via porten du tilordnet (80 som standard, men du kan endre den til 8080 eller 89 for å unngå konflikter med andre webservere). Hvis du ikke definerte et passord i miljøvariabelen... NETTPASSORDSystemet vil generere en tilfeldig en som du kan finne ved å sjekke loggene med kommandoen docker logs pihole | grep random.
For ekstra sikkerhet er det best å endre passordet raskt. Du kan få tilgang til containerterminalen ved å bruke docker exec -it pihole /bin/bash og kjør kommandoen pihull -a -p å sette et passord som er lett for deg å huske, men vanskelig for andre.
Oppstrømsfiltrering og DNS-optimalisering
For å sikre at Pi-hole vet hvem den skal spørre når den ikke gjenkjenner en adresse, må du konfigurere en oppstrøms DNS-server. Et veldig robust alternativ er Quad9 ; velg ganske enkelt de filtrerte serverne (for eksempel 9.9.9.9) i DNS-innstillinger-fanen. Dette gir et ekstra lag med sikkerhet og personvern til nettlesingen din.
Kjernen i Pi-hole er blokkeringslistene. Hvis du vil starte med noe solid, kan du legge til StevenBlacks liste . Når du endrer listene, enten ved å slette oppføringer med SQLite3 eller legge til nye URL-er, er det viktig å gå til Verktøy og kjøre Oppdater Gravity slik at databasen oppdateres og endringene trer i kraft.
Avanserte tips: Lokale domener og administrasjon
Hvis du har flere tjenester hjemme, kan du opprette lokale domenenavn for å unngå å måtte memorere IP-adresser. For å gjøre dette, opprett en fil som heter local.list på det monterte Pi-hole-volumet, og definer IP- og domeneformatet. Opprett deretter en konfigurasjonsfil for dnsmasq som refererer til den listen, og start containeren på nytt.
For å administrere systemet uten å få tilgang til nettstedet, finnes det svært nyttige kommandoer du kan kjøre fra verten. For eksempel, for å legge til et domene på svartelisten, bruk `pihole -b mydomain.com` , eller for å midlertidig deaktivere filtrering i 10 minutter, kan du bruke `pihole disable 10m` , noe som er veldig nyttig når et legitimt nettsted feilaktig blir blokkert.
Det er fullt mulig å ta kontroll over hjemmeannonsering ved å kombinere beskjeden maskinvare med fleksibiliteten til Docker, sørge for at port 53 er tom, og konfigurere volumer riktig for å lagre data. Når du har justert DNS-en på ruteren din og optimalisert Gravity-listene, vil du nyte et renere og mye raskere nettverk på tvers av alle enhetene dine.
