Sådan konfigureres dnsmasq på Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq er en meget let lokal DNS -server. dnsmasq kan også konfigureres som en DNS -cache -server og DHCP -server. dnsmasq har IPv4 og IPv6 understøtter herunder DHCPv4 og DHCPv6. dnsmasq er ideel til lille netværk.

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 -konfiguration
Havn=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ærter

Indtast nu dine DNS -poster i følgende format:

IP_ADDR DOMAIN_NAME

Jeg 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 -konfiguration
dhcp-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.