RHEL 8 లో ప్రైవేట్ DNS సర్వర్uగా బైండ్uను ఏర్పాటు చేస్తోంది


డొమైన్ నేమ్ సిస్టం (DNS) అనేది మానవ-చదవగలిగే డొమైన్ పేర్లను (లేదా పూర్తిగా క్వాలిఫైడ్ డొమైన్ పేర్లు (FQDN)) మెషిన్-రీడబుల్ IP చిరునామాలకు అనువదించడానికి, ఇంటర్నెట్ వంటి నెట్uవర్క్uలో కంప్యూటర్uను గుర్తించడానికి ఉపయోగించే పద్ధతి.

కంప్యూటర్ మరియు నెట్uవర్క్ సిస్టమ్uలలో, ఇది అవసరం ఎందుకంటే, మానవులకు FQDN లు గుర్తుంచుకోవడం మరియు ఉపయోగించడం సులభం అయినప్పటికీ, కంప్యూటర్లు (క్లయింట్లు) IP చిరునామాల ఆధారంగా ఇతర కంప్యూటర్లలో (సర్వర్లు) వనరులు లేదా సేవలను యాక్సెస్ చేస్తాయి.

ఈ విషయంలో, ఒక DNS సర్వర్ (నేమ్ సర్వర్ అని కూడా పిలుస్తారు) FQDN ల డైరెక్టరీని నిర్వహిస్తుంది మరియు వాటిని IP చిరునామాలకు అనువదిస్తుంది; హోస్ట్ పేరు/FQDN అందించినప్పుడు ఇది IP చిరునామాను కూడా తిరిగి ఇవ్వగలదు. అధీకృత నేమ్ సర్వర్, కాషింగ్ నేమ్ సర్వర్ మరియు మరెన్నో సహా వివిధ రకాల DNS సర్వర్లు ఉన్నాయి.

ఈ వ్యాసంలో, BIND ఓపెన్ సోర్స్ సాఫ్ట్uవేర్uను ఉపయోగించి RHEL 8 లో ప్రైవేట్/అంతర్గత, అధీకృత DNS సర్వర్uను ఇన్uస్టాల్ చేసి, కాన్ఫిగర్ చేసే దశల ద్వారా మేము మిమ్మల్ని నడిపిస్తాము.

  1. కనిష్ట సంస్థాపనతో RHEL 8
  2. రెడ్uహాట్ సభ్యత్వంతో RHEL 8 ప్రారంభించబడింది
  3. స్థిరమైన IP చిరునామాతో RHEL 8

Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan

దశ 1: RHEL 8 లో బైండ్ DNS ని వ్యవస్థాపించడం

1. మీ సర్వర్uలో బైండ్ మరియు దాని యుటిలిటీలను ఇన్uస్టాల్ చేయడానికి, కింది సిడిఎన్ఎఫ్ ఆదేశాన్ని అమలు చేయండి.

# dnf install bind bind-utils

2. తరువాత, ప్రస్తుతానికి DNS సేవను ప్రారంభించండి, ఆపై సిస్టమ్ బూట్ వద్ద ఆటో-స్టార్ట్ చేయడానికి దాన్ని ప్రారంభించండి మరియు systemctl ఆదేశాలను ఉపయోగించి అది నడుస్తుందో లేదో తనిఖీ చేయండి.

# systemctl start named
# systemctl enable named
# systemctl status named

దశ 2: RHEL 8 లో BIND DNS ను కాన్ఫిగర్ చేస్తోంది

3. బైండ్ DNS సర్వర్uను కాన్ఫిగర్ చేయడానికి, మొదట మీరు ఈ క్రింది cp ఆదేశాన్ని ఉపయోగించి అసలు కాన్ఫిగరేషన్ ఫైల్ /etc/named.conf యొక్క బ్యాకప్ తీసుకోవాలి.

# cp /etc/named.conf /etc/named.conf.orig

4. ఇప్పుడు మీకు ఇష్టమైన కమాండ్ లైన్ టెక్స్ట్ ఎడిటర్uను ఉపయోగించి ఈ క్రింది విధంగా సవరించడానికి /etc/named.conf కాన్ఫిగరేషన్ ఫైల్uను తెరవండి.

# vi /etc/named.conf 

ఎంపికలు కాన్ఫిగరేషన్ విభాగం క్రింద, ఈ క్రింది పంక్తులను వ్యాఖ్యానించండి.

options {
        #listen-on port 53 { 127.0.0.1; };
        #listen-on-v6 port 53 { ::1; };
        directory       "/var/named";

5. తరువాత, allow-query పారామితి కోసం చూడండి మరియు దాని విలువను మీ నెట్uవర్క్uకు సెట్ చేయండి, అంటే మీ స్థానిక నెట్uవర్క్uలోని హోస్ట్uలు మాత్రమే DNS సర్వర్uను ప్రశ్నించగలవు.

allow-query  {localhost; 192.168.56.0/24}

దశ 3: ఫార్వర్డ్ మరియు రివర్స్ DNS జోన్లను సృష్టించడం

ఫార్వర్డ్ జోన్ అంటే IP చిరునామా సంబంధాలకు హోస్ట్ పేరు (లేదా FQDN) నిల్వ చేయబడుతుంది; ఇది హోస్ట్ పేరును ఉపయోగించి IP చిరునామాను అందిస్తుంది. సాధారణ DNS ప్రశ్నలు ఫార్వర్డ్ లుక్అప్ ప్రశ్నలు అని గమనించండి. మరోవైపు, రివర్స్ జోన్ దాని IP చిరునామా ఆధారంగా హోస్ట్ యొక్క FQDN ని తిరిగి ఇస్తుంది.

6. ఫార్వర్డ్ మరియు రివర్స్ జోన్లను నిర్వచించడానికి, /etc/named.conf ఫైల్ చివరిలో ఈ క్రింది పంక్తులను జోడించండి.

//forward zone 
zone "tecmint.lan" IN { 
     type master; 
     file "tecmint.lan.db"; 
     allow-update { none; }; 
    allow-query {any; }
}; 
//backward zone 
zone "56.168.192.in-addr.arpa" IN { 
     type master; 
     file "tecmint.lan.rev"; 
     allow-update { none; }; 
    allow-query { any; }
};

పై జోన్ కాన్ఫిగరేషన్లలోని ఎంపికలను క్లుప్తంగా వివరిద్దాం:

  • రకం: జోన్ కోసం ఈ సర్వర్ పాత్రను నిర్వచిస్తుంది. “మాస్టర్” విలువ అంటే ఇది జోన్ డేటా యొక్క మాస్టర్ కాపీని నిర్వహించే అధికారిక సర్వర్.
  • ఫైల్: జోన్ యొక్క డేటాబేస్ ఫైల్ను నిర్దేశిస్తుంది.
  • allow-update: మాస్టర్ జోన్uల కోసం డైనమిక్ DNS నవీకరణలను సమర్పించడానికి అనుమతించిన హోస్ట్uలను పేర్కొంటుంది. ఈ సందర్భంలో ఏదీ లేదు.

దశ 4: ఫార్వర్డ్ DNS జోన్ ఫైల్uను సృష్టిస్తోంది

7. మొదట,/var/పేరున్న డైరెక్టరీ క్రింద ఫార్వర్డ్ జోన్ ఫైల్ను సృష్టించండి.

# vi /var/named/tecmint.lan.db

కింది ఆకృతీకరణను అందులో చేర్చండి.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;IP for Name Server
dns-primary IN A 192.168.56.100

;A Record for IP address to Hostname 
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs  IN A 192.168.56.20

పై జోన్ నిర్వచనం మరియు పారామితులను క్లుప్తంగా వివరిద్దాం.

  • టిటిఎల్: ఆర్ఆర్ యొక్క లైవ్-టు-లైవ్uను నిర్దేశిస్తుంది మరియు R టిటిఎల్ డైరెక్టివ్ ఒక నిర్దిష్ట టిటిఎల్ సెట్ లేకుండా ప్రతి ఆర్uఆర్uకు డిఫాల్ట్ టిటిఎల్uను ఇస్తుంది.
  • @: ఇది ప్రధాన కాన్ఫిగరేషన్ ఫైల్uలో నిర్వచించిన డొమైన్ పేరు (ఉదా. Tecmint.lan) కు మారుపేరు.
  • IN: అంటే ఇంటర్నెట్.
  • SOA: అధికారం యొక్క ప్రారంభాన్ని నిర్దేశిస్తుంది: అధికారిక పేరు సర్వర్ ఎవరు (dns-Primary.tecmint.lan), నిర్వాహకుడి సంప్రదింపు సమాచారం (admin.tecmint.lan, @ గుర్తు ఒక కాలంతో భర్తీ చేయబడుతుంది) మరియు ఇతర సంబంధిత సమాచారం.
  • NS: అంటే నేమ్ సర్వర్.
  • సీరియల్: ఒక నిర్దిష్ట జోన్ ఫైల్ యొక్క విషయాలు తాజాగా ఉన్నాయని ధృవీకరించడానికి ఈ విలువను DNS సర్వర్ ఉపయోగిస్తుంది.
  • రిఫ్రెష్: బానిస DNS సర్వర్ మాస్టర్ నుండి జోన్ బదిలీని ఎంత తరచుగా చేయాలో పేర్కొంటుంది.
  • మళ్లీ ప్రయత్నించండి: విఫలమైన జోన్ బదిలీని బానిస ఎంత తరచుగా తిరిగి ప్రయత్నించాలో తెలుపుతుంది. గడువు: మాస్టర్ చేరుకోలేనప్పుడు క్లయింట్ ప్రశ్నకు సమాధానం ఇచ్చే ముందు బానిస సర్వర్ ఎంతసేపు వేచి ఉండాలో నిర్ణయిస్తుంది.
  • కనిష్ట: జోన్uకు కనీస టిటిఎల్uను సెట్ చేస్తుంది.
  • జ: హోస్ట్ చిరునామా.

దశ 5: రివర్స్ DNS జోన్ ఫైల్uను సృష్టిస్తోంది

8. సమానంగా,/var/పేరున్న డైరెక్టరీ క్రింద రివర్స్ జోన్ ఫైల్uను సృష్టించండి.

# vi /var/named/tecmint.lan.rev

అప్పుడు కింది పంక్తులను అందులో చేర్చండి. ఇక్కడ, PTR ఒక హోస్ట్ పేరుకు IP చిరునామాను మ్యాప్ చేయడానికి ఉపయోగించే రికార్డుకు వ్యతిరేకం.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.

;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.

9. జోన్ ఫైళ్ళపై సరైన యాజమాన్య అనుమతులను ఈ క్రింది విధంగా సెట్ చేయండి.

# chown :named /var/named/tecmint.lan.db
# chown :named /var/named/tecmint.lan.rev

10. చివరగా, DNS కాన్ఫిగరేషన్uను తనిఖీ చేయండి మరియు పైన పేర్కొన్న మార్పులు చేసిన తర్వాత జోన్ ఫైళ్ళకు సరైన వాక్యనిర్మాణం ఉంది, పేరు పెట్టబడిన-చెక్uకాన్ఫ్ యుటిలిటీని ఉపయోగించి (నో అవుట్ అంటే లోపం లేదు):

# named-checkconf
# named-checkzone tecmint.lan /var/named/tecmint.lan.db
# named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev

11. మీరు అవసరమైన అన్ని కాన్ఫిగరేషన్uను చేసిన తర్వాత, ఇటీవలి మార్పులు అమలులోకి రావడానికి మీరు DNS సేవను పున art ప్రారంభించాలి.

# systemctl restart named

12. తరువాత, ఏదైనా క్లయింట్లు సర్వర్uలోని DNS సేవా కాన్ఫిగరేషన్uలను యాక్సెస్ చేయడానికి ముందు, మీరు సిస్టమ్ ఫైర్uవాల్ కాన్ఫిగరేషన్uలో DNS సేవను జతచేయాలి మరియు ఫైర్uవాల్-సెం.మీ. యుటిలిటీని ఉపయోగించి ఫైర్uవాల్ సెట్టింగులను ఈ క్రింది విధంగా రీలోడ్ చేయాలి:

# firewall-cmd --permanent --zone=public --add-service=dns 
# firewall-cmd --reload

దశ 6: క్లయింట్ నుండి DNS సేవను పరీక్షించడం

13. ఈ విభాగంలో, క్లయింట్ వైపు నుండి DNS సేవను ఎలా పరీక్షించాలో చూపిస్తాము. క్లయింట్ మెషీన్లోకి లాగిన్ అవ్వండి, పై DNS సర్వర్uని ఉపయోగించడానికి దాన్ని కాన్ఫిగర్ చేయండి. లైనక్స్ సిస్టమ్uలో, మీకు ఇష్టమైన టెక్స్ట్ ఎడిటర్ ఉపయోగించి /etc/resolve.conf ఫైల్uను తెరవండి.

# vi /etc/resolve.conf 

కింది ఎంట్రీని అందులో చేర్చండి, ఇది పేర్కొన్న నేమ్uసర్వర్uను ఉపయోగించమని పరిష్కరిణికి చెబుతుంది.

nameserver  192.168.56.100

ఫైల్ను సేవ్ చేసి దాన్ని మూసివేయండి. మీరు నెట్uవర్క్ ఇంటర్ఫేస్ కాన్ఫిగరేషన్ ఫైల్uలో DNS సర్వర్uను కూడా పేర్కొనవలసి ఉందని గమనించండి.

14. కింది చిత్రంలో చూపిన విధంగా DNS సర్వర్లు IP 192.168.56.100 ను క్లయింట్ మెషిన్ నెట్uవర్క్ ఇంటర్ఫేస్ కాన్ఫిగరేషన్ ఫైల్/etc/sysconfig/network-scripts/ifcfg-enp0s3 కు పరిష్కారంగా జోడించండి.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100

15. అప్పుడు చూపిన విధంగా మీ నెట్uవర్క్uలోని www, మెయిల్ మరియు డాక్స్ సర్వర్uల యొక్క హోస్ట్ పేరు మరియు వైస్ వెర్సాను ఉపయోగించి IP ని ప్రశ్నించడానికి nslookup యుటిలిటీని ఉపయోగించండి.

# nslookup 192.168.56.5
# nslookup www.tecmint.lan
# nslookup 192.168.56.10
# nslookup mail.tecmint.lan
# nslookup 192.168.56.20
# nslookup docs.tecmint.lan
# nslookup 192.168.56.100
# nslookup dns-primary.tecmint.lan

ఈ వ్యాసంలో, BIND సాఫ్ట్uవేర్uను ఉపయోగించి RHEL 8 లో ప్రైవేట్, అధీకృత DNS సర్వర్uను ఎలా ఇన్uస్టాల్ చేయాలో మరియు కాన్ఫిగర్ చేయాలో మేము చూపించాము. ప్రతిదీ మీ కోసం బాగా పనిచేస్తుందని మేము ఆశిస్తున్నాము, లేకపోతే, మీ ప్రశ్నలను లేదా ఇతర వ్యాఖ్యలను దిగువ ఫీడ్uబ్యాక్ ఫారమ్ ద్వారా మాకు పంపండి.