Jinsi ya Kusanidi Seva ya DNS/DHCP Kutumia dnsmasq kwenye CentOS/RHEL 8/7


Seva ya Itifaki ya Usanidi ya Seva Mwenye Nguvu (DHCP) huweka anwani za IP na vigezo vingine vya usanidi wa mtandao kwa kila kifaa kwenye mtandao. Kisambazaji cha DNS kwenye LAN hupeleka mbele hoja za DNS kwa majina ya vikoa visivyo vya karibu ili seva za DNS zinazotiririka (nje ya mtandao huo). Seva ya akiba ya DNS hujibu maombi ya kujirudia kutoka kwa wateja ili hoja ya DNS iweze kutatuliwa kwa haraka, hivyo basi kuboresha kasi ya utafutaji wa DNS kwa tovuti zilizotembelewa awali.

dnsmasq ni nyepesi, rahisi kusanidi kisambaza data cha DNS, programu ya seva ya DHCP na mfumo mdogo wa tangazo la kipanga njia kwa mitandao midogo. Dnsmasq inasaidia Linux, *BSD, Mac OS X na Android.

Inaangazia mfumo mdogo wa DNS ambao hutoa seva ya ndani ya DNS kwa mtandao, na usambazaji wa aina zote za hoja kwenye seva za DNS zinazojirudia na uhifadhi wa aina za rekodi za kawaida. Mfumo mdogo wa DHCP unaauni DHCPv4, DHCPv6, BOOTP, PXE, na seva ya TFTP. Na mfumo mdogo wa tangazo la kipanga njia unaauni usanidi otomatiki wa kimsingi kwa wapangishi wa IPv6.

Katika makala haya, tutakutembeza kupitia maagizo ya jinsi ya kusakinisha na kusanidi Seva ya DNS/DHCP Kwa kutumia dnsmasq kwenye usambazaji wa CentOS/RHEL 8/7.

Inasakinisha dnsmasq katika CentOS na RHEL Linux

1. Kifurushi cha dnsmasq kinapatikana katika hazina chaguomsingi na kinaweza kusakinishwa kwa urahisi kwa kutumia kidhibiti kifurushi cha YUM kama inavyoonyeshwa.

# yum install dnsmasq

2. Mara baada ya usakinishaji wa kifurushi cha dnsmasq kukamilika, unahitaji kuanza huduma ya dnsmasq kwa sasa na kuiwezesha kuanza kiotomatiki kwenye boot ya mfumo. Kando na hilo, angalia hali yake ili kuhakikisha kuwa iko na inafanya kazi kwa kutumia amri zifuatazo za systemctl.

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

Inasanidi Seva ya dnsmasq katika CentOS na RHEL Linux

3. Seva ya dnsmasq inaweza kusanidiwa kupitia faili ya /etc/dnsmasq.conf (iliyo na chaguo zilizoelezewa vyema na zilizoelezwa), na faili za usanidi zilizoainishwa na mtumiaji pia zinaweza kuongezwa kwenye saraka /etc/dnsmasq.d.

DNS imewezeshwa kwa chaguo-msingi, kwa hivyo kabla ya kufanya mabadiliko yoyote, hakikisha kuwa umeunda nakala ya faili /etc/dnsmasq.conf.

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

4. Sasa fungua faili /etc/dnsmasq.conf ukitumia kihariri chako cha maandishi unachopenda na ufanye mipangilio ifuatayo ya usanidi iliyopendekezwa.

# vi /etc/dnsmasq.conf 

Chaguo la sikiliza-anwani hutumika kuweka anwani ya IP, ambapo dnsmasq itasikiliza. Ili kutumia seva yako ya CentOS/RHEL kusikiliza maombi ya DHCP na DNS kwenye LAN, weka chaguo la kusikiliza-anwani kwa anwani zake za IP za LAN (kumbuka kujumuisha 127.0.0.1) kama inavyoonyeshwa. Kumbuka kuwa IP ya seva lazima iwe tuli.

listen-address=::1,127.0.0.1,192.168.56.10

Kuhusiana na hapo juu, unaweza kuzuia kiolesura cha dnsmasq kusikiliza kwa kutumia chaguo la kiolesura (ongeza mistari zaidi kwa kiolesura zaidi ya kimoja).

interface=eth0

5. Iwapo ungependa kuwa na kikoa (ambacho unaweza kuweka jinsi inavyofuata) kuongezwa kiotomatiki kwa majina rahisi katika faili ya wapangishi, toa maoni chaguo la panua-wapangishi.

expand-hosts

6. Kuweka kikoa kwa dnsmasq, kumaanisha kuwa wateja wa DHCP watakuwa na majina ya vikoa yaliyohitimu mradi tu kikoa kilichowekwa linganishwe, na kuweka chaguo la DHCP la kikoa kwa wateja wote.

domain=tecmint.lan

7. Kisha, pia fafanua seva ya DNS ya juu kwa vikoa visivyo vya karibu kwa kutumia chaguo la seva (katika mfumo wa seva=dns_server_ip) kama inavyoonyeshwa.

# Google's nameservers
server=8.8.8.8
server=8.8.4.4

8. Kisha unaweza kulazimisha kikoa chako cha karibu kwa anwani ya IP kwa kutumia chaguo la anwani kama inavyoonyeshwa.

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

9. Hifadhi faili na uangalie syntax ya faili ya usanidi kwa makosa kama inavyoonyeshwa.

# dnsmasq --test

10. Katika hatua hii, unahitaji kuuliza maswali yote kutumwa kwa dnsmasq kwa kuongeza anwani za mwenyeji kama seva za majina pekee katika faili /etc/resolv.conf.

# vi /etc/resolv.conf

11. Faili /etc/resolv.conf hudumishwa na daemon ya ndani hasa amri ya chattr kama inavyoonyeshwa.

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

12. Dnsmasq husoma seva pangishi zote za DNS na majina kutoka kwa faili ya /etc/hosts, kwa hivyo ongeza anwani za IP za mwenyeji wako wa DNS na jozi za majina kama inavyoonyeshwa.

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

Muhimu: Majina ya ndani ya DNS pia yanaweza kufafanuliwa kwa kuleta majina kutoka kwa mfumo mdogo wa DHCP, au kwa usanidi wa anuwai ya aina muhimu za rekodi.

13. Ili kutekeleza mabadiliko yaliyo hapo juu, anzisha upya huduma ya dnsmasq kama inavyoonyeshwa.

# systemctl restart dnsmasq

14. Ikiwa una huduma ya firewalld inayofanya kazi, unahitaji kufungua huduma za DNS na DHCP katika usanidi wa ngome, ili kuruhusu maombi kutoka kwa wapangishi kwenye LAN yako kupitishwa kwenye seva ya dnsmasq.

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

15. Ili kupima kama seva ya ndani ya DNS au usambazaji unafanya kazi vizuri, unahitaji kutumia zana kama vile nslookup kutekeleza hoja za DNS. Zana hizi hutolewa na kifurushi cha bind-utils ambacho huenda kisijasakinishwa mapema kwenye CentOS/RHEL 8, lakini unaweza kukisakinisha kama inavyoonyeshwa.

# yum install bind-utils

16. Mara baada ya kusakinisha, unaweza kuendesha hoja rahisi kwenye kikoa chako cha karibu kama inavyoonyeshwa.

# dig tecmint.lan
OR
# nslookup tecmint.lan

17. Unaweza pia kujaribu kuuliza FQDN ya mojawapo ya seva.

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

18. Kujaribu kuangalia upya IP, endesha amri sawa.

# dig -x 192.168.56.25
OR
# nslookup 192.168.56.25

Washa Seva ya DHCP Kwa Kutumia dnsmasq

19. Unaweza kuwezesha seva ya DHCP kwa kutoa maoni kwa chaguo la dhcp-range na utoe anuwai ya anwani zinazopatikana kwa kukodisha na kwa hiari muda wa kukodisha k.m (rudia kwa zaidi ya mtandao mmoja).

dhcp-range=192.168.0.50,192.168.0.150,12h

20. Chaguo lifuatalo linafafanua ambapo seva ya DHCP itaweka hifadhidata yake ya kukodisha, hii itakusaidia kuangalia kwa urahisi anwani za IP ambazo imetoa.

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

21. Kufanya seva ya DHCP kuwa hali ya mamlaka, futa chaguo.

dhcp-authoritative

22. Hifadhi faili na uanze upya huduma ya dnsmasq ili kutumia mabadiliko ya hivi majuzi.

# systemctl restart dnsmasq

Hiyo inatuleta hadi mwisho wa mwongozo huu. Ili kuwasiliana nasi kwa maswali au mawazo yoyote unayotaka kushiriki kuhusu mwongozo huu, tumia fomu ya maoni iliyo hapa chini.