Michele Agostinelli Blog

android

Aggiornamento 14/02/2024: aggiungo in fondo all'articolo le modifiche necessarie per la parte server.

Questo metodo lo utilizzo ormai da svariati mesi e funziona benissimo!

Premetto subito che non è una semplice soluzione adatta per tutti, poiché richiede un server #wireguard e un'installazione di #pihole. Però se avete un amico che ha già configurato tutto per se, sarà molto semplice farlo usare anche a voi! E' complessa la configurazione server, mentre la parte client è semplicissima: scaricare un'app e scansionare un qr code.

Abbiamo visto la configurazione di entrambi su questo blog (cliccate sui due hashtag per le leggere le guide).

Con questo metodo non solo bloccherete le pubblicità invasive sul browser, ma su tutte le app! Inoltre oltre al blocco pubblicità avrete anche il blocco dei siti malevoli (in base alle liste che avete deciso di aggiungere a pihole).

Il trucco è usare la vpn per fare in modo che lo smartphone navighi nello stessa modalità che avviene da casa, cioè protetto da pihole!

Abbiamo due diverse modalità di uso per la vpn: – usarla solo per la risoluzione dns – usarla per tutto il traffico

L'una non esclude l'altra, cioè possiamo fare due profili diversi e passare da uno all'altro in base alle necessità (ad esempio se ci connettiamo un WiFi pubblico non protetto, conviene usare la seconda opzione). La prima soluzione ha il vantaggio di consumare pochissima banda per il server, solo lo stretto necessario per le risoluzioni dns.

Esempio di configurazione solo dns:

[Interface]
PrivateKey = chiave_priv_client1
Address = 192.168.20.2/24
Dns = ip_vpn_privato_server
[Peer]
PublicKey = chiave_pub_server
PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = ip_vpn_privato_server/32
Endpoint = hostname_pubblico_server:porta

Esempio di configurazione traffico completo:

[Interface]
PrivateKey = chiave_priv_client1
Address = 192.168.20.2/24
Dns = ip_vpn_privato_server
[Peer]
PublicKey = chiave_pub_server
PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs  = 0.0.0.0/0, ::/0
Endpoint = hostname_pubblico_server:porta

Vi consiglio di usare questo client per wireguard wg-tunnel, perché ha una funzionalità fondamentale per il nostro scopo: è in grado di attivare automaticamente la vpn quando ci disconnettiamo dalla nostra wifi (è possibile scegliere più reti fidate).

Wg tunnel Logo

Wg tunnel Screen 1 Wg tunnel Screen 2

Non ho provato questa soluzione su iPhone, ma presumo che possa funzionare anche lì.

Infine vi consiglio anche un'ottimo client #android per gestire pihole: Pi-hole Droid.

Aggiornamento 14/12/2024

Modifiche configurazione server

Affinchè il server sia in grado di ruotare i pacchetti ricevuti dalla VPN è necessaria qualche configurazione in più, dei comandi “standard” #iptables per gli addetti ai lavori. (su iptables trovate ampia documentazione on line) Ma veniamo al dunque

Esempio di righe in aggiunta alla parte server:

...
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -A FORWARD -o %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# DNS - sostituire 192.168.1.x con ip del proprio pihole
PostUp = iptables -I FORWARD -i %i -p udp -m udp -d 192.168.1.x/32 --dport 53 -j ACCEPT
PostUp = iptables -I FORWARD -i %i -p tcp -m tcp -d 192.168.1.x/32 --dport 53 -j ACCEPT

# Blocco rete locale per tutti (nell'esempio è con subnet 192.168.1.0)
PostUp = iptables -I FORWARD -i %i -d 192.168.1.0/24 -j REJECT

# Apertura rete locale ad un singolo ip
PostUp = iptables -I FORWARD -i %i -s 172.16.2.2/32 -d 192.168.1.0/24 -j ACCEPT

PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
...

#pubblicità #blocco #pi-hole #vpn #wireguard

Seguimi su mastodon: @magostinelli@mastodon.uno

Articolo pubblicato con licenza CC BY-NC-SA

Quello che segue sarà il primo di una serie di articoli che troverete sul blog. Questo è quello introduttivo diciamo. Iniziamo!

Cos'è? A che serve?

È un software per la domotica (personale). Ma c'è ne'era bisogno? Decisamente si! Vedremo, nelle puntate successive, quante cose è in grado di fare! Come descrizione generale possiamo dire che è un Hub tramite il quale comandare tutti i nostri dispostivi domotici, non solo da un unico punto di controllo, ma è possibile creare delle automazioni usando tutti gli altri nostri dispositivi.

homeassistant logo

Perché

Se dovessi scegliere alcuni dei suoi punti di forza per convincerli a provarlo direi: 1. Indipendenza (il vostro impianto domotico funzionerà anche senza internet, e anche se i vari provider chiudessero i loro servizi) 2. Leggero: funziona (alla grande) su un piccolo SBC come #raspberrypi 3. Espandibile: impossibile elencare tutte le integrazioni e plugin supportati 4. In continuo sviluppo: ogni mese escono nuove funzionalità, e i bug fixing escono con una frequenza anche maggiore. 5. Supporto: c'è una vastissima comunità di utilizzatori 6. Facilità d'uso: la configurazione avviene tramite una semplice interfaccia web 7. App mobile: esiste sia per #Android che per #iPhone ed è fatta benissimo 8. Backup: ha una procedura di salvataggio configurazioni automatizzata, se la salviamo altrove (lo vedremo) saremo in grado di ripristinare la configurazione con un click. 9. Multiutente: potete creare un account per tutta la famiglia 10. Open source: distribuito con licenza apache 2.0

E ora?

Continua a seguire gli articoli di questa serie, ne vedremo delle belle!

Clicca qui per vedere gli altri approfondimenti: #nextcloud #domotica

Vi lascio qualche immagine di esempio prese dal web.

homeassistant1

homeassistant2

homeassistant3

Seguimi su mastodon: @magostinelli@mastodon.uno

Articolo pubblicato con licenza CC BY-NC-SA