In questo articolo, ti mostrerò come utilizzare dnsmasq per configurare un server DNS locale, memorizzare nella cache un server DNS e un server DHCP. Quindi iniziamo.
Topologia di rete:
Questa è la topologia di rete di questo articolo. Ecco, io configurerò router come server DNS e DHCP con dnsmasq. router dispone di 2 interfacce di rete, una (ens33) si collega a Internet e l'altro (ens38) si connette a a interruttore di rete. Tutti gli altri ospiti (host1, ospite2, ospite3) sulla rete utilizza il server DHCP configurato sul router per l'assegnazione automatica degli indirizzi IP e del server DNS per la risoluzione dei nomi.
Configurazione dell'IP statico:
Nella mia topologia di rete, hai visto, mio router ha due interfacce ens33 e ens38. ens33 collega il router a Internet e ens38 è collegato a un switch di rete, a cui si collegano gli altri computer della rete. Dovrò usare DHCP per ottenere un indirizzo IP per il ens33 interfaccia dal mio ISP per la connessione a Internet. Ma il ens38 l'interfaccia deve essere configurata manualmente.
Usiamo la rete 192.168.10.0/24 per interfaccia ens38 e altri computer in rete. Se uso la rete 192.168.10.0/24, quindi l'indirizzo IP del ens38 l'interfaccia del router dovrebbe essere 192.168.10.1/24. Questo è l'indirizzo IP del server DNS dnsmasq e del server DHCP.
NOTA: Il nome della tua interfaccia di rete potrebbe essere diverso. Puoi scoprire cosa fa per te con il ip a comando.
Su Ubuntu Server 18.04 LTS, puoi usare netplan per configurare le interfacce di rete. Il file di configurazione di netplan predefinito è /etc/netplan/50-cloud-init.igname.
Per prima cosa, apri il file di configurazione /etc/netplan/50-cloud-init.igname con il seguente comando:
$ sudo nano /etc/netplan/50-cloud-init.igname
Ora, digita le seguenti righe e salva il file premendo
Ora riavvia il tuo router con il seguente comando:
$ sudo reboot
una volta che router boots, gli indirizzi IP dovrebbero essere assegnati come previsto.
Installazione di dnsmasq:
dnsmasq è disponibile nel repository ufficiale dei pacchetti di Ubuntu. Quindi, puoi installarlo facilmente usando il gestore di pacchetti APT.
Ubuntu usa systemd-risolto per impostazione predefinita per gestire i server DNS e la cache DNS. Prima di installare dnsmasq, devi fermarti e disabilitare systemd-risolto Servizi. Altrimenti, non sarai affatto in grado di eseguire dnsmasq.
Per fermare il systemd-risolto servizio, eseguire il seguente comando:
$ sudo systemctl stop systemd-resolved
Per disabilitare il systemd-risolto servizio, eseguire il seguente comando:
$ sudo systemctl disabilita systemd-resolved
Per impostazione predefinita, il /etc/resolv.conf il file è collegato a un altro file di configurazione di systemd come puoi vedere nello screenshot qui sotto. Ma non lo vogliamo più.
Quindi, rimuovi il /etc/resolv.conf link con il seguente comando:
$ sudo rm -v /etc/resolv.conf
Ora, crea un nuovo /etc/resolv.conf file e imposta il server DNS di Google come server DNS predefinito con il seguente comando:
$ echo "server dei nomi 8.8.8.8" | sudo tee /etc/resolv.conf
Ora aggiorna la cache del repository del pacchetto APT con il seguente comando:
$ sudo apt update
Ora installa dnsmasq con il seguente comando:
$ sudo apt install dnsmasq
dnsmasq dovrebbe essere installato.
Configurazione del server DNS dnsmasq:
Il file di configurazione di dnsmasq è /etc/dnsmasq.conf. Per configurare dnsmasq come server DNS, devi modificare questo file.
Il predefinito /etc/dnsmasq.conf il file contiene molta documentazione e opzioni commentate. Quindi, penso che sia meglio rinominare il /etc/dnsmasq.conf file in /etc/dnsmasq.conf.bk e creane uno nuovo.
Puoi rinominare il file di configurazione con il seguente comando:
$ sudo mv -v /etc/dnsmasq.conf /etc/dnsmasq.conf.bk
Ora crea il file di configurazione /etc/dnsmasq.conf come segue:
$ sudo nano /etc/dnsmasq.conf
Ora, digita le seguenti righe e salva il file premendo
porta=53
dominio necessario
fasullo-priv
rigoroso
espandere-host
dominio=esempio.come
NOTA: Modificare esempio.come al tuo nome di dominio.
Ora riavvia il servizio dnsmasq con il seguente comando:
$ sudo systemctl riavvia dnsmasq
No, errori. grande!
Ora devi impostare 192.168.10.1 come indirizzo del server DNS predefinito nel /etc/resolv.conf.
Per farlo, apri /etc/resolv.conf file con il seguente comando:
$ sudo nano /etc/resolv.conf
Ora digita server dei nomi 192.168.10.1 prima della linea server dei nomi 8.8.8.8 come mostrato nello screenshot qui sotto. Quindi salva il file.
Questo è tutto.
Aggiunta di record DNS:
Ora puoi aggiungere le tue voci DNS a /etc/host file.
Per prima cosa, apri il /etc/host file con il seguente comando:
$ sudo nano /etc/hostsOra, digita le tue voci DNS nel seguente formato:
IP_ADDR DOMAIN_NAMEHo aggiunto 4 voci router.esempio.com (192.168.10.1), host1.esempio.com (192.168.10.51), ospite2.esempio.com (192.168.10.52) , e ospite3.esempio.com (192.168.10.53) come indicato nello screenshot qui sotto. Puoi aggiungere tutte le voci DNS che desideri.
Al termine, salva il file premendo by
Ora riavvia il servizio dnsmasq con il seguente comando:
$ sudo systemctl riavvia dnsmasq
Test del server DNS:
Come puoi vedere, la risoluzione DNS locale funziona.
$ scavare router.esempio.come
Funziona anche la risoluzione dei nomi in Internet.
$ scavare google.come
Configurazione del server DHCP:
Per configurare il server DHCP, apri il file di configurazione dnsmasq /etc/dnsmasq.conf ancora come segue:
$ sudo nano /etc/dnsmasq.conf
Ora aggiungi le linee contrassegnate alla fine del file. Quindi salva il file.
# Configurazione DHCPdhcp-range=192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option=opzione:router,192.168.10.1
dhcp-option=opzione:dns-server,192.168.10.1
dhcp-option=opzione:netmask,255.255.255.0
dhcp-host=00:0C:29:A5:BD:4A,192.168.10.51
dhcp-host=00:0C:29:A5:BD:5B,192.168.10.52
dhcp-host=00:0C:29:A5:BD:6C,192.168.10.53
Qui, dhcp-range viene utilizzato per impostare l'intervallo di indirizzi IP che il server DHCP assegnerà agli host.
DHCP-opzionep viene utilizzato per impostare il gateway (opzione: router), indirizzo del server DNS (opzione: server DNS) e maschera di rete (opzione: maschera di rete)
dhcp-host viene utilizzato per impostare indirizzi IP specifici per gli host a seconda degli indirizzi MAC specificati.
Ora riavvia il servizio dnsmasq con il seguente comando:
$ sudo systemctl riavvia dnsmasq
Test del server DHCP:
Come puoi vedere, il computer host1 ottenuto l'indirizzo IP 192.168.10.51/24 dal server DHCP.
La risoluzione DNS funziona anche da host1.
Allo stesso modo, ospite2 e ospite3 ottiene anche l'indirizzo IP corretto dal server DHCP e la risoluzione DNS funziona su ciascuno di essi.
Dove andare dopo:
Se vuoi saperne di più su dnsmasq, controlla il file di configurazione predefinito /etc/dnsmasq.conf (ora rinominato in /etc/dnsmasq.conf.bk). Ha una descrizione dettagliata di tutte le opzioni di configurazione di dnsmasq.
$ meno /etc/dnsmasq.conf.bk
File di configurazione dnsmasq predefinito di Ubuntu Server 18.04 LTS.
Quindi, è così che configuri dnsmasq su Ubuntu Server 18.04 LTS. Grazie per aver letto questo articolo.