I denne artikkelen skal jeg vise deg hvordan du bruker dnsmasq til å konfigurere en lokal DNS-server, caching DNS-server og DHCP-server. Så la oss komme i gang.
Nettverkstopologi:
Dette er nettverkstopologien i denne artikkelen. Her vil jeg konfigurere ruteren som en DNS- og DHCP-server med dnsmasq. ruteren har to nettverksgrensesnitt, en (ens33) kobles til internett og den andre (ens38) kobles til en nettverk swtich. Alle de andre vertene (vert1, vert2, vert3) på nettverket bruker DHCP-serveren konfigurert på ruteren for automatisk tildeling av IP-adresser og DNS-serveren for navneløsning.
Konfigurere statisk IP:
I nettverkstopologien min så du, min ruteren har to grensesnitt ens33 og ens38. ens33 kobler ruteren til internett og ens38 er koblet til en nettverksbryter, hvilke andre datamaskiner i nettverket som er koblet 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 i nettverket. Hvis jeg bruker nettverket 192.168.10.0/24, deretter 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: Nettverksgrensesnittnavnet ditt kan være annerledes. Du kan finne ut hva det er for deg med ip a kommando.
På Ubuntu Server 18.04 LTS, du kan bruke netplan for å konfigurere nettverksgrensesnittene. Standard netplan-konfigurasjonsfilen er / etc / netplan / 50-cloud-init.yaml.
Først åpner du konfigurasjonsfilen / etc / netplan / 50-cloud-init.yaml med følgende kommando:
$ sudo nano / etc / netplan / 50-cloud-init.yaml
Skriv inn følgende linjer og lagre filen ved å trykke på
Start på nytt din ruteren med følgende kommando:
$ sudo omstart
Først når ruteren støvler, bør IP-adresser tildeles som forventet.
Installere dnsmasq:
dnsmasq er tilgjengelig i det offisielle pakkelageret til Ubuntu. Så du kan enkelt installere det ved hjelp av APT-pakkebehandling.
Ubuntu bruker systemd-løst som standard for å administrere DNS-servere og DNS-caching. Før du installerer dnsmasq, må du stoppe og deaktivere systemd-løst tjenester. Ellers vil du ikke kunne kjøre dnsmasq i det hele tatt.
For å stoppe systemd-løst service, kjør følgende kommando:
$ sudo systemctl stopp systemd-løst
For å deaktivere systemd-løst service, kjør følgende kommando:
$ sudo systemctl deaktivere systemd-løst
Som standard er / etc / resolv.konf filen er koblet til en annen systemd konfigurasjonsfil som du kan se på skjermbildet nedenfor. Men vi vil ikke ha det lenger.
Så fjern / etc / resolv.konf lenke med følgende kommando:
$ sudo rm -v / etc / resolv.konf
Lag nå et nytt / etc / resolv.konf fil og angi google DNS-serveren som standard DNS-server med følgende kommando:
$ echo "navneserver 8.8.8.8 "| sudo tee / etc / resolv.konf
Nå oppdaterer du hurtigbufferen for APT-pakken med følgende kommando:
$ sudo apt oppdatering
Installer nå dnsmasq med følgende kommando:
$ sudo apt installere dnsmasq
dnsmasq skal installeres.
Konfigurere dnsmasq DNS-server:
Konfigurasjonsfilen til dnsmasq er / etc / dnsmasq.konf. For å konfigurere dnsmasq som en DNS-server, må du endre denne filen.
Standaren / etc / dnsmasq.konf filen inneholder mye dokumentasjon og kommenterte alternativer. Så jeg tror det er bedre å gi nytt navn til / etc / dnsmasq.konf fil til / etc / dnsmasq.konf.bk og opprett en ny.
Du kan gi nytt navn til konfigurasjonsfilen med følgende kommando:
$ sudo mv -v / etc / dnsmasq.conf / etc / dnsmasq.konf.bk
Opprett nå konfigurasjonsfilen / etc / dnsmasq.konf som følger:
$ sudo nano / etc / dnsmasq.konf
Skriv inn følgende linjer og lagre filen ved å trykke på
port = 53
domenebehov
falsk-priv
streng ordre
utvide verter
domene = eksempel.com
MERK: Endring eksempel.com til ditt eget domenenavn.
Start nå dnsmasq-tjenesten på nytt med følgende kommando:
$ sudo systemctl start dnsmasq på nytt
Nei, feil. Flott!
Nå må du stille 192.168.10.1 som standard DNS-serveradresse i / etc / resolv.konf.
For å gjøre det, åpne / etc / resolv.konf fil med følgende kommando:
$ sudo nano / etc / resolv.konf
Nå skriver du inn 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 dine i / etc / verter fil.
Først åpner du / etc / verter fil med følgende kommando:
$ sudo nano / etc / hostsSkriv inn DNS-oppføringene dine i følgende format:
IP_ADDR DOMAIN_NAMEJeg har lagt til 4 oppføringer ruteren.eksempel.com (192.168.10.1), vert1.eksempel.com (192.168.10.51), vert2.eksempel.com (192.168.10.52) , og vert3.eksempel.com (192.168.10.53) som markert i skjermbildet nedenfor. Du kan legge til så mange DNS-oppføringer du vil.
Når du er ferdig, lagrer du filen ved å trykke på
Start nå dnsmasq-tjenesten på nytt med følgende kommando:
$ sudo systemctl start dnsmasq på nytt
Testing av DNS-server:
Som du kan se, fungerer den lokale DNS-oppløsningen.
$ dig-ruteren.eksempel.com
Oppløsning av Internett-navn fungerer også.
$ dig google.com
Konfigurere DHCP-server:
For å konfigurere DHCP-server, åpne dnsmasq-konfigurasjonsfilen / etc / dnsmasq.konf igjen som følger:
$ sudo nano / etc / dnsmasq.konf
Legg nå til de merkede linjene til slutten av filen. Lagre deretter filen.
# DHCP-konfigurasjondhcp-rekkevidde = 192.168.10.50,192.168.10.240,255.255.255.0,24 timer
dhcp-option = alternativ: router, 192.168.10.1
dhcp-option = alternativ: dns-server, 192.168.10.1
dhcp-option = alternativ: netmask, 255.255.255.0
dhcp-vert = 00: 0C: 29: A5: BD: 4A, 192.168.10.51
dhcp-vert = 00: 0C: 29: A5: BD: 5B, 192.168.10.52
dhcp-vert = 00: 0C: 29: A5: BD: 6C, 192.168.10.53
Her, dhcp-rekkevidde brukes til å angi rekkevidden av IP-adresser som DHCP-serveren vil tildele verter.
dhcp-alternativ brukes til å sette gatewayen (alternativ: router), DNS-serveradresse (alternativ: dns-server) og nettmaske (alternativ: nettmaske)
dhcp-vert brukes til å angi spesifikke IP-adresser til verter, avhengig av de angitte MAC-adressene.
Start nå dnsmasq-tjenesten på nytt med følgende kommando:
$ sudo systemctl start dnsmasq på nytt
Testing DHCP Server:
Som du kan se, datamaskinen vert1 fikk IP-adressen 192.168.10.51/24 fra DHCP-serveren.
DNS-oppløsning fungerer også fra vert1.
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å videre:
Hvis du vil lære mer om dnsmasq, sjekk ut standardkonfigurasjonsfilen / etc / dnsmasq.konf (nå omdøpt til / etc / dnsmasq.konf.bk). Den har detaljert beskrivelse av alle konfigurasjonsalternativene til dnsmasq.
$ mindre / etc / dnsmasq.konf.bk
Standard dnsmasq-konfigurasjonsfil for Ubuntu Server 18.04 LTS.
Så det er slik du konfigurerer dnsmasq på Ubuntu Server 18.04 LTS. Takk for at du leser denne artikkelen.