Come vedremo in una prossima recensione, già un po’ di tempo mi trovai nella necessità di acquistare un NAS per uso personale. La mia scelta ricadette sul QNAP TS-219 con due bay e delle caratteristiche di tutto rispetto, nonché basato su GNU/Linux.
Ma di questo ne parleremo altrove.
Ora è il momento di sfruttare tutta la potenza di GNU/Linux per configurare sulla macchina di cui sopra una versione di DNSmasq, Nella fattispecie abbiamo le seguenti esigenze:
- Configurare il NAS perché risponda su diversi indirizzi del tipo:
- www.example.com (la root del webserver)
- http://example.com (alias)
- http://*.example.com (vari virtual hosts virtual hosts)
- Configurare il DNS come DNS della LAN privata.
- Poter accedere dalla mia LAN alle varie macchine con degli indirizzi univoci tipo:
- ps3.myhome.com (console da gioco)
- fileserver.myhome.com (exports NFS/SMB/AFP)
- itunes.myhome.com (iTunes Media Server)
- movies.myhome.com
- notes.myhome.com
- etc.
Per quanto riguarda Qnap abbiamo a disposizione un tool micidiale per l’installazione del nuovo software che riprende i famosi apt-get e compagnia cantante: optiware ipkg.
Potete installare Oipkg dall’interfaccia web di amministrazione del QNAP da APPCenter, come in figura sottostante:
L’installazione è semplice come cliccare un bottone, non mi dilungherò ulteriormente.
Optware installa una comoda quanto brutta interfaccia web per interrogare il servizio di installazione dei pacchetti che solitamente si trova all’indirizzo:
https://ip.del.nas:8081/Optware/
Ovviamente, manco a dirlo, sostituite ip.del.nas con l’indirizzo IP locale del vostro NAS.
Dovreste quindi trovarvi di fronte la noiosissima interfaccia di ipkg. Se cercate nella voce “Filter” per “dns” otterrete questi risultati:
Ora cliccate sulla voce “Install” di fianco a DNSMasq e attendete, dovreste ottenere questo:
Ora dovremmo fare come dice lui dopo l’installazione e controllare il file di configurazione in
/opt/etc/dnsmasq.conf
e per fare questo dovremo loggarci sul NAS via SSH.
$ ssh admin@ip.del.nas
Se, come me, non riuscite a loggarvi al vostro NAS ma l’avete sempre fatto finora ed il servizio SSH è attivo da Pannello di Controllo->Servizio di rete->Telnet/SSH è probabile che abbiate qualche problema di sicurezza se fate ancora girare il firmware < 4.1.1 build 1003 del 03/10/2014.
In tal caso mollate tutto e fiondatevi a seguire queste istruzioni.
Altrimenti possiamo continuare con la configurazione di DNSMasq.
Ciò che ci rimane da modificare è il file di configurazione.
Files di configurazione
Ho modificato il file in /opt/etc/dnsmasq.conf prima facendone una copia di backup:
[/opt/etc]$ cp dnsmasq.conf dnsmasq.backup
e successivamente editando con vi
[/opt/etc]$ vi dnsmasq.conf
La mia strategia mii consentirà di aggiungere macchine successivamente senza alcun problema.
Effettivamente finora conto sino a 25 sistemi nella mia LAN che hanno necessità di connettività alla rete, compresi gli apparati di rete. Configureremo tutti i sistemi con un IP fisso in /etc/hosts e diremo a dnsmasq di utilizzare quel file per indirizzare le varie macchine.
Quindi ho suddiviso le macchine in base alla tipologia cui appartengono, utilizzando il seguente procedimento.
Partendo dalla maschera 192.168.0, le altre macchine sono configurate come segue
- .100 NAS/DNS
- .125 con incremento di 5 per i laptop e i computer fissi (es. .125, .130, .135, etc.)
- .126 con incremento di 1 per ogni macchina virtuale associata al computer con IP inferiore vicino a 5 (es. .126, .127 sino a .129 sono le 4 macchine virtuali configurate per la macchina con IP .125, e così via) con un massimo di 4 VM per ogni macchina.
- .10 con incremento di 10 per ogni console da gioco a partire dalla più vecchia sino alla più recente (es. .10, .20, .30 fino a .90)
- .1 device di rete e stampanti con incremento di 1, fino a .9 (es. .1 modem, .2 router, etc.)
- .15 e incremento di 10 per gli smartphones e i tablet (es. .15, .25)
Ovviamente il mio non è che un esempio e sicuramente non è neanche la disposizione degli IP più performante, non sono un architetto di rete, né un ingegnere delle telecomunicazioni per cui non sono esperto in materia, ma per le mie esigenze penso che una tale disposizione sia ottimale e mi ci sono già abituato da un po’ di tempo.
Quindi in base a questa sintassi possiamo creare un file /etc/hosts conforme alle regole di cui sopra. Ho creato un file di esempio, debitamente commentato da cui prendere spunto:
Ora che abbiamo scritto questo file siamo praticamente a metà dell’opera. Sarà quindi necessario configurare correttamente il file di DNSMasq perché legga da /etc/hosts ed il gioco è fatto. Tuttavia la vita dell’amministratore di sistema non è mica così semplice… Infatti la sintassi del file è, benché debitamente commentata, non immediatissima per coloro i quali non masticano DNS tutti i giorni (me compreso). Per cui ho caricato il file
/opt/etc/dnsmasq.conf
e corredato di commenti (si spera) esplicativi.
Tutto chiaro? Speriamo..
Ora non ci resta che avviare il demone di dnsmasq con un rapido:
/opt/etc/init.d/S56dnsmasq
C’è anche chi ha creato un file di auto avvio automatico per il servizio, che vi riporto qua:
che consente di avviare il demone con un semplice
$ dnsmasq.sh start
Che si può inserire nel file autorun.sh per sopravvivere ai reboot, se ci ricordiamo di dare il flag di esecuzione al file con:
chmod +x dnsmasq.sh
Oppure inserire nel file di cron un rotate o un dump per rispettivamente loggare o visualizzare delle statistiche su un log file.
Verifica finale
Possiamo ora cambiare i DNS sulle macchine fisse, locali mobili, attribuendo un IP fisso in base alla configurazione del file visto sopra e assegnando come impostazione del DNS l’indirizzo IP del server QNAP, nel nostro caso .100.
Dovremo ora essere in grado di pingare le altre macchine con
ping -c4 nas.example.com
e verificare che tutto funzioni.
Ora tutti i servizi del QNAP sono configurati per essere raggiungi non più con l’IP ma con un nome di dominio (per quanto ora solo locale), molto più comodo da visualizzare e ricordare.
Direi che per ora è tutto.
Successivamente vedremo le altre due parti del tutorial in cui creare degli alias per i servizi del tipo db.example.com, blog.example.com etc. e successivamente vedremo come impostare la rete per esporre questi servizi al di fuori della nostra LAN perché possiamo accedervi da remoto.
Al solito se la cosa vi è piaciuta e volete condividerla, non mi offendo, anzi..trovate i bottoni qua sotto.
Salve, ma le macchine vanno configurate per richiedere il resolve al dnsmasq?