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ą.