Pi-hole vanhalla Pi 3:lla — mainostenesto ja vanhan raudan toinen elämä

Kun Home Assistant muutti isompaan rautaan, Raspberry Pi 3 jäi tarpeettomaksi. Pi-hole antoi sille uuden työn — ja opetti samalla, miksi IP-varaukset kannattaa tehdä ennen kuin mikään pakottaa.

Pi-hole vanhalla Pi 3:lla — mainostenesto ja vanhan raudan toinen elämä Kun Home Assistant muutti isompaan rautaan, Raspberry Pi 3 jäi tarpeettomaksi. Pi-hole antoi sille uuden työn — ja opetti samalla, miksi IP-varaukset kannattaa tehdä ennen kuin mikään pakottaa. Homelab pi-holeraspberry pidnsmainostenesto

Kun Home Assistant muutti Raspberry Pi 3:lta isompaan rautaan, pieni tietokone jäi vaille tehtävää. HAOS oli sille liikaa — se kaatuili. Mutta mihin sama kone vielä riittäisi?

Vastaus löytyi Pi-holesta: vanha Pi sai tehtäväkseen suodattaa kodin mainos- ja seurantakyselyitä. Uutta konetta ei tarvinnut ostaa. Tässä jutussa kerron, miten vanhalle raudalle löytyi sopiva työ ja mitä sen käyttäminen kodin nimenselvitykseen toi mukanaan.

Tämä ei ole asennusopas — niitä on netti täynnä, ja Pi-holen asennus on yksi komentorivi. Sen sijaan kerron ne asiat, joihin itse törmäsin ja joita asennusoppaat eivät kerro.

Mikä Pi-hole on?

Pi-hole on maksuton, avoimen lähdekoodin ohjelmisto, joka toimii verkon DNS-palvelimena ja suodattaa nimikyselyitä estolistojen perusteella. Se voi estää mainos- ja seurantadomaineihin pääsyn myös televisioissa ja sovelluksissa, kun niiden nimikyselyt kulkevat Pi-holen kautta.

Tästä Pi-hole ansaitsee kehut: sain jo olemassa olevalle koneelle hyödyllisen tehtävän ilman uutta laitehankintaa tai ohjelmiston kuukausimaksua. Vanha rauta ja avoin ohjelmisto sopivat tässä hyvin yhteen.

Vanha rauta riittää tähän — ja se on koko pointti

Sama Pi 3, joka ei jaksanut pyörittää Home Assistantia, hoitaa nyt kymmeniä tuhansia DNS-kyselyitä vuorokaudessa hikoilematta: lämpö noin 60 astetta, muistista yli puolet vapaana, ja tavallinen microSD-kortti riittää mainiosti — DNS-suodatus on kevyttä työtä, toisin kuin kokonainen kotiautomaatioalusta tietokantoineen.

Raspberry Pi 3 virallisessa puna-valkoisessa kotelossaan hyllynkulmassa, punainen merkkivalo hehkuu hämärässä puupintaa vasten.

Tältä koko palvelu näyttää: pieni kotelo hyllynkulmassa, jonka olemassaolon muistaa lähinnä ledin hehkusta. Hyvä infrastruktuuri on tylsän näköistä.

Tässä on vanhan raudan mitoituksen opetus: laite, joka on liian heikko yhteen tehtävään, voi olla juuri oikea toiseen. Pi 3 ei epäonnistunut — se oli väärässä työssä.

Rehellisyyden nimissä: oikea työ ei löytynyt ensimmäisellä yrityksellä. Kokeilin Pi:stä ensin verkkosoitinta piCorePlayerilla vanhan kaiuttimen jatkoksi — viritys toimi, mutta kaiutin oli niin huono, ettei kokonaisuus jäänyt käyttöön. Retropelialustaakin ehdin kokeilla. Lopulta Pi-hole osoittautui tälle koneelle sopivaksi tehtäväksi.

Julkaisuhetken tarkistuksessa Pi-hole esti noin 16 prosenttia DNS-kyselyistä. Osuus vaihtelee, eikä luku kerro suoraan, montako mainosta olisi muuten näkynyt.

Estolistat: kaksi riittää

Pi-hole-yhteisössä on tapana keräillä estolistoja kymmenittäin. Minulla on käytössä kaksi — StevenBlackin klassikko ja Hagezin Pro-lista — ja niistä kertyy noin 300 000 estettyä domainia. Se riittää. Jokainen ylimääräinen lista kasvattaa väärien estojen riskiä enemmän kuin tuo suojaa, ja väärä esto on se, mikä perheessä huomataan.

Ennen kuin ryhdyt: tutustu reitittimeesi

Tämä on se osa, jonka olisin halunnut lukea etukäteen. Pi-hole itsessään on helppo — verkko sen ympärillä on se, mihin kompastutaan.

Selvitä ensin, mikä laite verkossasi jakaa osoitteet (DHCP) ja minne laitteiden DNS-kyselyt menevät. Jos kotona on mesh-verkko, selvitä onko se reititin- vai AP-tilassa — minun meshini on pelkkä tukiasema, joten kaikki olennainen tapahtuu operaattorin reitittimessä, eikä mesh-sovelluksesta löydy yhtään säädettävää.

Ja tee IP-varaukset tärkeille laitteille ennen kuin mikään pakottaa. Minut pakotti sähkökatko: kun virrat palasivat, reititin jakoi kaikille koneille uudet osoitteet. Reitittimen DNS-ohjaus osoitti Pi-holen vanhaan osoitteeseen — eli tyhjään — ja koko kodin nimenselvitys kuoli. Netti oli “poikki”, vaikka mikään ei ollut rikki. Korjaus oli lopulta yksinkertainen: kiinteät DHCP-varaukset kaikille laitteille, joihin jokin toinen laite viittaa. Sen jälkeen sähkökatkot ovat olleet pelkkiä sähkökatkoja.

Miten kytkin sen — ei optimaalisesti, mutta varmasti

Laitteeni eivät puhu Pi-holelle suoraan. Ne kysyvät reitittimeltä, ja reititin välittää kaikki kyselyt Pi-holelle. Tämä on tietoinen kompromissi, ja rehellisyyden nimissä: se ei ole optimaalinen ratkaisu. Pi-hole näkee kaikki kyselyt yhtenä asiakkaana, joten laitekohtaiset tilastot menetetään — en näe, mikä laite kyselee mitäkin.

Vastineeksi saan yksinkertaisuuden: käyttöönotto oli yksi muutos yhdessä paikassa, eikä yhdenkään laitteen asetuksiin koskettu. Ja mikä tärkeintä — luopuminen on täsmälleen sama yksi muutos. Jos Pi-hole joskus poistuu, poistan yhden rivin reitittimestä ja verkko jatkaa kuin mitään ei olisi ollut. Infrastruktuurissa arvostan reittiä, josta pääsee myös pois.

Sama filosofia näkyy toisessakin valinnassa: Pi-hole ei ole integroitu Home Assistantiin, vaikka integraatio olisi olemassa. DNS on perusinfraa, jonka kuuluu toimia vaikka älykoti olisi rikki — ja älykodin kuuluu toimia vaikka DNS-suodatus olisi rikki. Kaikkea ei kannata kytkeä kaikkeen vain siksi, että voi.

Rehellinen riski: nimenselvitys on yhden koneen varassa

Nykyisessä toteutuksessani Pi-hole on yksittäinen vikaantumispiste. Jos se sammuu, reitittimeltä sille välitetyt nimikyselyt jäävät ilman vastausta. Osa yhteyksistä voi jatkaa toimintaansa välimuistin avulla, mutta uusia sivuja ja palveluita ei välttämättä saa auki. Siksi minulla on kirjoitettuna palautusohje kolmelle tasolle: koko verkon palautus (yksi muutos reitittimeen), yhden laitteen pikaohitus (laitteen DNS käsin julkiseen), ja Pi-holen palautus varmuuskopiosta.

Seuraavaksi harkitsen toista Pi-holea eri koneelle, jotta nimenselvitys voisi jatkua yhden koneen rikkoutuessa tai päivityksen aikana. En ole vielä toteuttanut tätä. Ensin pitäisi tarkistaa reitittimen tuki kahdelle DNS-palvelimelle, pitää niiden säännöt ja paikalliset nimet yhtenevinä sekä testata toiminta sammuttamalla toinen kone. Yhteisen reitittimen vikaa tai koko kodin sähkökatkoa toinen Pi-hole ei yksin ratkaise.

Julkinen DNS-palvelin varalla olisi eri kompromissi: toissijaista DNS:ää voidaan käyttää myös normaalitilanteessa, jolloin osa kyselyistä ohittaisi oman Pi-holen suodatuksen. Siksi harkitsen toista suodattavaa palvelinta.

Pi-holen asetukset varmistetaan kerran viikossa sen omalla Teleporter-toiminnolla. Se paketoi muun muassa asetukset, estolistojen määritykset ja paikalliset DNS-tietueet ZIP-tiedostoon. Omassa toteutuksessani erillinen palvelin käynnistää viennin, hakee tiedoston Pi:ltä ja kopioi sen sekä paikalliseen verkkotallennukseen että Backblaze-pilveen.

Koko muistikortista en ota levykuvaa, eikä tämä varmistus sisällä DNS-kyselyhistoriaa. Palautussuunnitelmani on asentaa käyttöjärjestelmä ja Pi-hole uudelleen sekä tuoda tallennetut asetukset Teleporterilla. Näin vanhan koneen asetukset saa siirrettyä myös korvaavalle laitteelle.

Arki: näkymätön, kunnes joku kehuu

Paras arvio Pi-holesta tulee siitä, mitä siitä ei kuule. Mainosten puute on huomattu ja sivujen nopeampi latautuminen myös. Haittapuoli on rehellisesti olemassa: jotkut sivut huomauttavat mainosestosta, ja harvat eivät päästä sisään lainkaan — mutta pienellä on päästy, ja tarvittaessa yksittäisen domainin saa sallittua parilla klikkauksella. Ja hankalimpaan tilanteeseen on vielä helpompi työkalu: eston saa hallintapaneelista tauolle vaikka viideksi minuutiksi tai tunniksi — ostos tai lomakekikkailu hoituu, ja suodatus palaa itsestään päälle ilman että mitään tarvitsee muistaa.

Ylläpito on sitä mitä infralta toivoo: en juuri mitään. Päivitän silloin tällöin, kun muistan — ja rehellisyyden nimissä versioita on välillä rästissä, koska toimivaa DNS:ää ei tee mieli säätää kiireellä.

Kannattiko?

Tämä on halvin hyvä päätös koko kodin automatisoinnissa: laite oli jo olemassa, ohjelmisto on ilmainen, ja hyöty näkyy joka päivä jokaisella laitteella. Jos vanhaa Raspberry Pitä ei ole, melkein mikä tahansa nurkissa lojuva kone kelpaa — DNS-suodatus ei vaadi tehoja.

Ja jos ylimääräistä rautaa ei ole lainkaan: vastaavan suodatuksen saa myös suoraan Home Assistantiin — virallinen lisäosa on AdGuard Home (Pi-holen oma lisäosa on poistettu ylläpidosta vuosia sitten). Se on matalin mahdollinen kynnys kokeilla verkon tason mainosestoa. Huomaa vain, mitä silloin teet: kytket koko verkkosi nimenselvityksen älykodin sisään — täsmälleen sen, minkä itse yllä päätin pitää erillään. Kokeiluun se käy mainiosti; pysyvänä ratkaisuna miettisin kahdesti.

Ja se isompi opetus, jonka takia tämä juttu on olemassa: kun rauta jää tehtävästään tarpeettomaksi, kysy “mihin tämä riittää?” ennen kuin kysyt “minne tämän varastoisi?” Pi 3:lle vastaus oli työ, jota se tekee paremmin kuin koskaan edellistään.

Kommentit

Kommentoi nimimerkillä ilman käyttäjätiliä. Kommentit julkaistaan hyväksynnän jälkeen.