Pi-Hole - mainosblokkeri raspberry pi:stä

Hoksasin tuossa hiljattain, että NextDNS:n saa asennettua molempiin reitittimiini (kotona Openwrt & mökillä Asuswrt-Merlin). Siitä seurasi, että ilmainen 300 000 pyyntöä/kk saattaa jäädä pieneksi kun kaikki laitteet kyselee sieltä. Esim. Nvidia Shield TV näkyy olevan todella puhelias vekotin, samaten Samsungin mobiililaitteet.

Siksipä päätin kokeilla Docker ja Pi-hole + Unbound -yhdistelmää pyörimään molempiin paikkoihin, kun löytyy sopivat Raspberryt. Eli Unboundin upstream on reititin, joka tarvittaessa kysyy NextDNS:ltä.

Oletan, että aika moni vastaus tulee tällä järjestelyllä Pi-holen tai Unboundin välimuistista, eikä ole huolta ilmaisen rajan paukkumisesta. (Kyllä sen pari kymppiä vuodessa voi toki maksaakin, mutta kun säätäminen on kivaa :D )

Tuossa on tietty se riski, että jos Raspberry Pi:ssa jokin kosahtaa, loppuu nimipalvelu verkosta. Ajattelin siksi laittaa reitittimen toiseksi nimipalvelimeksi, niin tulee vastauksia vaikka Pi-hole ei vastaisi. Noita ei kaiketi voi priorisoida niin, että laitteet käyttäisivät mieluummin Pi-holen DNS:ää?

Ja jos tämä ajattelu menee pieleen tai jos tähän on parempi ratkaisu, kertokaa ihmeessä.
Itellä on kaksi fyysisesti erillistä kotiserveriä, niin mulla on molemmissa Pi-holet virtualisoituina. Aluksi oli vaan toisessa, mutta asensin toiseenkin kun tuli jokin käyttökatko tuohon ensimmäiseen palvelimeen eikä netti pelittänyt.

Pitää ehkä itsekin tutkia vielä tuon NextDNS:n käyttöä näiden kanssa.
 
Itellä on kaksi fyysisesti erillistä kotiserveriä, niin mulla on molemmissa Pi-holet virtualisoituina. Aluksi oli vaan toisessa, mutta asensin toiseenkin kun tuli jokin käyttökatko tuohon ensimmäiseen palvelimeen eikä netti pelittänyt.

Pitää ehkä itsekin tutkia vielä tuon NextDNS:n käyttöä näiden kanssa.
Täällä tuntuu toimivan ihan hyvin järjestely, että on Raspberry Pin Pi-hole ja Asus-reitittimessä NextDNS client. Nuo annetaan verkon vehkeille DNS-palvelimiksi reitittimen DHCP:lla. Laitoin Pi-holeen ja NextDNS:ään saman listan (HaGeZi - Multi PRO++), eli mainokset suodattuu olipa Pi-hole tavoitettavissa tai ei.

Pitääpä ihan uteliaisuuttaan testata, miten kyselyt jakaantuvat Pi-holen ja NextDNS:n kesken. Verkossa on nyt Android-puhelin ja -tabletti, Windows 11-läppäri ja -pöytäkone, ja illalla tulee tabletti + puhelin lisää. Lisäksi Nvidia Shield TV, Denonin vahvari ja ilmalämpöpumpun kaukosäätöön Sensibo-purkki. Tyhjensin lokit molemmista DNS:sta, katteellaanpa mitä sinne kertyy viikonlopun aikana :geek:

Ekan tunnin aikana näkyy Pi-holelta kysytyn reilut 2000 kertaa, NextDNS:lta n. 160.

Edit. Kun otinkin Pi-holessa mainosten bokkaamisen käyttöön, Unbound ei tietenkään enää kysy NextDNS:ltä vaan muualta, tällä erää Quad9:lta.
 
Viimeksi muokattu:
Tulinpa nyt opetelleeksi Pi-holen käytön ja olen erittäin tyytyväinen. Loppuasetelma on kotona kaksi ja mökillä kaksi Pi-holea, jatkuupahan meno jos sattuisi toinen hajoamaan. Ja voi tasata kuormaakin, mikä tosin ei näillä liikennemäärillä käytännössä juuri hyödytä. Huomasin myös, että Tailnetin voi komentaa käyttämään kotona olevaa Pi-holea. Nyt on mainokset blokattu mobiilivehkeissäkin kun laittaa Tailscalen päälle.
 
Virittelin Pi-hole + unboundin raspberryyn.
Blokkilistat piholen default ja laitoin lisäksi tuon HaGeZi - Multi PRO++.

Pöytäkoneella blokkaa hyvin mainokset pois, jotain satunnaisia tullut youtubessa läpi, mutta samassa verkossa oleviin mobiililaitteisiin ei ole kyllä mitään apua? Mistä mahtaa kiikastaa?
 
Virittelin Pi-hole + unboundin raspberryyn.
Blokkilistat piholen default ja laitoin lisäksi tuon HaGeZi - Multi PRO++.

Pöytäkoneella blokkaa hyvin mainokset pois, jotain satunnaisia tullut youtubessa läpi, mutta samassa verkossa oleviin mobiililaitteisiin ei ole kyllä mitään apua? Mistä mahtaa kiikastaa?
Sun androidi mobiilit on hardkoodattu kyselemään dnsät 8.8.8.8:stä.
Viritä joku palomuuri blockaan se tai dns directori.
 
Vähän off topic mutta kiinnostuksesta: miten yleistä tuo DNS:n pakottaminen on Androideissa? Oletan, että Google haluaa tuota tehdä, entä muut? Omassa perheessä on Samsungin laitteita. Ne kysyvät kiltisti DHCP:n tarjoilemilta Pi-holeilta, ja DNS:n voi niihin laittaa käsinkin.
 
Ilmeisesti jewtube tuuttaa mainokset samasta osoitteesta kuin sisällönkin, joten pi-holesta ei ole tähän apua.
 
Vähän off topic mutta kiinnostuksesta: miten yleistä tuo DNS:n pakottaminen on Androideissa? Oletan, että Google haluaa tuota tehdä, entä muut? Omassa perheessä on Samsungin laitteita. Ne kysyvät kiltisti DHCP:n tarjoilemilta Pi-holeilta, ja DNS:n voi niihin laittaa käsinkin.
Taitaa olla noin jokaisessa android laitteessa tuo googlen hardcoded dns, myös niissä samsungeissa.

Meinaa sitä, että suurimman osan kyllä kyselee niiltä pi-holeilta, mutta eivät kaikkea. Vaikka kuinka käsin laittaisi asetukset.
 
Taitaa olla noin jokaisessa android laitteessa tuo googlen hardcoded dns, myös niissä samsungeissa.

Meinaa sitä, että suurimman osan kyllä kyselee niiltä pi-holeilta, mutta eivät kaikkea. Vaikka kuinka käsin laittaisi asetukset.
En oo ite vielä törmännyt yhteenkään jossa tuo olisi, pääasiassa Oneplussan luureja ja tabletteja.
Samsungia ja Nokiaakin pyörähtänyt pikaiseen ja eikä niissäkään ole ollut, malleja en niistä muista.
Nyt on Oneplussan Nord 4 ja Tab Go.
 
Taitaa olla noin jokaisessa android laitteessa tuo googlen hardcoded dns, myös niissä samsungeissa.

Meinaa sitä, että suurimman osan kyllä kyselee niiltä pi-holeilta, mutta eivät kaikkea. Vaikka kuinka käsin laittaisi asetukset.
Enpä ole erikseen tutkinut, meneekö jotain 8.8.8.8:aan. Näppituntumalla Pi-holen lokiin kuitenkin ilmestyy jokainen Android-laitteista tehty DNS-kysely. Voihan tuon toki testata jos jaksaa laittamalla palomuuriin sääntö joka kieltää Googlen DNS:n. Onko linkkiä, josta voisi lukea lisää tuosta kovakoodatusta DNS:sta Samsungeissa?
 
Enpä ole erikseen tutkinut, meneekö jotain 8.8.8.8:aan. Näppituntumalla Pi-holen lokiin kuitenkin ilmestyy jokainen Android-laitteista tehty DNS-kysely. Voihan tuon toki testata jos jaksaa laittamalla palomuuriin sääntö joka kieltää Googlen DNS:n. Onko linkkiä, josta voisi lukea lisää tuosta kovakoodatusta DNS:sta Samsungeissa?
Tähän hätään ei linkkejä löydy. Eli sen verran pitää tunnustaa, että kokemukset tosiaan reilu (noin) 7 vuoden takaa, kun tuli tuo pihole laitettua.
Sen ajan puhelimet ja android versiot tuota harrasti, että jotkin sovellukset kävi aina googlen dns:n kautta ja näin ollen mainoksia näkyi.


Näkyyhän tuolta google tarjoavan kuiten jotain asiaa hard coded dns:stä, ei tosin juuri samsungiin.
 
Laitoin kokeeksi palomuuriin eston 8.8.8.8:lle. Lyhyen aikaa vasta ollut, mutta ei näyttäisi Samsungeista sinällään tulevan kyselyjä. Sen sijaan esim. Speedtest-sovelluksella on asiaa tuohon osoitteeseen. Täytyykin piruuttaan askarrella hieman tiukemmat säännöt DNS:lle. Hankalahan sitä on kokonaan hallita, mutta kiusa se on pienikin kiusa :D
 
Enpä ole erikseen tutkinut, meneekö jotain 8.8.8.8:aan. Näppituntumalla Pi-holen lokiin kuitenkin ilmestyy jokainen Android-laitteista tehty DNS-kysely. Voihan tuon toki testata jos jaksaa laittamalla palomuuriin sääntö joka kieltää Googlen DNS:n. Onko linkkiä, josta voisi lukea lisää tuosta kovakoodatusta DNS:sta Samsungeissa?
Google ja kumppanit tykkäävät tehdä tuota DNS over HTTPS yli, jolloin portin 53 lokeihin ei jää jälkeä ja suodattaminen on työlästä.
 
Joskus vuosia sitten tein tälläisen tempun, eli dns kyselyiden uudelleen ohjaus.
 
Tein itselekin tuon porttiohjauksen, mutta se tuntuu käyttäytyvän oudosti kun pfSense packet capture näyttää, että nslookup google.com 8.8.8.8 menisi läpi, jos porttiohjaus on päällä ja muurissa estetty, mutta estyy kun porttiohjaus ei ole päällä ja on edelleen muurissa estetty.

Firewall alias (192.168.88.1 on pfSense ja 192.168.88.53 on HADNS-palvelimen virtuaali ip, jonka takana on sitten 3x DNS-palvelinta):
Koodi:
Name: LDNS
Type: hosts
IP: 192.168.88.1
IP: 192.68.88.53

NAT port forward sääntö:
Koodi:
Interface: LAN
Address family: IPv4
Protocol: TCP/UDP

Source: Any
Source port: Any

Destination: Alias LDNS
Destination port range: DNS

Redirect target IP: Alias LDNS
Redirect target port: DNS

NAT reflection: Use system default

Filet rule association: None

Firewall rules LAN
Koodi:
Action: Block
Interface: LAN
Address family: IPv4
Protocol: TCP/UDP

Source: Any
Source port range: Any

Destination: Invert match alias LDNS
Destination port range: DNS

Palomuuri säännöt vielä kuvana:
pfsens_firewall_rules1.png


Kun porttiohjaus on päällä, niin nslookup google.com 8.8.8.8 sanoo:
Koodi:
;; communications error to 8.8.8.8#53: timed out
Server:        8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:    google.com
Address: 216.58.211.238
;; communications error to 8.8.8.8#53: timed out
Name:    google.com
Address: 2a00:1450:4026:808::200e

ja pfSensen packet capture (filtteröity porttiin 53) näyttää (192.168.88.145 on tän koneen ip, jolla testailen):
Koodi:
13:07:35.220993 IP 192.168.88.145.55072 > 8.8.8.8.53: UDP, length 28
13:07:35.221060 IP 192.168.88.145.55072 > 192.168.88.53.53: UDP, length 28
13:07:35.221891 IP 192.168.88.8.49882 > 192.168.88.1.53: UDP, length 51
13:07:35.221997 IP 192.168.88.1.53 > 192.168.88.8.49882: UDP, length 55
13:07:38.480820 IP 192.168.88.8.55207 > 192.168.88.1.53: UDP, length 56
13:07:38.480950 IP 192.168.88.1.53 > 192.168.88.8.55207: UDP, length 100
13:07:39.691787 IP 192.168.88.1.33178 > 192.168.88.53.53: UDP, length 43
13:07:39.693370 IP 192.168.88.8.45632 > 192.168.88.1.53: UDP, length 66
13:07:39.769933 IP 192.168.88.1.53 > 192.168.88.8.45632: UDP, length 102
13:07:39.771201 IP 192.168.88.8.44604 > 192.168.88.1.53: UDP, length 59
13:07:39.771295 IP 192.168.88.1.53 > 192.168.88.8.44604: UDP, length 491
13:07:39.772301 IP 192.168.88.53.53 > 192.168.88.1.33178: UDP, length 91
13:07:40.226203 IP 192.168.88.145.51629 > 8.8.8.8.53: UDP, length 28
13:07:40.226288 IP 8.8.8.8.53 > 192.168.88.145.51629: UDP, length 44
13:07:40.226595 IP 192.168.88.145.42290 > 8.8.8.8.53: UDP, length 28
13:07:40.226605 IP 192.168.88.145.42290 > 192.168.88.53.53: UDP, length 28
13:07:40.227700 IP 192.168.88.9.60714 > 192.168.88.1.53: UDP, length 51
13:07:40.227776 IP 192.168.88.1.53 > 192.168.88.9.60714: UDP, length 67
13:07:45.231686 IP 192.168.88.145.37156 > 8.8.8.8.53: UDP, length 28
13:07:45.231790 IP 8.8.8.8.53 > 192.168.88.145.37156: UDP, length 56

kun kytken porttiohjauksen pois päältä, niin nslookup google.com 8.8.8.8 sanoo:
Koodi:
;; communications error to 8.8.8.8#53: timed out
;; communications error to 8.8.8.8#53: timed out
;; communications error to 8.8.8.8#53: timed out
;; no servers could be reached

ja pfSence packet capture samoilla asetuksilla kuin aiempi näyttää:
Koodi:
13:14:11.662835 IP 192.168.88.9.38673 > 192.168.88.1.53: UDP, length 56
13:14:11.662921 IP 192.168.88.1.53 > 192.168.88.9.38673: UDP, length 76
13:14:11.663271 IP 192.168.88.8.44129 > 192.168.88.1.53: UDP, length 56
13:14:11.663302 IP 192.168.88.1.53 > 192.168.88.8.44129: UDP, length 100
13:14:13.937534 IP 192.168.88.145.42571 > 8.8.8.8.53: UDP, length 28
13:14:18.658088 IP 192.168.88.1.26842 > 192.168.88.53.53: UDP, length 44
13:14:18.659311 IP 192.168.88.17.51936 > 192.168.88.1.53: UDP, length 67
13:14:18.701354 IP 192.168.88.1.53 > 192.168.88.17.51936: UDP, length 148
13:14:18.702289 IP 192.168.88.17.58299 > 192.168.88.1.53: UDP, length 61
13:14:18.702414 IP 192.168.88.1.53 > 192.168.88.17.58299: UDP, length 503
13:14:18.703538 IP 192.168.88.17.57623 > 192.168.88.1.53: UDP, length 64
13:14:18.703625 IP 192.168.88.1.53 > 192.168.88.17.57623: UDP, length 503
13:14:18.704685 IP 192.168.88.53.53 > 192.168.88.1.26842: UDP, length 140
13:14:18.707071 IP 192.168.88.1.28792 > 192.168.88.53.53: UDP, length 44
13:14:18.708480 IP 192.168.88.8.44361 > 192.168.88.1.53: UDP, length 67
13:14:18.778155 IP 192.168.88.1.53 > 192.168.88.8.44361: UDP, length 148
13:14:18.779016 IP 192.168.88.8.50219 > 192.168.88.1.53: UDP, length 61
13:14:18.779141 IP 192.168.88.1.53 > 192.168.88.8.50219: UDP, length 508
13:14:18.779765 IP 192.168.88.8.48459 > 192.168.88.1.53: UDP, length 64
13:14:18.779841 IP 192.168.88.1.53 > 192.168.88.8.48459: UDP, length 503
13:14:18.780862 IP 192.168.88.53.53 > 192.168.88.1.28792: UDP, length 140
13:14:18.942009 IP 192.168.88.145.38244 > 8.8.8.8.53: UDP, length 28
13:14:23.947204 IP 192.168.88.145.53088 > 8.8.8.8.53: UDP, length 28

Onko tuo ihan normaalia, että paketin kaappaus näyttää porttiohjaus päällä:
Koodi:
IP 192.168.88.145.55072 > 8.8.8.8.53: UDP
IP 8.8.8.8.53 > 192.168.88.145.51629: UDP
vaikka tuo on muurissa juuri estetty?
 

Statistiikka

Viestiketjuista
287 378
Viestejä
4 928 540
Jäsenet
79 352
Uusin jäsen
Kalax

Hinta.fi

Back
Ylös Bottom