Installare DNSMASQ:
sudo apt-get install -y dnsmasq
adesso il servizio DNS sarà già attivo, andiamo ad interromperlo per poterne modificare la configurazione
sudo service dnsmasq stop
configuriamo adesso il server DNS con il comando
sudo nano /etc/dnsmasq.conf
si aprirà l’editor di testo sul terminale,
il file di configurazione mostrato sarà tutto commentato (con ‘#‘ all’inizio di ogni frase),
potete anche lasciare tutto intatto per consultazioni future, l’importante è inserire all’inizio le stringhe di configurazione che seguono:
# DOMAIN CONFIG
domain=raspberry.myhome
resolv-file=/etc/resolv.dnsmasq
min-port=4096
# FORWARDING DNS SERVERS
server=8.8.8.8
server=8.8.4.4
server=208.67.222.222
server=208.67.220.220
# LOCAL CACHE SIZE
cache-size=10000
# LOCAL ADDRESSLIST
address=/nas.myhome/192.168.1.8
# BLACKLIST
address=/double-click.net/127.0.0.1
# poi qui di seguito tutto il file originale..
i 4 server di forwarding sono rispettivamente 2 Google e 2 OpenDns
il dominio .myhome può essere cambiato a piacere, ma NON deve essere un dominio usato pubblicamente (esempio .net), evitare anche il famoso .local
potete inserire nella Local-AddressList, tutti gli indirizzi locali che volete risolvere in IP (locali o anche pubblici)
-ovviamente è anche possibile eseguire override di indirizzi comuni (DNS Spoofing)
-nel mio caso ho inserito la risoluzione dell’IP del mio NAS su un dominio personalizzato (.myhome)
-potete aggiungere una nuova riga per ogni altra mappatura
tutti i domini inseriti nella blacklist non risulteranno più raggiungibili dalla rete locale (perchè mappati sul loopback)
salvare con Ctrl+X, e premendo Y, confermando con Invio.
Riavviare il servizio dnsmasq
service dnsmasq start
NOTA: DnsMasq è in grado di fungere anche da server DHCP, ma nel nostro caso lo useremo solamente come server DNS.
Adesso il nostro server DNS locale è pronto per poter essere usato
Per poter usare il nostro server DNS locale, andiamo sul PC o sul router nella sezione di configurazione DNS, ed inseriamo come server DNS primario l’indirizzo IP statico precedentemente assegnato al nostro Raspberry.
E’ buona norma inserire anche un server DNS secondario, usato in caso di malfunzionamento o irraggiungibilità del nostro server DNS locale, possiamo ad esempio inserire quello di Google (secondario: 8.8.4.4).
Facciamo un test da un computer in LAN con i comandi:
nslookup google.it
nslookup nas.myhome
la risposta sarà corretta se proveniente dal server DNS locale, ovvero del tipo:
Server: 192.168.1.190
Non-authoritative answer:
Name: google.it
Address: 216.58.205.67
oppure
Server: 192.168.1.190
Non-authoritative answer:
Name: nas.myhome
Address: 192.168.1.8
in ogni caso avendo impostato un DNS secondario, in caso di disconnessione del raspberry, sarà comunque possibile navigare tranquillamente.