Slik konfigurerer du dnsmasq på Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq er en veldig lett lokal DNS -server. dnsmasq kan også konfigureres som en DNS -cache -server og DHCP -server. dnsmasq har IPv4- og IPv6 -støtte, inkludert DHCPv4 og DHCPv6. dnsmasq er ideelt for små nettverk.

I denne artikkelen skal jeg vise deg hvordan du bruker dnsmasq til å konfigurere en lokal DNS -server, bufring av DNS -server og DHCP -server. Så, la oss komme i gang.







Nettverkstopologi:

Dette er nettverkstopologien til denne artikkelen. Her vil jeg konfigurere ruteren som en DNS- og DHCP -server med dnsmasq. ruteren har 2 nettverksgrensesnitt, ett ( ens33 ) kobles til Internett og den andre ( ens38 ) kobles til en nettverk swtich . Alle de andre vertene ( host1 , vert2 , vert3 ) på nettverket bruker DHCP -serveren som er konfigurert på ruteren for automatisk tildeling av IP -adresser og DNS -server for navneoppløsning.





Konfigurere statisk IP:

I min nettverkstopologi så du, min ruteren har to grensesnitt ens33 og ens38 . ens33 kobler ruter til internett og ens38 er koblet til a nettverksbryter , som andre datamaskiner på nettverket kobles til. Jeg må bruke DHCP for å få en IP -adresse for ens33 grensesnitt fra min ISP for internettforbindelse. Men ens38 grensesnittet må konfigureres manuelt.





La oss bruke nettverket 192.168.10.0/24 for ens38 -grensesnitt og andre datamaskiner på nettverket. Hvis jeg bruker nettverket 192.168.10.0/24, så er IP -adressen til ens38 grensesnittet til ruteren skal være 192.168.10.1/24. Dette er IP -adressen til dnsmasq DNS -serveren og DHCP -serveren.

MERK: Navnet på nettverksgrensesnittet kan være annerledes. Du kan finne ut hva det er for deg med ip a kommando.



På Ubuntu Server 18.04 LTS kan du bruke netplan for å konfigurere nettverksgrensesnittene. Standard netplan -konfigurasjonsfil er /etc/netplan/50-cloud-init.yaml .

Åpne først konfigurasjonsfilen /etc/netplan/50-cloud-init.yaml med følgende kommando:

$sudo nano /etc/netplan/femti-cloud-init.yaml

Skriv inn følgende linjer og lagre filen ved å trykke + x etterfulgt av og og .

Start datamaskinen på nytt ruteren med følgende kommando:

$sudostarte på nytt

Først når ruteren boots, bør IP -adresser tilordnes som forventet.

Installere dnsmasq:

dnsmasq er tilgjengelig i det offisielle pakkelageret til Ubuntu. Så du kan enkelt installere det ved hjelp av APT -pakkebehandleren.

Ubuntu bruker systemoppløst som standard for å administrere DNS -servere og DNS -hurtigbufring. Før du installerer dnsmasq, må du stoppe og deaktivere systemoppløst tjenester. Ellers vil du ikke kunne kjøre dnsmasq i det hele tatt.

For å stoppe systemoppløst service, kjør følgende kommando:

$sudosystemctl stopp systemd-løst

For å deaktivere systemoppløst service, kjør følgende kommando:

$sudosystemctl deaktiver systemd-resolved

Som standard er /etc/resolv.conf filen er koblet til en annen systemd -konfigurasjonsfil som du kan se på skjermbildet nedenfor. Men, vi vil ikke det lenger.

Så fjern /etc/resolv.conf lenke med følgende kommando:

$sudo rm -v /etc/resolv.conf

Lag nå en ny /etc/resolv.conf filen og angi google DNS -server som standard DNS -server med følgende kommando:

$kastet ut 'navneserver 8.8.8.8' | sudo tee /etc/resolv.conf

Oppdater nå APT -pakkelagerbufferen med følgende kommando:

$sudopassende oppdatering

Installer nå dnsmasq med følgende kommando:

$sudopassendeinstallerednsmasq

dnsmasq bør installeres.

Konfigurere dnsmasq DNS Server:

Konfigurasjonsfilen til dnsmasq er /etc/dnsmasq.conf . For å konfigurere dnsmasq som en DNS -server, må du endre denne filen.

Standaren /etc/dnsmasq.conf filen inneholder mye dokumentasjon og kommentarer til alternativer. Så jeg tror det er bedre å gi nytt navn til /etc/dnsmasq.conf filen til /etc/dnsmasq.conf.bk og lag en ny.

Du kan gi nytt navn til konfigurasjonsfilen med følgende kommando:

$sudo mv -v /etc/dnsmasq.conf/etc/dnsmasq.conf.bk

Lag nå konfigurasjonsfilen /etc/dnsmasq.conf følgende:

$sudo nano /etc/dnsmasq.conf

Skriv inn følgende linjer og lagre filen ved å trykke + x etterfulgt av og og .

# DNS -konfigurasjon
havn=53

behov for domene
falsk-priv
streng orden

utvide vertene
domene= eksempel.com

MERK: Endring example.com til ditt eget domenenavn.

Start nå dnsmasq -tjenesten på nytt med følgende kommando:

$sudosystemctl start dnsmasq på nytt

Nei, feil. Flott!

Nå må du sette 192.168.10.1 som standard DNS -serveradresse i /etc/resolv.conf .

For å gjøre det, åpne /etc/resolv.conf fil med følgende kommando:

$sudo nano /etc/resolv.conf

Skriv inn nå navneserver 192.168.10.1 før linjen navneserver 8.8.8.8 som vist på skjermbildet nedenfor. Lagre deretter filen.

Det er det.

Legge til DNS -poster:

Nå kan du legge til DNS -oppføringene i /etc/hosts fil.

Først åpner du /etc/hosts fil med følgende kommando:

$sudo nano /etc/verter

Skriv inn DNS -oppføringene dine i følgende format:

IP_ADDR DOMAIN_NAME

Jeg har lagt til 4 oppføringer router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , og host3.example.com (192.168.10.53) som markert på skjermbildet nedenfor. Du kan legge til så mange DNS -oppføringer du vil.

Når du er ferdig, lagrer du filen ved å trykke + x etterfulgt av og og .

Start nå dnsmasq -tjenesten på nytt med følgende kommando:

$sudosystemctl start dnsmasq på nytt

Tester DNS -server:

Som du kan se, fungerer den lokale DNS -oppløsningen.

$durouter.example.com

Internett -navnoppløsning fungerer også.

$duGoogle com

Konfigurere DHCP -server:

Åpne dnsmasq -konfigurasjonsfilen for å konfigurere DHCP -serveren /etc/dnsmasq.conf igjen som følger:

$sudo nano /etc/dnsmasq.conf

Legg nå til de merkede linjene i slutten av filen. Lagre deretter filen.

# DHCP -konfigurasjon
dhcp-range = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option: ruter, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: 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:29A5: BD: 6C, 192.168.10.53

Her, dhcp-rekkevidde brukes til å angi området for IP -adresser som DHCP -serveren vil tildele verter.

dhcp-alternativ brukes til å angi gatewayen ( alternativ: ruter ), DNS -serveradresse ( alternativ: dns-server ) og nettmaske ( alternativ: nettmaske )

dhcp-vert brukes til å angi bestemte IP -adresser til verter avhengig av de angitte MAC -adressene.

Start nå dnsmasq -tjenesten på nytt med følgende kommando:

$sudosystemctl start dnsmasq på nytt

Testing av DHCP -server:

Som du kan se, datamaskinen host1 fikk IP -adressen 192.168.10.51/24 fra DHCP -serveren.

DNS -oppløsning fungerer også fra host1 .

Den samme veien, vert2 og vert3 får også riktig IP -adresse fra DHCP -serveren, og DNS -oppløsningen fungerer på hver av dem.

Hvor skal du gå neste:

Hvis du vil lære mer om dnsmasq, kan du sjekke standardkonfigurasjonsfilen /etc/dnsmasq.conf (nå omdøpt til /etc/dnsmasq.conf.bk ). Den har en detaljert beskrivelse av alle konfigurasjonsalternativene for dnsmasq.

$mindre /etc/dnsmasq.conf.bk

Standard dnsmasq -konfigurasjonsfil for Ubuntu Server 18.04 LTS.

Så slik konfigurerer du dnsmasq på Ubuntu Server 18.04 LTS. Takk for at du leste denne artikkelen.