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 connettono 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 utilizzo la rete 192.168.10.0/24, 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 dell'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.yaml .
Per prima cosa, apri il file di configurazione /etc/netplan/50-cloud-init.yaml con il seguente comando:
$sudo nano /eccetera/netplan/cinquanta-cloud-init.yaml
Ora, digita le seguenti righe e salva il file premendo + X seguito da e e .
Ora riavvia il tuo router con il seguente comando:
$sudoriavviare
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 risolto dal sistema per impostazione predefinita per gestire i server DNS e la cache DNS. Prima di installare dnsmasq, devi fermarti e disabilitare risolto dal sistema Servizi. Altrimenti, non sarai affatto in grado di eseguire dnsmasq.
Per fermare il risolto dal sistema servizio, eseguire il seguente comando:
$sudosystemctl stop systemd-risolto
Per disabilitare il risolto dal sistema servizio, eseguire il seguente comando:
$sudosystemctl disabilita systemd-resolved
Per impostazione predefinita, il /etc/resolv.conf è 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 /eccetera/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:
$buttato fuori 'server dei nomi 8.8.8.8' | sudo tee /eccetera/resolv.conf
Ora aggiorna la cache del repository del pacchetto APT con il seguente comando:
$sudoapt aggiornamento
Ora installa dnsmasq con il seguente comando:
$sudoadattoinstallarednsmasq
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 file contiene molta documentazione e opzioni commentate. Quindi, penso che sia meglio rinominare il /etc/dnsmasq.conf file in /etc/dnsmasq.conf.bk e crearne uno nuovo.
Puoi rinominare il file di configurazione con il seguente comando:
$sudo mv -v /eccetera/dnsmasq.conf/eccetera/dnsmasq.conf.bk
Ora crea il file di configurazione /etc/dnsmasq.conf come segue:
$sudo nano /eccetera/dnsmasq.conf
Ora, digita le seguenti righe e salva il file premendo + X seguito da e e .
# Configurazione DNSporta=53
dominio necessario
fasullo-priv
rigoroso
espandere-host
dominio=esempio.com
NOTA: Modificare esempio.com al proprio nome di dominio.
Ora riavvia il servizio dnsmasq con il seguente comando:
$sudosystemctl 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 /eccetera/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 salvare 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 /eccetera/padroni di casaOra, 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) , host2.esempio.com (192.168.10.52) , e host3.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 + X seguito da e e .
Ora riavvia il servizio dnsmasq con il seguente comando:
$sudosystemctl riavvia dnsmasq
Test del server DNS:
Come puoi vedere, la risoluzione DNS locale funziona.
$turouter.esempio.com
Funziona anche la risoluzione dei nomi Internet.
$tuGoogle come
Configurazione del server DHCP:
Per configurare il server DHCP, apri il file di configurazione dnsmasq /etc/dnsmasq.conf ancora come segue:
$sudo nano /eccetera/dnsmasq.conf
Ora aggiungi le linee contrassegnate alla fine del file. Quindi salvare 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-opzione 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:
$sudosystemctl 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 /eccetera/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.