Kā iestatīt DNS/DHCP serveri, izmantojot pakalpojumu dnsmasq vietnē CentOS/RHEL 8/7


Dinamiskā resursdatora konfigurācijas protokola (DHCP) serveris dinamiski piešķir IP adreses un citus tīkla konfigurācijas parametrus katrai tīkla ierīcei. Vietējā DNS DNS ekspeditors pārsūta DNS vaicājumus par vietējiem domēnu nosaukumiem augšpus DNS serveriem (ārpus šī tīkla). DNS kešatmiņas serveris atbild uz rekursīviem klientu pieprasījumiem, lai DNS vaicājumu varētu atrisināt ātrāk, tādējādi uzlabojot DNS meklēšanas ātrumu iepriekš apmeklētajās vietnēs.

dnsmasq ir viegls, viegli konfigurējams DNS ekspeditors, DHCP servera programmatūra un maršrutētāju reklāmas apakšsistēma maziem tīkliem. Dnsmasq atbalsta Linux, * BSD, Mac OS X, kā arī Android.

Tajā ir DNS apakšsistēma, kas nodrošina lokālu DNS serveri tīklam, visu vaicājumu veidu pārsūtīšanu augšupējiem rekursīvajiem DNS serveriem un kopējo ierakstu tipu kešatmiņu. DHCP apakšsistēma atbalsta DHCPv4, DHCPv6, BOOTP, PXE un TFTP serveri. Maršrutētāja reklāmas apakšsistēma atbalsta pamata automātisko konfigurēšanu IPv6 saimniekiem.

Šajā rakstā mēs iepazīstināsim jūs ar instrukcijām, kā instalēt un iestatīt DNS/DHCP serveri, izmantojot dnsmasq CentOS/RHEL 8/7 izplatījumos.

Dnsmasq instalēšana CentOS un RHEL Linux

1. Pakotne dnsmasq ir pieejama noklusējuma krātuvēs, un to var viegli instalēt, izmantojot YUM pakotņu pārvaldnieku, kā parādīts.

# yum install dnsmasq

2. Kad dnsmasq pakotnes instalēšana ir pabeigta, jums pagaidām jāsāk pakalpojums dnsmasq un jāļauj tai automātiski startēt sistēmas sāknēšanas laikā. Turklāt pārbaudiet tā statusu, lai pārliecinātos, ka tas darbojas un darbojas, izmantojot šādas sistēmasctl komandas.

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

Dnsmasq servera konfigurēšana CentOS un RHEL Linux

3. Dnsmasq serveri var konfigurēt, izmantojot failu /etc/dnsmasq.conf (kas satur labi komentētas un izskaidrotas opcijas), un lietotāja definētos konfigurācijas failus var pievienot arī direktorijā /etc/dnsmasq.d.

DNS pēc noklusējuma ir iespējots, tāpēc pirms izmaiņu veikšanas noteikti izveidojiet faila /etc/dnsmasq.conf dublējumu.

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

4. Tagad atveriet failu /etc/dnsmasq.conf, izmantojot iecienīto teksta redaktoru, un veiciet šādus ieteicamos konfigurācijas iestatījumus.

# vi /etc/dnsmasq.conf 

Opcija listen-address tiek izmantota, lai iestatītu IP adresi, kurā dnsmasq klausīsies. Lai izmantotu savu CentOS/RHEL serveri, lai LAN klausītos DHCP un DNS pieprasījumus, iestatiet opcijai listen-address tā LAN IP adreses (atcerieties iekļaut 127.0.0.1), kā parādīts. Ņemiet vērā, ka servera IP jābūt statiskam.

listen-address=::1,127.0.0.1,192.168.56.10

Saistībā ar iepriekš minēto jūs varat ierobežot saskarnes dnsmasq klausīšanos, izmantojot saskarnes opciju (pievienojiet vairāk rindiņu vairāk nekā vienam interfeisam).

interface=eth0

5. Ja vēlaties, lai domēns (kuru varat iestatīt, kā parādīts nākamajā attēlā) automātiski tiktu pievienots vienkāršiem nosaukumiem hosts failā, noņemiet komentāru no opcijas expand-hosts .

expand-hosts

6. Lai iestatītu domēnu dnsmasq, tas nozīmē, ka DHCP klientiem būs pilnībā kvalificēti domēna vārdi, kamēr iestatītais domēns būs saskaņots, un visiem klientiem iestatīs opciju “domēns” DHCP.

domain=tecmint.lan

7. Pēc tam arī definējiet augšupējo DNS serveri vietējiem domēniem, izmantojot servera opciju (formā serveris = dns_server_ip), kā parādīts.

# Google's nameservers
server=8.8.8.8
server=8.8.4.4

8. Pēc tam jūs varat piespiest vietējo domēnu uz IP adresi (-ēm), izmantojot adreses opciju, kā parādīts.

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

9. Saglabājiet failu un pārbaudiet, vai konfigurācijas faila sintaksē nav kļūdu, kā parādīts.

# dnsmasq --test

10. Šajā solī jums jāveic visi vaicājumi, kas jānosūta uz dnsmasq, pievienojot localhost adreses kā vienīgos nosaukumu serverus failā /etc/resolv.conf.

# vi /etc/resolv.conf

11. Failu /etc/resolv.conf uztur vietējais dēmons, jo īpaši čata komanda, kā parādīts.

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

12. Dnsmasq nolasa visus DNS resursdatorus un nosaukumus no faila/etc/hosts, tāpēc pievienojiet DNS resursdatoru IP adreses un vārdu pārus, kā parādīts.

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

Svarīgi: vietējos DNS nosaukumus var definēt arī, importējot nosaukumus no DHCP apakšsistēmas vai konfigurējot plašu noderīgu ierakstu tipu klāstu.

13. Lai piemērotu iepriekš minētās izmaiņas, restartējiet pakalpojumu dnsmasq, kā parādīts.

# systemctl restart dnsmasq

14. Ja darbojas ugunsmūra pakalpojums, ugunsmūra konfigurācijā ir jāatver DNS un DHCP pakalpojumi, lai ļautu jūsu LAN resursdatoru pieprasījumiem pāriet uz dnsmasq serveri.

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

15. Lai pārbaudītu, vai vietējais DNS serveris vai pārsūtīšana darbojas labi, DNS vaicājumu veikšanai jāizmanto tādi rīki kā nslookup. Šos rīkus nodrošina bind-utils pakotne, kas, iespējams, nav iepriekš instalēta CentOS/RHEL 8, bet jūs varat to instalēt, kā parādīts.

# yum install bind-utils

16. Pēc instalēšanas vietējā domēnā varat izpildīt vienkāršu vaicājumu, kā parādīts.

# dig tecmint.lan
OR
# nslookup tecmint.lan

17. Varat arī mēģināt vaicāt kāda servera FQDN.

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

18. Lai pārbaudītu reverso IP meklēšanu, palaidiet līdzīgu komandu.

# dig -x 192.168.56.25
OR
# nslookup 192.168.56.25

Iespējot DHCP serveri, izmantojot dnsmasq

19. Jūs varat iespējot DHCP serveri, komentējot opciju dhcp-range un norādot nomai pieejamo adrešu diapazonu un, iespējams, nomas laiku (piemēram, atkārtojiet vairāk nekā vienam tīklam).

dhcp-range=192.168.0.50,192.168.0.150,12h

20. Šī opcija nosaka, kur DHCP serveris glabās savu nomas datu bāzi, un tas palīdzēs jums viegli pārbaudīt tam piešķirtās IP adreses.

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

21. Lai padarītu DHCP serveri autoritatīvā režīmā, noņemiet komentāru no opcijas.

dhcp-authoritative

22. Saglabājiet failu un restartējiet pakalpojumu dnsmasq, lai piemērotu pēdējās izmaiņas.

# systemctl restart dnsmasq

Tas mūs noved pie šīs rokasgrāmatas beigām. Lai sazinātos ar mums par jautājumiem vai domām, par kurām vēlaties dalīties par šo ceļvedi, izmantojiet tālāk sniegto atsauksmju veidlapu.