ການຕັ້ງຄ່າຜູກມັດເປັນເຊີບເວີ DNS ສ່ວນຕົວໃນ RHEL 8


ລະບົບຊື່ໂດເມນ (DNS) ແມ່ນວິທີການທີ່ໃຊ້ໃນການແປຊື່ໂດເມນທີ່ອ່ານໄດ້ໂດຍມະນຸດ (ຫຼືຊື່ໂດເມນທີ່ມີຄຸນວຸດທິເຕັມທີ່ (FQDN)) ໄປຫາທີ່ຢູ່ IP ທີ່ສາມາດອ່ານໄດ້ໂດຍເຄື່ອງຈັກ, ເພື່ອຊອກຫາຄອມພິວເຕີ້ໃນເຄືອຂ່າຍເຊັ່ນອິນເຕີເນັດ.

ໃນລະບົບຄອມພິວເຕີ້ແລະລະບົບເຄືອຂ່າຍ, ມັນ ຈຳ ເປັນເພາະວ່າເຖິງແມ່ນວ່າ FQDN ແມ່ນງ່າຍ ສຳ ລັບມະນຸດທີ່ຈະຈື່ ຈຳ ແລະໃຊ້, ຄອມພິວເຕີ (ລູກຄ້າ) ເຂົ້າເຖິງຊັບພະຍາກອນຫຼືການບໍລິການໃນຄອມພິວເຕີ້ອື່ນ (ເຊີຟເວີ) ໂດຍອີງໃສ່ທີ່ຢູ່ IP.

ໃນເລື່ອງນີ້, ເຄື່ອງແມ່ຂ່າຍ DNS (ທີ່ເອີ້ນກັນວ່າຊື່ເຊີຟເວີຊື່) ຮັກສາໄດເລກະທໍລີຂອງ FQDNs ແລະແປໃຫ້ພວກເຂົາທີ່ຢູ່ IP; ມັນຍັງສາມາດສົ່ງຄືນທີ່ຢູ່ IP ເມື່ອ hostname/FQDN ຖືກສະ ໜອງ ໃຫ້. ມີຫລາຍປະເພດທີ່ແຕກຕ່າງກັນຂອງເຄື່ອງແມ່ຂ່າຍ DNS ລວມທັງ server server ຊື່ຜູ້ໃຊ້, caching server server ແລະຫລາຍໆຢ່າງ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະຍ່າງທ່ານຜ່ານບາດກ້າວຕ່າງໆເພື່ອຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າເຊີຟເວີ DNS ທີ່ເປັນເອກະຊົນ/ພາຍໃນ, ທີ່ມີສິດໃນ RHEL 8 ໂດຍໃຊ້ໂປແກຼມ BIND open source.

<

  • RHEL 8 ກັບການຕິດຕັ້ງຂັ້ນຕ່ ຳ
  • RHEL 8 ກັບການສະ ໝັກ ໃຊ້ RedHat ເປີດໃຊ້
  • RHEL 8 ທີ່ມີ IP Address Static
  • 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: ການຕິດຕັ້ງ Bind DNS ໃນ RHEL 8

    1. ເພື່ອຕິດຕັ້ງການຜູກມັດແລະເຄື່ອງໃຊ້ຕ່າງໆຂອງມັນໃນ server ຂອງທ່ານ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງ cdnf ຕໍ່ໄປນີ້.

    # dnf install bind bind-utils
    

    2. ຕໍ່ໄປ, ເລີ່ມຕົ້ນການບໍລິການ DNS ສຳ ລັບດຽວນີ້, ຫຼັງຈາກນັ້ນໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດເມື່ອ boot system ແລະກວດເບິ່ງວ່າມັນ ກຳ ລັງຂຶ້ນແລະເຮັດວຽກໂດຍໃຊ້ ຄຳ ສັ່ງ systemctl ຫຼືບໍ່.

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

    ຂັ້ນຕອນທີ 2: ການ ກຳ ນົດຄ່າ BIND DNS ໃນ RHEL 8

    3. ເພື່ອ ກຳ ຫນົດຄ່າ server Bind DNS, ທຳ ອິດທ່ານ ຈຳ ເປັນຕ້ອງ ສຳ ຮອງເອກະສານຕັ້ງຄ່າເບື້ອງຕົ້ນ /etc/named.conf ໂດຍໃຊ້ ຄຳ ສັ່ງ cp ຕໍ່ໄປນີ້.

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

    4. ດຽວນີ້ເປີດເອກະສານການຕັ້ງຄ່າ /etc/named.conf ສຳ ລັບການດັດແກ້ໂດຍໃຊ້ບັນນາທິການຂໍ້ຄວາມເສັ້ນທີ່ທ່ານມັກທີ່ສຸດດັ່ງຕໍ່ໄປນີ້.

    # 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 ແລະ ກຳ ນົດຄ່າຂອງມັນໃຫ້ກັບເຄືອຂ່າຍຂອງທ່ານ, ນັ້ນ ໝາຍ ຄວາມວ່າມີພຽງແຕ່ໂຮດໃນເຄືອຂ່າຍທ້ອງຖິ່ນຂອງທ່ານເທົ່ານັ້ນທີ່ສາມາດສອບຖາມ DNS server.

    allow-query  {localhost; 192.168.56.0/24}
    

    ຂັ້ນຕອນທີ 3: ການສ້າງເຂດ DNS ຕໍ່ ໜ້າ ແລະປີ້ນກັບກັນ

    Forward Zone ແມ່ນບ່ອນທີ່ຊື່ໂຮດ (ຫຼື FQDN) ທີ່ພົວພັນກັບທີ່ຢູ່ IP; ມັນຈະກັບຄືນທີ່ຢູ່ IP ໂດຍໃຊ້ຊື່ໂຮດ. ໃຫ້ສັງເກດວ່າການສອບຖາມແບບປົກກະຕິຂອງ DNS ແມ່ນການຊອກຫາການຊອກຫາຕໍ່ ໜ້າ. ໃນທາງກົງກັນຂ້າມ, ເຂດ Reverse ສົ່ງຄືນ FQDN ຂອງເຈົ້າພາບໂດຍອີງໃສ່ທີ່ຢູ່ IP ຂອງມັນ.

    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; }
    };
    

    ໃຫ້ອະທິບາຍສັ້ນໆກ່ຽວກັບທາງເລືອກໃນການຕັ້ງຄ່າເຂດຂ້າງເທິງ:

    • ປະເພດ: ກຳ ນົດພາລະບົດບາດຂອງ server ສຳ ລັບເຂດ. ມູນຄ່າ“ ຕົ້ນສະບັບ” ໝາຍ ຄວາມວ່າມັນແມ່ນເຄື່ອງແມ່ຂ່າຍທີ່ມີສິດ ອຳ ນາດເຊິ່ງບ່ອນທີ່ ສຳ ເນົາຂໍ້ມູນເຂດຖືກເກັບຮັກສາໄວ້
    • file: ລະບຸເອກະສານຖານຂໍ້ມູນຂອງເຂດ.
    • allow-update: ລະບຸເຈົ້າພາບທີ່ອະນຸຍາດໃຫ້ສົ່ງການອັບເດດແບບໄດນາມິກ ສຳ ລັບເຂດແມ່ບົດ. ບໍ່ມີໃນກໍລະນີນີ້.

    ຂັ້ນຕອນທີ 4: ການສ້າງ Forward File ເຂດ DNS

    7. ທຳ ອິດ, ສ້າງເອກະສານ Forward Zone ພາຍໃຕ້ຊື່/var/names.

    # 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
    

    ໃຫ້ອະທິບາຍສັ້ນໆກ່ຽວກັບ ຄຳ ນິຍາມຂອງເຂດຂ້າງເທິງແລະຕົວ ກຳ ນົດການ.

    • TTL: ລະບຸເວລາທີ່ຈະ ດຳ ລົງຊີວິດຂອງ RR ແລະ ຄຳ ສັ່ງໃຫ້ TTL ໃນຕອນຕົ້ນ ສຳ ລັບທຸກໆ RR ໂດຍບໍ່ມີຊຸດ TTL ສະເພາະ.
    • @: ມັນແມ່ນນາມແຝງ ສຳ ລັບຊື່ໂດເມນ (ເຊັ່ນ: tecmint.lan) ທີ່ຖືກ ກຳ ນົດໄວ້ໃນແຟ້ມການຕັ້ງຄ່າຕົ້ນຕໍ.
    • IN: ໝາຍ ເຖິງອິນເຕີເນັດ.
    • SOA: ລະບຸການເລີ່ມຕົ້ນຂອງ ອຳ ນາດການປົກຄອງ: ຜູ້ທີ່ server ຊື່ຊື່ຜູ້ ອຳ ນວຍການແມ່ນ (dns-primary.tecmint.lan), ຂໍ້ມູນຕິດຕໍ່ຂອງຜູ້ເບິ່ງແຍງລະບົບ (admin.tecmint.lan, ເຄື່ອງ ໝາຍ @ ຖືກແທນດ້ວຍໄລຍະ ໜຶ່ງ) ແລະອື່ນໆທີ່ກ່ຽວຂ້ອງ ຂໍ້ມູນ.
    • NS: ໝາຍ ຄວາມວ່າ server server.
    • Serial: ຄ່ານີ້ຖືກໃຊ້ໂດຍ DNS server ເພື່ອກວດສອບວ່າເນື້ອໃນຂອງເອກະສານເຂດສະເພາະໃດ ໜຶ່ງ ລ້າສຸດ.
    • Refresh: ລະບຸວ່າເຄື່ອງແມ່ຂ່າຍ DNS ຂອງຂ້ອຍຄວນຈະເຮັດການໂອນຍ້າຍຈາກຕົ້ນສະບັບຫຼາຍປານໃດ.
    • ລອງ ໃໝ່: ລະບຸວ່າຂ້ອຍໃຊ້ຄວນທົດລອງການໂອນເຂດທີ່ລົ້ມເຫລວໄປເລື້ອຍປານໃດ.
    • ໝົດ ອາຍຸ: ກຳ ນົດໄລຍະເວລາຂອງເຄື່ອງແມ່ຂ່າຍ ສຳ ລອງຄວນລໍຖ້າກ່ອນທີ່ຈະຕອບ ຄຳ ຖາມຂອງລູກຄ້າເມື່ອແມ່ບົດບໍ່ສາມາດເຂົ້າເຖິງໄດ້.
    • ຂັ້ນຕ່ ຳ ສຸດ: ຕັ້ງຄ່າ TTL ຂັ້ນຕ່ ຳ ສຸດ ສຳ ລັບເຂດ.
    • A: ທີ່ຢູ່ຂອງເຈົ້າພາບ.

    ຂັ້ນຕອນທີ 5: ການສ້າງເອກະສານ DNS ເຂດລ້າຫຼັງ

    8. Similary, ສ້າງເອກະສານເຂດ Reverse ພາຍໃຕ້ໄດເລກະທໍລີ/var/ທີ່ມີຊື່.

    # 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 ແລະໄຟລ໌ເຂດມີໄວຍາກອນທີ່ຖືກຕ້ອງຫຼັງຈາກເຮັດການປ່ຽນແປງຂ້າງເທິງ, ໂດຍໃຊ້ປະໂຫຍດທີ່ມີຊື່ວ່າ checkconf (ບໍ່ໄດ້ ໝາຍ ຄວາມວ່າບໍ່ມີຂໍ້ຜິດພາດ):

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

    11. ເມື່ອທ່ານໄດ້ປະຕິບັດການຕັ້ງຄ່າທີ່ ຈຳ ເປັນທັງ ໝົດ, ທ່ານ ຈຳ ເປັນຕ້ອງເລີ່ມການບໍລິການ DNS ໃໝ່ ເພື່ອການປ່ຽນແປງ ໃໝ່ ຈະມີຜົນບັງຄັບໃຊ້.

    # systemctl restart named
    

    12. ຕໍ່ໄປ, ກ່ອນທີ່ລູກຄ້າຄົນໃດສາມາດເຂົ້າເຖິງການຕັ້ງຄ່າການບໍລິການ DNS ໃນເຊີຟເວີ, ທ່ານ ຈຳ ເປັນຕ້ອງເພີ່ມການບໍລິການ DNS ໃນການຕັ້ງຄ່າລະບົບໄຟວໍລະບົບແລະໂຫລດການຕັ້ງຄ່າ firewall ໂດຍໃຊ້ firewall-cmd utility, ດັ່ງຕໍ່ໄປນີ້:

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

    ຂັ້ນຕອນທີ 6: ການທົດສອບບໍລິການ DNS ຈາກລູກຄ້າ

    13. ໃນພາກນີ້, ພວກເຮົາຈະສະແດງວິທີການທົດສອບການບໍລິການ DNS ຈາກຝ່າຍລູກຄ້າ. ເຂົ້າສູ່ລະບົບເຄື່ອງລູກຄ້າ, ຕັ້ງຄ່າມັນເພື່ອໃຊ້ server DNS ຂ້າງເທິງ. ໃນລະບົບ Linux, ເປີດແຟ້ມເອກະສານ /etc/resolve.conf ໂດຍໃຊ້ຕົວແກ້ໄຂຂໍ້ຄວາມທີ່ທ່ານມັກ.

    # vi /etc/resolve.conf 
    

    ຕື່ມໃສ່ລາຍການຕໍ່ໄປນີ້ໃສ່ມັນ, ເຊິ່ງບອກໃຫ້ຜູ້ແກ້ໄຂໃຫ້ໃຊ້ nameserver ທີ່ລະບຸ.

    nameserver  192.168.56.100
    

    ບັນທຶກເອກະສານແລະປິດມັນ. ໃຫ້ສັງເກດວ່າທ່ານຍັງຕ້ອງລະບຸເຄື່ອງແມ່ຂ່າຍ DNS ໃນເອກະສານການຕັ້ງຄ່າການໂຕ້ຕອບຂອງເຄືອຂ່າຍ.

    14. ຕື່ມເຄື່ອງແມ່ຂ່າຍ DNS IP 192.168.56.100 ເປັນເຄື່ອງແກ້ໄຂໃຫ້ກັບແຟ້ມເອກະສານການຕັ້ງຄ່າການໂຕ້ຕອບຂອງເຄືອຂ່າຍຂອງລູກຄ້າ/etc/sysconfig/ເຄືອຂ່າຍສະຄິບ/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. ຫຼັງຈາກນັ້ນ, ໃຊ້ nslookup utility ເພື່ອສອບຖາມ IP ໂດຍໃຊ້ hostname ແລະ vise versa, ຂອງ www, mail ແລະ docs server ໃນເຄືອຂ່າຍຂອງທ່ານດັ່ງທີ່ສະແດງ.

    # 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
    

    ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການຕິດຕັ້ງແລະ ກຳ ຫນົດເຄື່ອງແມ່ຂ່າຍ DNS ທີ່ມີສິດ ອຳ ນາດໃນເອກະຊົນ RHEL 8 ໂດຍໃຊ້ໂປແກຼມ BIND. ພວກເຮົາຫວັງວ່າທຸກຢ່າງຈະເຮັດວຽກໄດ້ດີ ສຳ ລັບທ່ານ, ຖ້າບໍ່ດັ່ງນັ້ນ, ສົ່ງ ຄຳ ຖາມຫຼື ຄຳ ເຫັນອື່ນໆມາໃຫ້ພວກເຮົາຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມ