Linux + PiHole

Tutto sul pinguino per Mac

Moderatore: ModiMaccanici

Avatar utente
Hammarby
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 5348
Località: Stockholm, SE

Top

Il progetto PiHole è una idea intelligente per rimuovere tutti i vari AD-Ware e porcherie varie dalla nostra LAN,
si tratta di un server DNS locale che filtra le richieste verso i siti di pubblicità e di malware conosciuti.
Al contrario dei vari AD-blocker, che si limitano a non mostrare il contenuto sullo schermo, PiHole fa in modo
che i siti non vengano raggiunti dalle richieste, sostituendo il contenuto con una pagina bianca, quindi mentre
con gli AD-blocker il sito "malvagio" viene contattato, il traffico "malvagio" viene inviato al nostro browser
ma poi non viene mostrato a video, con PiHole il sito malvagio non verrà neanche contattato.
PiHole nasce per girare su un Raspberry Pi che installeremo nella nostra LAN, e poi sostituiremo il server DNS
di riferimento con l'indirizzo del Raspberry, e voilà, niente più traffico pubblicitario.

Se non si ha un Raspberry, si può installare in una macchina virtuale con VirtualBox, in questo caso bisogna
fare una piccola modifica manuale allo script dell'installer per essere sicuri che usi la versione giusta di php.

Il sito del progetto:
https://pi-hole.net/" onclick="window.open(this.href);return false;
il sito git
https://github.com/pi-hole/pi-hole" onclick="window.open(this.href);return false;

Le istruzioni per installare PiHole su una macchina virtuale o reale Ubuntu 16.04
https://www.reddit.com/r/pihole/comment ... container/" onclick="window.open(this.href);return false;

Per chi volesse semplicemente fare una prova, basta creare una macchina virtuale VBox, installare dentro Ubuntu 16.04,
seguire le istruzioni, riavviare e navigare in rete con il browser di Ubuntu.
Potrete controllare il traffico alla pagina web http://pi.hole/admin" onclick="window.open(this.href);return false;
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes

Avatar utente
iStefano
Stato: Non connesso
Genio guastatore
Genio guastatore
Avatar utente
Iscritto il: mer, 30 dic 2009 10:30
Messaggi: 8279
Località: Pomigliano D'Arco (NA)

Top

Contatta:
Ottimo ...
Ora come fu detto a me in altre circostanze : fanne un articolo dettagliato in " prima pagina " ...

Scrivo su iMaccanici con TapaTalk per MacBook Air

Avatar utente
Hammarby
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 5348
Località: Stockholm, SE

Top

Prima di iniziare un tutorial, vorrei sapere se l'argomento interessa.
Se resta un tema circoscritto a pochi, che tra l'altro se la cavano bene con l'inglese e con Linux, non vale la pena.
(non vado ad insegnare il Credo agli apostoli)
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes

Avatar utente
iStefano
Stato: Non connesso
Genio guastatore
Genio guastatore
Avatar utente
Iscritto il: mer, 30 dic 2009 10:30
Messaggi: 8279
Località: Pomigliano D'Arco (NA)

Top

Contatta:
Hammarby ha scritto:Prima di iniziare un tutorial, vorrei sapere se l'argomento interessa.
credo di si !!!

Scrivo su iMaccanici con TapaTalk per MacBook Air

Avatar utente
Hammarby
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 5348
Località: Stockholm, SE

Top

Allora, dato che c'è almeno una persona interessata, provo a fare un piccolo tutorial che, se non copre tutti i casi, almeno spiega come comportarsi genericamente.

Quello che ci deve già essere : una LAN con un Router che implementa NAT e DHCP, che abbia una porta Ethernet disponibile ( opzionalmente anche una porta USB )
Ingredienti necessari : Un Raspberry Pi versione B di qualunque generazione, una schedina SD, un cavetto Ethernet, un cavetto USB/Micro USB e se il router non ha porta USB, un caricabatteria da cellulare o un alimentatore USB.

Operazioni preliminari : nella configurazione del router, controllare che esista almeno un indirizzo locale che sia al di fuori del DHCP, cioè se il vostro router ha indirizzo 192.168.0.1, che il range degli indirizzi assegnati
che inizia a 192.168.0.2 non arrivi a 192.168.0.255 ma si limiti ad esempio a 192.168.0.100. Analogamente, se fosse 10.0.1.1, che il range vada da 10.0.1.2 a 10.0.1.100
Non è importante che si limiti a 100, ma che sia inferiore a 254 perché quel numero ci serve.

Installazione di Raspbian: inserire la microSD nel nostro computer principale ed installare Raspbian
questa è una guida in italiano : https://www.raspberrypi.org/wp-content/ ... veloce.pdf" onclick="window.open(this.href);return false;
Non installate NOOBS, ma installate direttamente l'immagine Raspbian

Configurazione di Rasbian : una volta installato Raspbian sulla SD, bisogna collegare una tastiera ed un monitor HDMI al Raspberry, collegare un alimentatore ed accenderlo,
quando si configurerà la rete, NON SELEZIONARE DHCP ma selezionare l'indirizzo statico. A secondo della vostra configurazione del router, assegnate l'indirizzo x.x.x.254 e come gateway x.x.x.1 come DNS usare 8.8.8.8
se per esempio il vostro router ha indirizzo 192.168.0.1 il raspberry va indirizzato a 192.168.0.254 con gateway 192.168.0.1.
Collegate il cavo Ethernet e verificate che il Raspberry acceda alla rete.

Aprite un terminale e digitate il comando
# curl -L https://install.pi-hole.net" onclick="window.open(this.href);return false; | bash
se vi viene chiesta la password, questa è "raspberry"
durante l'installazione, selezionate sempre la risposta di default.

Quando l'installazione sarà terminata, il Raspberry è pronto. Scollegate tutto e metterelo vicino al router, collegate il cavo Ethernet ed il cavo USB al router (oppure all'alimentatore).

In tutti i vostri Mac, entrate in preferenze di sistema, avanzate, e selezionate il pannello DHCP, qui modificate l'indirizzo del DNS sostituendo quello che c'è (che sarà x.x.x.1) con quello del Raspberry x.x.x.254, date OK e Applica

Per controllare cosa sta facendo il vostro raspberry, con Safari andate all'indirizzo
http://pi.hole/admin" onclick="window.open(this.href);return false;
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes

Avatar utente
LeoTM
Stato: Non connesso
Expert
Expert
Avatar utente
Iscritto il: dom, 29 giu 2014 21:31
Messaggi: 874
Località: In movimento

Top

Contatta:
Bene, questa sera inizierò a mettere una VM con debian giusto per vedere come funziona e che miglioramenti porta.

Avatar utente
Hammarby
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 5348
Località: Stockholm, SE

Top

LeoTM ha scritto:Bene, questa sera inizierò a mettere una VM con debian giusto per vedere come funziona e che miglioramenti porta.
Con debian fai attenzione all'installazione.
Non sono sicuro che debian abbia il pacchetto php5, quindi ti conviene fare in questo modo: prima di installare tutto prova con
# sudo apt-get install php5-common
se il pacchetto viene installato, procedi con
# curl -L https://install.pi-hole.net" onclick="window.open(this.href);return false; | bash
se invece non venisse installato perché il pacchetto non esiste, allora fai in questo modo
# curl -L https://install.pi-hole.net" onclick="window.open(this.href);return false; > installpihole.sh
poi con un editor apri il file installpihole.sh e cerchi tutte le istanze di php5, togliendo sempre solo il 5 (php5-common diventa php-common)
infine dai
# chhmod a+x installpihole.sh
# bash installpihole.sh

Le prove le puoi fare direttamente da dentro la VM, basta aprire un browser e girare per la rete, quindi controllare il risultato sul sito http://pi.hole/admin" onclick="window.open(this.href);return false;
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes

Avatar utente
LeoTM
Stato: Non connesso
Expert
Expert
Avatar utente
Iscritto il: dom, 29 giu 2014 21:31
Messaggi: 874
Località: In movimento

Top

Contatta:
Da inesperto di rete, siccome sono pigro e lazzarone non ho proprio voglia di andare a cambiare il DNS di ogni computer di casa, è fattibile invece il seguente setup?

- router: 192.168.0.1
- pihole_server: 192.168.0.254
- nel router imposto come DNS 192.168.0.254
- nel pihole_server imposto come gateway 192.168.0.1
- ogni pc di casa ha già come DNS e gateway 192.168.0.1 credo, che arriva dal dhcp

Avatar utente
iStefano
Stato: Non connesso
Genio guastatore
Genio guastatore
Avatar utente
Iscritto il: mer, 30 dic 2009 10:30
Messaggi: 8279
Località: Pomigliano D'Arco (NA)

Top

Contatta:
LeoTM ha scritto:... è fattibile invece il seguente setup?

Penso che ci voglia sempre il software per la gestione ...

Scrivo su iMaccanici con TapaTalk per MacBook Air

Avatar utente
Hammarby
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 5348
Località: Stockholm, SE

Top

LeoTM ha scritto:Da inesperto di rete, siccome sono pigro e lazzarone non ho proprio voglia di andare a cambiare il DNS di ogni computer di casa, è fattibile invece il seguente setup?

- router: 192.168.0.1
- pihole_server: 192.168.0.254
- nel router imposto come DNS 192.168.0.254
- nel pihole_server imposto come gateway 192.168.0.1
- ogni pc di casa ha già come DNS e gateway 192.168.0.1 credo, che arriva dal dhcp
Dipende dal router.
Il mio Apple Airport Extreme non lo permette perché non permette l'uso di un DNS interno alla LAN, ma solo uno con indirizzo WAN.
Il problema in realtà è un altro, perché non è l'indirizzo del DNS che viene usato dal router che è importante, ma quello che il router
distribuisce tramite DHCP.
Dovresti cercare di capire se il tuo router ti permette di assegnare l'indirizzo distribuito dal DHCP al posto del suo. Molti lo permettono, Apple Airport Extreme no.

Per esempio, i router D-Link non hanno problemi
http://support.dlink.com/Emulators/dir6 ... A/WAN.html" onclick="window.open(this.href);return false;
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes

Avatar utente
LeoTM
Stato: Non connesso
Expert
Expert
Avatar utente
Iscritto il: dom, 29 giu 2014 21:31
Messaggi: 874
Località: In movimento

Top

Contatta:
Si dunque, risolto.

Modem-router 192.168.0.1
piholesrv 192.168.0.12

Il gateway di piholesrv diventa 192.168.0.1
Il DNS server di 192.168.0.1 diventa 192.168.0.12

Per tutto il resto della rete in DHCP il DNS rima ne 192.168.0.1 che, a sua volta, forwarda al piholesrv. Scopo raggiunto, non volevo pasticciare con le impostazioni tcp/ip di nessun client.

Immagine

Ancora non so però se vale i 60 e rotti euro di un raspberry, per bloccare 320 pubblicità mi pare un po' troppo, anche perché guardando ai lati del link sopra postato non mi sembra funzioni alla perfezione. :D

Avatar utente
andrea_mac
Stato: Non connesso
Expert
Expert
Avatar utente
Iscritto il: mar, 09 dic 2008 14:17
Messaggi: 2542
Località: Kernel Linux

Top

Contatta:
ci guarderò grazie
    UNIX Live Free or Die!

    Avatar utente
    Hammarby
    Stato: Non connesso
    Unix Expert
    Unix Expert
    Avatar utente
    Iscritto il: gio, 29 ott 2009 14:28
    Messaggi: 5348
    Località: Stockholm, SE

    Top

    LeoTM ha scritto:Si dunque, risolto.

    Modem-router 192.168.0.1
    piholesrv 192.168.0.12

    Il gateway di piholesrv diventa 192.168.0.1
    Il DNS server di 192.168.0.1 diventa 192.168.0.12

    Per tutto il resto della rete in DHCP il DNS rima ne 192.168.0.1 che, a sua volta, forwarda al piholesrv. Scopo raggiunto, non volevo pasticciare con le impostazioni tcp/ip di nessun client.

    Immagine

    Ancora non so però se vale i 60 e rotti euro di un raspberry, per bloccare 320 pubblicità mi pare un po' troppo, anche perché guardando ai lati del link sopra postato non mi sembra funzioni alla perfezione. :D
    Continua a far prove : aggiungi siti alla tua blacklist personale e soprattutto ricordato che prima che un sito "scompaia" è necessario che la cache DNS del computer che stai usando si "dimentichi" il nome.

    Voi che avete Xcode, dato che lo script di PiHole è banale, non potreste fare il port su OSX?
    Ognuno è come Dio lo ha fatto, ahimé...
    ...e spesso peggio.

    Cervantes

    Avatar utente
    LeoTM
    Stato: Non connesso
    Expert
    Expert
    Avatar utente
    Iscritto il: dom, 29 giu 2014 21:31
    Messaggi: 874
    Località: In movimento

    Top

    Contatta:
    Hammarby ha scritto:Voi che avete Xcode, dato che lo script di PiHole è banale, non potreste fare il port su OSX?
    su github c'è una branch macOS: https://github.com/pi-hole/pi-hole/blob ... ts.default" onclick="window.open(this.href);return false;

    piccolo update:
    o avete in casa un modem/router serio (ovvero che gestisca il DNS proxy) altrimenti bisogna cambiare a mano il DNS di tutti i device perché, purtroppo spesso, nei router casalinghi il DNS dei device in DHCP sarà sempre assegnato al modem/router/gateway stesso, per esempio come lo è nel mio netgear D7000.
    Il barba trucco è fare come ho fatto io ed assegnare il server pi-hole come DNS server ma per me non è una soluzione soddisfacente.

    La verità è che sarebbe anche ora che i modem/router casalinghi implementassero funzioni analoghe, questo codice dimostra che la cosa è di una facilità (e semplicità) davvero che non lascia scuse ai produttori hardware.

    Avatar utente
    Hammarby
    Stato: Non connesso
    Unix Expert
    Unix Expert
    Avatar utente
    Iscritto il: gio, 29 ott 2009 14:28
    Messaggi: 5348
    Località: Stockholm, SE

    Top

    LeoTM ha scritto:
    Hammarby ha scritto:Voi che avete Xcode, dato che lo script di PiHole è banale, non potreste fare il port su OSX?
    su github c'è una branch macOS: https://github.com/pi-hole/pi-hole/blob ... ts.default" onclick="window.open(this.href);return false;

    piccolo update:
    o avete in casa un modem/router serio (ovvero che gestisca il DNS proxy) altrimenti bisogna cambiare a mano il DNS di tutti i device perché, purtroppo spesso, nei router casalinghi il DNS dei device in DHCP sarà sempre assegnato al modem/router/gateway stesso, per esempio come lo è nel mio netgear D7000.
    Il barba trucco è fare come ho fatto io ed assegnare il server pi-hole come DNS server ma per me non è una soluzione soddisfacente.

    La verità è che sarebbe anche ora che i modem/router casalinghi implementassero funzioni analoghe, questo codice dimostra che la cosa è di una facilità (e semplicità) davvero che non lascia scuse ai produttori hardware.
    Con un modem che supporti dd-wrt dovrebbe essere semplice, soprattutto perché basato su Linux.
    E sarebbe anche notevole se iphole potesse usare le liste di ADBlocker, cosa che non dovrebbe esser difficile.
    Ognuno è come Dio lo ha fatto, ahimé...
    ...e spesso peggio.

    Cervantes

    Rispondi

    Torna a “Linux su Mac”

    Chi c’è in linea

    Visitano il forum: Nessuno e 2 ospiti