I denne artikel vil jeg vise dig, hvordan du bruger dnsmasq til at konfigurere en lokal DNS -server, cache -DNS -server og DHCP -server. Så lad os komme i gang.
Netværkstopologi:
Dette er netværkstopologien i denne artikel. Her vil jeg konfigurere router som en DNS- og DHCP -server med dnsmasq. router har 2 netværksgrænseflader, en ( ens33 ) forbinder til Internet og den anden ( ens38 ) forbinder til en netværk swtich . Alle de andre værter ( vært1 , vært2 , vært3 ) på netværket bruger DHCP -serveren, der er konfigureret på router til automatisk tildeling af IP -adresser og DNS -serveren til navneopløsning.
Konfiguration af statisk IP:
I min netværkstopologi så du, min router har to grænseflader ens33 og ens38 . ens33 forbinder router til internettet og ens38 er forbundet til en netværks-switch , som andre computere på netværket opretter forbindelse til. Jeg bliver nødt til at bruge DHCP for at få en IP -adresse til ens33 interface fra min internetudbyder til internetforbindelse. Men ens38 interface skal konfigureres manuelt.
Lad os bruge netværket 192.168.10.0/24 til ens38 interface og andre computere på netværket. Hvis jeg bruger netværket 192.168.10.0/24, så er IP -adressen på ens38 routerens interface skal være 192.168.10.1/24. Dette er IP -adressen på dnsmasq DNS -serveren og DHCP -serveren.
BEMÆRK: Navnet på dit netværksinterface kan være anderledes. Du kan finde ud af, hvad det er for dig med ip a kommando.
På Ubuntu Server 18.04 LTS kan du bruge netplan for at konfigurere netværksgrænsefladerne. Standard netplan -konfigurationsfil er /etc/netplan/50-cloud-init.yaml .
Åbn først konfigurationsfilen /etc/netplan/50-cloud-init.yaml med følgende kommando:
$sudo nano /etc/netplan/halvtreds-cloud-init.yaml
Indtast nu følgende linjer og gem filen ved at trykke på + x efterfulgt af og og .
Nu genstart din router med følgende kommando:
$sudogenstart
En gang router støvler, bør IP -adresser tildeles som forventet.
Installation af dnsmasq:
dnsmasq er tilgængelig i det officielle pakkeopbevaringssted for Ubuntu. Så du kan nemt installere det ved hjælp af APT -pakkehåndteringen.
Ubuntu bruger systemopløst som standard til at administrere DNS -servere og DNS -caching. Inden du installerer dnsmasq, skal du stoppe og deaktivere systemopløst tjenester. Ellers vil du slet ikke kunne køre dnsmasq.
For at stoppe systemopløst service, kør følgende kommando:
$sudosystemctl stop systemd-løst
For at deaktivere systemopløst service, kør følgende kommando:
$sudosystemctl deaktiver systemd-resolved
Som standard er /etc/resolv.conf filen er knyttet til en anden systemd -konfigurationsfil, som du kan se på skærmbilledet herunder. Men vi vil ikke have det mere.
Så fjern /etc/resolv.conf link med følgende kommando:
$sudo rm -v /etc/resolv.conf
Opret nu en ny /etc/resolv.conf fil og indstil google DNS -serveren som standard DNS -server med følgende kommando:
$smed ud 'navneserver 8.8.8.8' | sudo tee /etc/resolv.conf
Opdater nu APT -pakkelagringscachen med følgende kommando:
$sudopassende opdatering
Installer nu dnsmasq med følgende kommando:
$sudopassendeinstallerednsmasq
dnsmasq skal installeres.
Konfiguration af dnsmasq DNS Server:
Konfigurationsfilen for dnsmasq er /etc/dnsmasq.conf . For at konfigurere dnsmasq som en DNS -server, skal du ændre denne fil.
Standarden /etc/dnsmasq.conf filen indeholder en masse dokumentation og kommenterede muligheder. Så jeg synes, det er bedre at omdøbe /etc/dnsmasq.conf fil til /etc/dnsmasq.conf.bk og opret en ny.
Du kan omdøbe konfigurationsfilen med følgende kommando:
$sudo mv -v /etc/dnsmasq.conf/etc/dnsmasq.conf.bk
Opret nu konfigurationsfilen /etc/dnsmasq.conf som følger:
$sudo nano /etc/dnsmasq.conf
Indtast nu følgende linjer og gem filen ved at trykke på + x efterfulgt af og og .
# DNS -konfigurationHavn=53
behov for domæne
falsk-priv
streng orden
udvide-værter
domæne= eksempel.com
BEMÆRK: Lave om eksempel.com til dit eget domænenavn.
Genstart nu dnsmasq -tjenesten med følgende kommando:
$sudosystemctl genstart dnsmasq
Nej, fejl. Store!
Nu skal du indstille 192.168.10.1 som standard DNS -serveradresse i /etc/resolv.conf .
For at gøre det skal du åbne /etc/resolv.conf fil med følgende kommando:
$sudo nano /etc/resolv.conf
Skriv nu ind navneserver 192.168.10.1 før linjen navneserver 8.8.8.8 som vist på skærmbilledet herunder. Gem derefter filen.
Det er det.
Tilføjelse af DNS -poster:
Nu kan du tilføje dine DNS -poster til /etc/hosts fil.
Åbn først /etc/hosts fil med følgende kommando:
$sudo nano /etc/værterIndtast nu dine DNS -poster i følgende format:
IP_ADDR DOMAIN_NAMEJeg har tilføjet 4 poster 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 markeret på skærmbilledet herunder. Du kan tilføje så mange DNS -poster, som du vil.
Når du er færdig, skal du gemme filen ved at trykke på + x efterfulgt af og og .
Genstart nu dnsmasq -tjenesten med følgende kommando:
$sudosystemctl genstart dnsmasq
Test af DNS -server:
Som du kan se, fungerer den lokale DNS -opløsning.
$durouter.example.com
Internets navnopløsning fungerer også.
$duGoogle com
Konfiguration af DHCP -server:
For at konfigurere DHCP -server skal du åbne dnsmasq -konfigurationsfilen /etc/dnsmasq.conf igen som følger:
$sudo nano /etc/dnsmasq.conf
Tilføj nu de markerede linjer til slutningen af filen. Gem derefter filen.
# DHCP -konfigurationdhcp-område = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option: router, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: netmaske, 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-rækkevidde bruges til at angive det område af IP -adresser, som DHCP -serveren vil tildele værter.
dhcp-option bruges til at indstille gateway ( mulighed: router ), DNS -serveradresse ( option: dns-server ) og netmaske ( mulighed: netmaske )
dhcp-vært bruges til at indstille specifikke IP -adresser til værter afhængigt af de angivne MAC -adresser.
Genstart nu dnsmasq -tjenesten med følgende kommando:
$sudosystemctl genstart dnsmasq
Test af DHCP -server:
Som du kan se, computeren vært1 fik IP -adressen 192.168.10.51/24 fra DHCP -serveren.
DNS -opløsning fungerer også ud fra vært1 .
Den samme måde, vært2 og vært3 får også den korrekte IP -adresse fra DHCP -serveren, og DNS -opløsning fungerer på hver af dem.
Hvor skal man gå Næste:
Hvis du vil lære mere om dnsmasq, skal du tjekke standardkonfigurationsfilen /etc/dnsmasq.conf (nu omdøbt til /etc/dnsmasq.conf.bk ). Den har en detaljeret beskrivelse af alle konfigurationsmulighederne for dnsmasq.
$mindre /etc/dnsmasq.conf.bk
Standard dnsmasq -konfigurationsfil for Ubuntu Server 18.04 LTS.
Så sådan konfigurerer du dnsmasq på Ubuntu Server 18.04 LTS. Tak fordi du læste denne artikel.