Kaip sukonfigūruoti DNS/DHCP serverį naudojant „dnsmasq“ sistemoje „CentOS/RHEL 8/7“


Dinaminio pagrindinio kompiuterio konfigūravimo protokolo (DHCP) serveris dinamiškai priskiria IP adresus ir kitus tinklo konfigūracijos parametrus kiekvienam tinklo įrenginiui. LAN ekspeditorius LAN perduoda ne vietinių domenų vardų DNS užklausas aukštesnio lygio DNS serveriams (už šio tinklo ribų). DNS talpyklos serveris atsako į rekursines klientų užklausas, kad DNS užklausą būtų galima išspręsti greičiau, taip pagerinant anksčiau aplankytų svetainių DNS paieškos greitį.

„dnsmasq“ yra lengvas, lengvai konfigūruojamas DNS ekspeditorius, DHCP serverio programinė įranga ir maršrutizatorių reklamos posistemis mažiems tinklams. „Dnsmasq“ palaiko „Linux“, * BSD, „Mac OS X“ ir „Android“.

Jame yra DNS posistemis, kuris teikia vietinį DNS serverį tinklui, persiunčiant visus užklausų tipus į rekursinius DNS serverius ir talpinant bendrų įrašų tipus. DHCP posistemis palaiko DHCPv4, DHCPv6, BOOTP, PXE ir TFTP serverį. Maršrutizatoriaus reklamos posistemis palaiko pagrindinę automatinę IPv6 kompiuterių konfigūraciją.

Šiame straipsnyje mes apžvelgsime instrukcijas, kaip įdiegti ir nustatyti DNS/DHCP serverį naudojant „dnsmasq“ „CentOS/RHEL 8/7“ paskirstymuose.

„Dnsmasq“ diegimas „CentOS“ ir „RHEL Linux“

1. „dnsmasq“ paketą galima rasti numatytosiose saugyklose ir jį galima lengvai įdiegti naudojant „YUM“ paketų tvarkyklę, kaip parodyta.

# yum install dnsmasq

2. Baigę „dnsmasq“ paketo diegimą, kol kas turite paleisti „dnsmasq“ paslaugą ir įgalinti ją automatiškai paleisti įkrovos metu. Be to, patikrinkite jo būseną, kad įsitikintumėte, jog jis veikia ir veikia, naudodami šias „systemctl“ komandas.

# systemctl start dnsmasq
# systemctl enable dnsmasq
# systemctl status dnsmasq

„Dnsmasq Server“ konfigūravimas „CentOS“ ir „RHEL Linux“

3. „dnsmasq“ serverį galima sukonfigūruoti naudojant failą /etc/dnsmasq.conf (kuriame yra gerai komentuojamų ir paaiškintų parinkčių), o vartotojo apibrėžtus konfigūracijos failus taip pat galima pridėti kataloge /etc/dnsmasq.d.

DNS yra įjungtas pagal numatytuosius nustatymus, todėl prieš atlikdami bet kokius pakeitimus, įsitikinkite, kad sukūrėte /etc/dnsmasq.conf failo atsarginę kopiją.

# cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

4. Dabar atidarykite failą /etc/dnsmasq.conf naudodami mėgstamą teksto rengyklę ir atlikite šiuos siūlomus konfigūracijos nustatymus.

# vi /etc/dnsmasq.conf 

Parinktis listen-address naudojama nustatyti IP adresą, kur „dnsmasq“ klausysis. Jei norite naudoti savo „CentOS/RHEL“ serverį DHCP ir DNS užklausų klausymui LAN, nustatykite parinktį listen-address į jos LAN IP adresus (nepamirškite įtraukti 127.0.0.1), kaip parodyta. Atminkite, kad serverio IP turi būti statinis.

listen-address=::1,127.0.0.1,192.168.56.10

Susiję su tuo, kas išdėstyta pirmiau, galite apriboti sąsajos dnsmasq klausymąsi naudodami sąsajos parinktį (pridėkite daugiau eilučių daugiau nei vienai sąsajai).

interface=eth0

5. Jei norite, kad domenas (kurį galite nustatyti taip, kaip parodyta toliau) automatiškai būtų pridėtas prie paprastų vardų „hosts-file“, atžymėkite parinktį expand-hosts .

expand-hosts

6. Norėdami nustatyti dnsmasq domeną, o tai reiškia, kad DHCP klientai turės visiškai kvalifikuotus domenų vardus tol, kol bus suderintas nustatytas domenas, ir visiems klientams nustato „domeno“ DHCP parinktį.

domain=tecmint.lan

7. Toliau taip pat apibrėžkite ankstesnį DNS serverį ne vietiniams domenams, naudodami serverio parinktį (formos serveris = dns_server_ip), kaip parodyta.

# Google's nameservers
server=8.8.8.8
server=8.8.4.4

8. Tada galite priversti savo vietinį domeną įvesti IP adresą (-us) naudodami adreso parinktį, kaip parodyta.

address=/tecmint.lan/127.0.0.1 
address=/tecmint.lan/192.168.56.10

9. Išsaugokite failą ir patikrinkite, ar konfigūracijos failo sintaksėje nėra klaidų, kaip parodyta.

# dnsmasq --test

10. Šiame žingsnyje turite atlikti visas užklausas, kurios bus siunčiamos į „dnsmasq“, pridedant „localhost“ adresus kaip vienintelius vardų serverius /etc/resolv.conf faile.

# vi /etc/resolv.conf

11. Failą /etc/resolv.conf palaiko vietinis demonas, ypač „chattr“ komanda, kaip parodyta.

# chattr +i /etc/resolv.conf
# lsattr /etc/resolv.conf

12. „Dnsmasq“ nuskaito visus DNS kompiuterius ir vardus iš failo/etc/hosts, todėl pridėkite savo DNS kompiuterių IP adresus ir vardų poras, kaip parodyta.

127.0.0.1       dnsmasq
192.168.56.10 	dnsmasq 
192.168.56.1   	gateway
192.168.56.100	maas-controller 
192.168.56.20 	nagios
192.168.56.25 	webserver1

Svarbu: vietinius DNS pavadinimus taip pat galima apibrėžti importuojant pavadinimus iš DHCP posistemio arba konfigūruojant įvairius naudingus įrašų tipus.

13. Norėdami pritaikyti aukščiau nurodytus pakeitimus, iš naujo paleiskite „dnsmasq“ paslaugą, kaip parodyta.

# systemctl restart dnsmasq

14. Jei veikia užkardos paslauga, turite atidaryti DNS ir DHCP paslaugas užkardos konfigūracijoje, kad leistumėte jūsų LAN serverio užklausoms perduoti dnsmasq serverį.

# firewall-cmd --add-service=dns --permanent
# firewall-cmd --add-service=dhcp --permanent
# firewall-cmd --reload

15. Norėdami patikrinti, ar vietinis DNS serveris ar persiuntimas veikia gerai, DNS užklausoms atlikti turite naudoti tokius įrankius kaip „nslookup“. Šiuos įrankius teikia „bind-utils“ paketas, kuris gali būti iš anksto neįdiegtas „CentOS/RHEL 8“, tačiau jį galite įdiegti taip, kaip parodyta.

# yum install bind-utils

16. Įdiegę galite vykdyti paprastą užklausą savo vietiniame domene, kaip parodyta.

# dig tecmint.lan
OR
# nslookup tecmint.lan

17. Taip pat galite pabandyti pateikti užklausą dėl vieno iš serverių FQDN.

# dig webserver1.tecmint.lan
OR
# nslookup webserver1.tecmint.lan

18. Norėdami išbandyti atvirkštinę IP paiešką, paleiskite panašią komandą.

# dig -x 192.168.56.25
OR
# nslookup 192.168.56.25

Įgalinti DHCP serverį naudojant „dnsmasq“

19. Galite įjungti DHCP serverį, nekomentuodami parinkties dhcp-range ir pateikdami nuomojamų adresų diapazoną ir pasirinktinai nuomos laiką (pvz., Pakartokite daugiau nei vienam tinklui).

dhcp-range=192.168.0.50,192.168.0.150,12h

20. Ši parinktis apibrėžia, kur DHCP serveris laikys savo nuomos duomenų bazę. Tai padės jums lengvai patikrinti priskirtus IP adresus.

dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

21. Jei norite, kad DHCP serveris veiktų autoritetingu režimu, atžymėkite šią parinktį.

dhcp-authoritative

22. Norėdami pritaikyti naujausius pakeitimus, išsaugokite failą ir iš naujo paleiskite „dnsmasq“ paslaugą.

# systemctl restart dnsmasq

Tai leidžia mums baigti šį vadovą. Jei norite susisiekti su mumis dėl bet kokių klausimų ar minčių, kuriais norite pasidalinti apie šį vadovą, naudokite toliau pateiktą atsiliepimų formą.