GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come configurare Pi-hole su un Synology NAS

Oggi vedremo come configurare Pi-hole su un Synology NAS.

Esamineremo due diversi metodi che utilizzano entrambi Docker per installare Pi-hole su un Synology NAS. Il primo metodo che esamineremo è "più semplice" e dovrebbe essere utilizzato se non si desidera eseguire l'SSH nel NAS. Questo metodo utilizza l'interfaccia di rete host. Il secondo metodo richiede l'SSH in Synology NAS per creare un'interfaccia di rete macvlan per Docker. Per rispondere alla domanda che stai pensando, entrambi finiscono con la stessa funzionalità, ma la prima opzione utilizzerà l'indirizzo IP del NAS (e una porta web diversa) mentre la seconda opzione (con l'interfaccia di rete macvlan) avrà il suo Indirizzo IP.

Prima di iniziare, è estremamente importante notare che disporre di server DNS ridondanti è molto importante. Consiglio vivamente di acquistare un Raspberry Pi Zero economico e di configurare Pi-hole su di esso in modo da avere due server DNS Pi-hole. Ciò garantirà che quando il NAS viene riavviato, i client non perdono i servizi di risoluzione DNS.

1. Passi iniziali

Questi passaggi devono essere eseguiti per entrambe le installazioni, quindi per prima cosa elimineremo questi passaggi.

1. Installa Docker dal Centro pacchetti di Synology.

2. Abbiamo bisogno di creare due cartelle su cui mapperemo la nostra immagine Docker. Per impostazione predefinita, Docker creerà una cartella denominata docker al termine dell'installazione. All'interno di questa cartella creeremo una cartella denominata pihole . All'interno di quella cartella, creeremo due sottocartelle. Crea una cartella denominata pihole e un'altra cartella denominata dnsmasq.d .

2. Interfaccia di rete host (opzione 1) – Configurazione Synology NAS Pi-hole

Come indicato sopra, questa opzione utilizzerà l'interfaccia di rete host. Per questo motivo, sarà necessario accedere a Pi-hole utilizzando l'indirizzo IP del Synology NAS e una porta definita.

3. Apri Docker , vai al Registro e cerca Pi-hole. Fare doppio clic su Pi-hole/Pi-hole (immagine della finestra mobile Pi-hole ufficiale) per scaricarlo.

4. Seleziona Più recenti . L'immagine verrà ora scaricata.

5. Fare doppio clic sull'immagine Pi-hole per avviare la configurazione Docker.

6. Assegna un nome al contenitore, quindi seleziona Avanzate Impostazioni . NOTA :se intendi utilizzare Pi-hole per DHCP, devi selezionare Esegui contenitore utilizzando privilegi elevati.

7. Ora dobbiamo configurare Avanzate Impostazioni .

  • Seleziona Abilita riavvio automatico.

  • Nel Volume sezione, abbiamo bisogno di mappare le cartelle che abbiamo creato alle posizioni interne di Docker Pi-hole. Seleziona Aggiungi Cartella e aggiungi dnsmasq.d cartella e digita il percorso di montaggio come /etc/dnsmasq.d . Fai lo stesso per la cartella pihole con il percorso di montaggio come /etc/pihole .

  • Sotto Rete , seleziona Utilizza la stessa rete di Docker Host.

  • Vai all'Ambiente sezione . Dovremo aggiungere alcune variabili.
  • Fai clic su + firmare e aggiungere queste variabili:
    • PASSWORD WEB: password con cui desideri accedere al portale di amministrazione.
    • PORT_WEB: La porta con cui desideri accedere al portale di amministrazione. Questo deve essere qualcosa che non viene utilizzato. In genere, qualcosa negli anni 8000 dovrebbe andare bene.
    • DNSMASQ_LISTENING: locale
    • IP server: Questo esiste già. Modificalo con l'indirizzo IP del NAS.

8. Fai clic su Applica per creare il contenitore Docker Pi-hole.

9. Poiché stai utilizzando l'interfaccia di rete host, dovrai aprire la porta 53 e il "WEB_PORT" selezionato sopra (8888 è quello che ho usato) sul tuo firewall Synology. Questa è la porta DNS predefinita e la porta per il portale Web Pi-hole. Se vuoi sapere come configurare il firewall, ho creato un tutorial qui.

10. Apri il Pannello di controllo e vai a Firewall . Seleziona Modifica Regole .

11. Crea una regola con la porta personalizzata che hai definito sopra. Il protocollo può essere lasciato come TCP .

12. Crea una regola con la porta DNS che è 53 . In protocollo, seleziona Tutto .

13. Assicurati che le regole siano al di sopra del tuo Nega tutto regola.

14. Ora dovresti essere in grado di accedere a Pi-hole utilizzando questo indirizzo web:http://[NAS IP_ADDRESS]:[WEB_PORT]/admin

15. Il processo di installazione è ora completo. Passare alla sezione Configurazione DNS per completare il processo di configurazione.

3. Interfaccia di rete Macvlan (opzione 2) – Come configurare Pi-hole su un Synology NAS

Al momento della stesura di questo post, non riesco a far funzionare la v5.1.1 (ultima versione) con questo metodo. Ho eseguito diversi test e posso confermare che la v5.0 e la v5.1 funzionano correttamente.

Sembra che la v5.1.2 abbia risolto il problema causato dalla v5.1.1!

Come affermato in precedenza, i vantaggi di completare la configurazione in questo modo sono che possiamo fornire al nostro Pi-hole il proprio indirizzo IP. Ciò richiede che entriamo in SSH nel nostro Synology NAS.

1. Assicurati di poter SSH nel tuo Synology NAS. Apri il Pannello di controllo , seleziona Terminale e SNMP e Abilita SSH servizio.Se stai utilizzando il firewall di Synology, assicurati di consentire il traffico sulla porta 22. Ho creato un video su come eseguire l'SSH in Synology NAS in caso di problemi.

2. SSH nel tuo Synology NAS utilizzando il tuo strumento SSH preferito. La prima cosa che dobbiamo fare è creare un resolv.conf per consentire a Docker di ottenere gli indirizzi del server DNS corretti. Questo passaggio potrebbe non essere obbligatorio per te, ma ho avuto grossi problemi nella configurazione di Pi-hole senza questo. Esegui questi comandi:

cd /[VOLUME_#]/docker/pihole
sudo vi resolv.conf

3. Nel file che viene creato, inserisci le due righe sottostanti e salva il file. Se non sei sicuro di come utilizzare l'editor vi, puoi imparare come usarlo qui. NOTA :Se hai problemi con questo, crea un file locale chiamato resolv.conf con le due righe sottostanti e caricalo nella tua cartella pihole in DSM.

nameserver 127.0.0.1
nameserver 8.8.8.8

4. Ora che il file è stato creato, è necessario creare un'interfaccia di rete Docker Macvlan. Innanzitutto, è necessario determinare quali interfacce di rete esistono attualmente (sul Synology NAS) e annotare il nome dell'adattatore. Per fare ciò, eseguire il comando seguente e annotare il nome dell'interfaccia di rete che ha l'indirizzo IP del Synology NAS (in questo esempio, il mio è eth0).

ifconfig

5. Successivamente, è necessario eseguire il comando seguente durante la sostituzione della sottorete corretta (la maggior parte sono 192.168.1.0/24 per impostazione predefinita). Devi anche scegliere un indirizzo IP che desideri utilizzare che non è attualmente in uso. Userò 192.168.1.198. NOTA :ph_network sarà il nome della rete (puoi sostituirlo a tuo piacimento).

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 ph_network

La nostra rete è ora creata. Possiamo quindi uscire dalla nostra sessione SSH e disabilitarla in DSM (se non la utilizzerai). Se lo stai disabilitando e hai creato una regola firewall per esso, dovresti disattivare anche la regola firewall.

6. Successivamente, dobbiamo creare una rete bridge. Questo è ciò che consentirà al nostro host (NAS) di comunicare con il nostro container Pi-hole. Apri Docker e vai alla Rete sezione. Seleziona Aggiungi e inserisci una sottorete che non è attualmente in uso. L'indirizzo IP del bridge che sto creando sarà 192.168.10.2.

7. Le nostre nuove reti sono ora create. Successivamente, dobbiamo creare il nostro contenitore Pi-hole.

8. Apri Docker , vai al Registro e cerca Pi-hole . Fare doppio clic su Pi-hole/Pi-hole (immagine della finestra mobile Pi-hole ufficiale) per scaricarlo.

9. Seleziona v5.1 . L'immagine verrà ora scaricata.

10. Assegna un nome al contenitore, quindi seleziona Impostazioni avanzate . NOTA :se intendi utilizzare Pi-hole per DHCP, devi selezionare Esegui contenitore utilizzando privilegi elevati.

11. Ora dobbiamo configurare le Impostazioni avanzate .

  • Seleziona Abilita riavvio automatico.
  • Nel Volume sezione, abbiamo bisogno di mappare le cartelle che abbiamo creato alle posizioni interne di Docker Pi-hole. Seleziona Aggiungi Cartella e aggiungi dnsmasq.d cartella e digita il percorso di montaggio come /etc/dnsmasq.d. Fai lo stesso per la cartella Pi-hole con il percorso di montaggio come /etc/pihole .
  • A differenza della prima opzione, dobbiamo mappare il nostro resolv.conf anche file. Seleziona File e vai a resolv.conf file che abbiamo creato. Immettere il percorso di montaggio come /etc/resolv.conf.

  • Sotto la rete sezione, aggiungi le due reti che abbiamo creato (ph_network, ph_bridge) e rimuovi il bridge rete.

  • Fai clic su + firmare e aggiungere queste variabili:
    • PASSWORD WEB :la password con cui desideri accedere al portale di amministrazione.
    • DNSMASQ_LISTENING: locale
    • VIRTUAL_HOST: piolo
    • IP server: Questo esiste già. Cambialo con l'indirizzo IP della ph_network che abbiamo creato sopra (192.168.1.198).

12. Fai clic su Applica per creare il contenitore Docker Pi-hole.

13. Ora dovresti essere in grado di accedere a Pi-hole utilizzando questo indirizzo web:http://[IP_ADDRESS]/admin

4. Configurazione DNS – Come configurare Pi-hole su un Synology NAS

Ora che la configurazione di Pi-hole è completa, dobbiamo determinare un modo per indirizzare i nostri clienti al nostro server DNS. Ci sono due modi principali per farlo:

  • Indirizza il server DNS del tuo router all'indirizzo IP del tuo server Pi-hole. Ciò garantirà che qualsiasi dispositivo connesso utilizzerà Pi-hole come server DNS.
  • Indirizza ogni client al tuo server DNS. Ciò è utile se si desidera che solo alcuni client utilizzino Pi-hole come server DNS.
    • Istruzioni di Windows
    • Istruzioni per Mac OS
    • Istruzioni Linux

Indirizzerò i server DNS dei miei router al mio server Pi-hole perché voglio assicurarmi che tutti i dispositivi si connettano ad esso.

5. Conclusione

Questo tutorial ha spiegato come configurare Pi-hole su un Synology NAS. Il processo non è male e Pi-hole è fantastico! Lo uso da un po' e mentre mi imbatto nel problema occasionale in cui blocca qualcosa di cui ho bisogno, trovarlo e inserirlo nella whitelist è un processo abbastanza semplice.

Ancora una volta, sottolineerò l'importanza dei server Pi-hole ridondanti. Ci sono così tanti vantaggi nell'avere un secondo server DNS e, dato che i kit Raspberry Pi Zero costano solo $ 25, ne vale la pena.

Grazie per aver letto il tutorial. Se hai domande, lasciale nei commenti!


Docker
  1. Come creare, elencare ed eliminare contenitori Docker su Linux

  2. Come creare una pipeline CI/CD per le immagini Docker CircleCI

  3. Come utilizzare Docker Cp per copiare file tra host e contenitori

  4. Qual è la differenza tra COPIA e AGGIUNGI in Dockerfiles?

  5. In che modo i contesti Docker ti consentono di lavorare con più host

Come proteggere le connessioni con i certificati SSL/TLS

Come creare un nuovo utente amministratore di WordPress tramite phpMyAdmin

Come installare NumPy

Come installare Dropbox nelle distribuzioni Arch Linux

Come abilitare il repository EPEL su CentOS

Come impostare il percorso JAVA_HOME in Ubuntu 20.04 e Ubuntu 22.04