Come configurare dnsmasq su Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq è un server DNS locale molto leggero. dnsmasq può anche essere configurato come server cache DNS e server DHCP. dnsmasq ha supporti IPv4 e IPv6 inclusi DHCPv4 e DHCPv6. dnsmasq è ideale per piccole reti.

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 DNS
porta=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 casa

Ora, digita le tue voci DNS nel seguente formato:

IP_ADDR DOMAIN_NAME

Ho 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 DHCP
dhcp-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.