ການຕັ້ງຄ່າ Cache DNS Server ໃນ Ubuntu Server 14.04


ການບໍລິການຊື່ໂດເມນ ( DNS ) ແມ່ນບໍລິການທີ່ມີຊື່ວ່າແຜນທີ່ IP ແລະຊື່ໂດເມນທີ່ມີຄຸນວຸດທິຄົບຖ້ວນຕໍ່ກັນແລະກັນ. ຄອມພິວເຕີ້ທີ່ໃຊ້ DNS ເອີ້ນວ່າ server server.

ນີ້ຂ້າພະເຈົ້າໄດ້ຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າເຊີບເວີ cache ໂດຍໃຊ້ forwarder, ເບິ່ງ ໜ້າ ແລະສະຫງວນເບິ່ງ. ໃນສະຖານທີ່ສ່ວນໃຫຍ່, ພວກເຮົາຕ້ອງການການຊອກຫາທີ່ສະຫງວນໄວ້. ເຄື່ອງແມ່ຂ່າຍຂອງຖານຄວາມຈໍາຈະບໍ່ຖືຊື່ໂດເມນໃດໆ, ມັນຈະເຮັດວຽກພຽງແຕ່ເປັນເຄື່ອງແມ່ຂ່າຍຊີ້. ກ່ອນທີ່ຈະເຂົ້າໄປໃນຄວາມເລິກພວກເຮົາຕ້ອງຮູ້ກ່ຽວກັບເຄື່ອງແມ່ຂ່າຍ DNS ແລະວິທີການເຮັດວຽກ.

ນີ້ແມ່ນວິທີທີ່ງ່າຍທີ່ຈະເຂົ້າໃຈ DNS ແລະວິທີການເຮັດວຽກ.

ຖ້າພວກເຮົາຕ້ອງການເຂົ້າເຖິງ linux-console.net ໃນເບົາເຊີ, ລະບົບຈະຊອກຫາ linux-console.net . ນີ້ຢູ່ໃນຕອນທ້າຍຂອງ .com ຈະມີ (. ) ດັ່ງນັ້ນມັນແມ່ນຫຍັງ?.

The (.) ເປັນຕົວແທນຂອງ server namespace Root, ມີທັງ ໝົດ 13 ເຊີບເວີທີ່ມີຢູ່ທົ່ວໂລກ. ໃນຂະນະທີ່ພວກເຮົາເຂົ້າເຖິງ linux-console.net ມັນຈະຮຽກຮ້ອງໃຫ້ຕັ້ງຊື່ເຊີຟເວີຕາມການຕັ້ງຄ່າຂອງລະບົບປະຕິບັດການ. ໃນ Ubuntu, ພວກເຮົາເຄີຍຕັ້ງຄ່າ server-server ໃນ /etc/resolv.conf , ໃນຂະນະທີ່ເຂົ້າເຖິງ linux-console.net browser ຂອງຂ້ອຍຈະຮ້ອງຂໍໃຫ້ຕັ້ງຊື່ server-server, ຖ້າຊື່ root-server ບໍ່ໄດ້ ມີຂໍ້ມູນທີ່ຕ້ອງການຂອງໂດເມນຂອງຂ້ອຍມັນຈະເກັບຂໍ້ມູນທີ່ຂ້ອຍຮ້ອງຂໍແລະສົ່ງຕໍ່ ຄຳ ຮ້ອງຂໍຂອງຂ້ອຍໃຫ້ ( TLD ) ໂດເມນລະດັບສູງສຸດ ຊື່ເຄື່ອງແມ່ຂ່າຍ, ແມ່ນແຕ່ໃນ TLD ຊື່ - ເຊີຟເວີຂອງຂ້ອຍ ຄຳ ຮ້ອງຂໍບໍ່ແມ່ນ ສາມາດໃຊ້ໄດ້ມັນຈະຖືກເກັບເຂົ້າແລະຖືກສົ່ງຕໍ່ໃຫ້ ສິດ ອຳ ນາດ ຊື່ເຄື່ອງແມ່ຂ່າຍ.

ໃນຂະນະທີ່ການລົງທະບຽນໂດເມນ, ຜູ້ລົງທະບຽນໂດເມນຂອງພວກເຮົາຈະ ກຳ ນົດວ່າເຄື່ອງແມ່ຂ່າຍຊື່ທີ່ມີສິດ ອຳ ນາດຄວນໃຊ້ໂດເມນຂອງພວກເຮົາ. ດັ່ງນັ້ນ, ເຄື່ອງແມ່ຂ່າຍຊື່ທີ່ມີສິດ ອຳ ນາດມີຂໍ້ມູນໂດເມນຂອງພວກເຮົາ, ໃນຂະນະທີ່ ຄຳ ຮ້ອງຂໍຂອງພວກເຮົາໄປເຖິງ ANS ມັນຈະຕອບ ສຳ ລັບການສອບຖາມທີ່ linux-console.net ມີ 111.111.222.1 ໃນເວລາດຽວກັນມັນຈະເປັນ ເຊັດໃນ server-authoritative name-server ແລະສົ່ງ ຄຳ ຮ້ອງຂໍກັບໄປທີ່ browser. ທຸກໆຂັ້ນຕອນຂ້າງເທິງແມ່ນເຮັດພາຍໃນວິນາທີ.

ຫວັງວ່າທ່ານຈະໄດ້ຮັບສິ່ງທີ່ DNS ດຽວນີ້, ແລະມັນເຮັດວຽກໄດ້ແນວໃດ. ຕອນນີ້ໃຫ້ພວກເຮົາຕັ້ງຄ່າ ການຕັ້ງຄ່າ Cache DNS Server ໃນ Ubuntu Server 14.04 LTS.

ຂັ້ນຕອນທີ 1: ການຕິດຕັ້ງ DNS Server

ຫນ້າທໍາອິດ, ເບິ່ງທີ່ຂໍ້ມູນຂອງເຄື່ອງແມ່ຂ່າຍ DNS ໃນທ້ອງຖິ່ນຂອງຂ້ອຍເຊັ່ນ: IP address static ແລະ hostname, ເຊິ່ງໃຊ້ເພື່ອຈຸດປະສົງຂອງບົດຄວາມນີ້.

IP Address:	192.168.0.100
Hostname:	dns.tecmintlocal.com

ເພື່ອກວດສອບວ່າການຕັ້ງຄ່າຂ້າງເທິງນີ້ຖືກຕ້ອງ, ພວກເຮົາສາມາດໃຊ້ ຄຳ ສັ່ງ ‘ hostnamectl ‘ ແລະ ‘ifconfig’.

$ hostnamectl
$ ifconfig eth0 | grep inet

ຕໍ່ໄປ, ພວກເຮົາປັບປຸງຫໍສະມຸດໃນຕອນຕົ້ນແລະເຮັດການປັບປຸງລະບົບ, ກ່ອນທີ່ຈະຕັ້ງຄ່າ server cache ຂອງ DNS.

$ sudo apt-get update && sudo apt-get upgrade -y

ຕອນນີ້, ຕິດຕັ້ງຊຸດ DNS Packages ຜູກ ແລະ dnsutils ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo apt-get install bind9 dnsutils -y

ເມື່ອໃດທີ່ຕິດຕັ້ງແລ້ວ, ຍ້າຍໄປທີ່ໄດເລກະທໍລີການຕັ້ງຄ່າທີ່ຢູ່ພາຍໃຕ້ /etc/bind .

$ /etc/bind/
$ ls -l

ຂັ້ນຕອນທີ 2: ຕັ້ງຄ່າ DNS Cache Server

ກ່ອນອື່ນ ໝົດ, ພວກເຮົາຈັດຕັ້ງແລະ ກຳ ຫນົດຄ່າເຊີບເວີເຊີບເວີຢູ່ບ່ອນນີ້. ເປີດແລະແກ້ໄຂເອກະສານ ທີ່ມີຊື່ວ່າ .conf.options ໂດຍໃຊ້ vim ບັນນາທິການ.

$ sudo vim named.conf.options

ຕອນນີ້, ຄຳ ວ່າ ' ສົ່ງຕໍ່ ' ຖືກ ນຳ ໃຊ້ເພື່ອ ກຳ ນົດການຮ້ອງຂໍຊື່ໂດເມນ. ດັ່ງນັ້ນ, ໃນທີ່ນີ້ພວກເຮົາຈະໃຊ້ router ຂອງຂ້ອຍເປັນຜູ້ສົ່ງຕໍ່. ຄວາມບໍ່ພໍໃຈຂອງ/ຢູ່ທາງ ໜ້າ ຂອງເສັ້ນດັ່ງທີ່ສະແດງໃນຮູບ.

forwarders {
        192.168.0.1;
        };

ບັນທຶກແລະອອກຈາກແຟ້ມໂດຍໃຊ້ wq! . ຕອນນີ້ເຖິງເວລາທີ່ຈະເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍຜູກມັດ ສຳ ລັບການທົດສອບນ້ອຍໆ.

$ sudo /etc/init.d/bind9 start

ຖ້າພວກເຮົາຕ້ອງການທົດສອບວ່າການຕັ້ງແຄດເຮັດວຽກ, ພວກເຮົາສາມາດໃຊ້ ຂຸດ ຄຳ ສັ່ງ ແລະກວດເບິ່ງວ່າແຄດເຮັດວຽກໄດ້ຫຼືບໍ່.

ຕົວຢ່າງຈຸດປະສົງ, ພວກເຮົາຈະຂຸດຄົ້ນ ubuntu.com ດຽວນີ້, ໃນຕອນ ທຳ ອິດ, ມັນຈະບໍ່ເປັນ cache, ສະນັ້ນມັນອາດຈະໃຊ້ເວລາບາງວິນາທີ, ເມື່ອມັນເກັບມັນຈະຢູ່ໃນຄວາມໄວຟ້າຜ່າ.

$ dig @127.0.0.1 ubuntu.com

ຄໍາສັ່ງຂຸດແມ່ນເຄື່ອງມືສໍາລັບການຊອກຫາ DNS. ເພື່ອຢາກຮູ້ເພີ່ມເຕີມກ່ຽວກັບ ຄຳ ສັ່ງ Dig ອ່ານຫົວຂໍ້ຂ້າງລຸ່ມນີ້.

<

  • 10 ຕົວຢ່າງ ຄຳ ສັ່ງທີ່ມີປະໂຫຍດໃນການຂຸດຄົ້ນ
  • ນີ້, ພວກເຮົາສາມາດເບິ່ງໃນຮູບຂ້າງເທິງນີ້ໃນຕອນ ທຳ ອິດທີ່ມັນໄດ້ຂຸດ ປີ 1965 ວິນາທີ ສຳ ລັບການສອບຖາມຂອງຂ້ອຍແລະສະແດງ ipaddress ໃດທີ່ຖືກຜູກໄວ້ໃນ ubuntu.com .

    ຂໍໃຫ້ພວກເຮົາພະຍາຍາມຂຸດຄົ້ນຕື່ມອີກແລະເບິ່ງເວລາສອບຖາມ.

    ເຢັນ!, ໃນການທົດລອງຄັ້ງທີສອງພວກເຮົາໄດ້ຮັບ ຄຳ ຖາມພາຍໃນ 5 ວິນາທີ. ຫວັງວ່າທ່ານຈະຮູ້ວ່າແມ່ນຫຍັງທີ່ ກຳ ລັງເກັບຄ່າ server ໃນເວລານີ້. ຮູບພາບຂ້າງເທິງສະແດງໃຫ້ເຫັນວ່າ, ເຄື່ອງແມ່ຂ່າຍຮາກທັງ ໝົດ 13 ທີ່ ກຳ ລັງເກັບຂໍ້ມູນຢູ່ໃນ Ubuntu.com, ເພາະວ່າປະຊາຊົນຫຼາຍລ້ານຄົນໄດ້ເຂົ້າໄປໃນເວັບໄຊທ໌ທາງການຂອງ Ubuntu ແລ້ວ.

    ຂັ້ນຕອນທີ 3: ການຕັ້ງຄ່າ Master DNS Server

    ສ້າງ MASTER DNS Server, ນີ້ຂ້ອຍ ກຳ ນົດຊື່ໂດເມນເປັນ tecmintlocal.com , ດັດແກ້ເອກະສານ ທີ່ມີຊື່ວ່າ .conf.local ໂດຍໃຊ້ vim ບັນນາທິການ.

    $ sudo vim /etc/bind/named.conf.local
    

    ປ້ອນຂໍ້ມູນ DNS-Master ທີ່ຢູ່ຂ້າງລຸ່ມນີ້.

    zone "tecmintlocal.com" {
            type master;
            file "/etc/bind/db.tecmintlocal.com";
            };
    

    < <

  • ເຂດ : ລາຍລະອຽດຂອງເຈົ້າພາບໃນໂດເມນ
  • .

    <

  • ປະເພດ : ແມ່ບົດ DNS.
  • ເອກະສານ : ສະຖານທີ່ເພື່ອເກັບຂໍ້ມູນເຂດ.
  • ສ້າງເອກະສານເຂດ db.tecmintlocal.com (ການເບິ່ງໄປຂ້າງ ໜ້າ) ຈາກການເຮັດ ສຳ ເນົາຈາກ db.local .

    $ sudo cp db.local db.tecmintlocal.com
    

    ຕອນນີ້ເປີດແລະແກ້ໄຂເອກະສານເຂດທີ່ຖືກຄັດລອກໂດຍໃຊ້ vim ບັນນາທິການ.

    $ sudo vim db.tecmintlocal.com
    

    ຕໍ່ໄປ, ຕື່ມການເຂົ້າຕົວຢ່າງຕໍ່ໄປນີ້, ເຊິ່ງຂ້ອຍໄດ້ໃຊ້ເພື່ອຈຸດປະສົງການສອນ. ຂ້ອຍໃຊ້ຄືກັນ ສຳ ລັບການຕັ້ງຄ່າເຄື່ອງ virtual ອື່ນໆຄືກັນ. ດັດແປງການເຂົ້າຂ້າງລຸ່ມນີ້ຕາມຄວາມຕ້ອງການຂອງທ່ານ.

    ;
    ; BIND data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     tecmintlocal.com. root.tecmintlocal.com. (
                         2014082801         ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      ns.tecmintlocal.com.
    ns      IN      A       192.168.0.100
    
    clt1    IN      A       192.168.0.111
    ldap    IN      A       192.168.0.200
    ldapc   IN      A       192.168.0.211
    mail    IN      CNAME   clt1.tecmintlocal.com.
    

    ບັນທຶກແລະອອກຈາກແຟ້ມໂດຍໃຊ້ wq! .

    ສຸດທ້າຍ, ເລີ່ມຕົ້ນການບໍລິການ DNS ທີ່ຜູກໂດຍໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້.

     
    $ sudo service bind9 restart
    

    ພວກເຮົາຕ້ອງການຢືນຢັນ, ບໍ່ວ່າການຕັ້ງເຂດຂ້າງເທິງຂອງພວກເຮົາເຮັດວຽກ. ໃຫ້ພວກເຮົາກວດເບິ່ງໂດຍໃຊ້ ຄຳ ສັ່ງ ຂຸດ . ດໍາເນີນການຄໍາສັ່ງດັ່ງຕໍ່ໄປນີ້ຈາກການສອບຖາມ localhost.

    $ dig @127.0.0.1 mail.tecmintlocal.com
    

    ໃຫ້ ພິງ ແລະທົດສອບ clt1.tecmintlocal.com , ກ່ອນທີ່ພວກເຮົາ ຈຳ ເປັນຕ້ອງປ່ຽນການເຂົ້າ dns-server ເຂົ້າໃນ localhost ໃນເຄື່ອງ server dns ຂອງພວກເຮົາແລະເລີ່ມຕົ້ນເຄືອຂ່າຍຄືນ ໃໝ່ ເພື່ອໃຫ້ມີຜົນ .

    ເປີດແລະແກ້ໄຂການຕັ້ງຄ່າອິນເຕີເຟດ Network ແລະເຂົ້າ DNS.

    $ sudo vim /etc/network/interfaces
    

    ປ່ຽນການປ້ອນຂໍ້ມູນ DNS ໃນການໂຕ້ຕອບດັ່ງລຸ່ມນີ້.

    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
            address 192.168.0.100
            netmask 255.255.255.0
            gateway 192.168.0.1
            network 192.168.0.0
            broadcast 192.168.0.255
            dns-nameservers 127.0.0.1
    	    dns-search tecmintlocal.com
    

    ຫລັງຈາກເພີ່ມເຂົ້າ, ໃຫ້ Restart Network ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    $ sudo ifdown eth0 && sudo ifup eth0
    

    ຖ້າການເລີ່ມຕົ້ນເຄືອຂ່າຍຄືນ ໃໝ່ ບໍ່ມີຜົນ, ພວກເຮົາຕ້ອງການການຕັ້ງຄ່າ ໃໝ່. ດຽວນີ້ໃຫ້ ກຳ ລັງເບິ່ງແລະກວດເບິ່ງ clt1.tecmintlocal.com ໃນຂະນະທີ່ ກຳ ລັງສົ່ງຂໍ້ມູນຢູ່, ພວກເຮົາ ຈຳ ເປັນຕ້ອງໄດ້ຮັບທີ່ຢູ່ ip ທີ່ພວກເຮົາໄດ້ ກຳ ນົດໄວ້ ສຳ ລັບຊື່ໂຮດ clt1 .

    $ ping clt1.tecmintlocal.com -c 3
    

    ການຕັ້ງຄ່າການຊອກຫາ DNS ແບບຍ້ອນກັບ

    ເປີດອີກຄັ້ງແລະດັດແກ້ເອກະສານ ທີ່ມີຊື່ວ່າ .conf.local .

    $ sudo vim /etc/bind/named.conf.local
    

    ໃນປັດຈຸບັນຕື່ມເຂົ້າການຊອກຫາການເຂົ້າເບິ່ງຂໍ້ມູນຕໍ່ໄປນີ້ຕາມທີ່ສະແດງ.

    zone "0.168.192.in-addr.arpa" {
            type master;
            notify no;
            file "/etc/bind/db.tecmintlocal192";
            };
    

    ບັນທຶກແລະອອກຈາກແຟ້ມໂດຍໃຊ້ wq! . ດຽວນີ້ສ້າງເອກະສານ db.tecmintlocal192 , ດັ່ງທີ່ຂ້າພະເຈົ້າໄດ້ກ່າວມາໃນເອກະສານຕົ້ນສະບັບຂ້າງເທິງ ສຳ ລັບການຊອກຫາດ້ານຫລັງ, ສຳ ເນົາ db.127 ໃສ່ db.tecmintlocal192 ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    $ sudo cp db.127 db.tecmintlocal192
    

    ດຽວນີ້, ເປີດແລະແກ້ໄຂເອກະສານ db.tecmintlocal192 ເພື່ອຈັດການການເບິ່ງຄືນ ໃໝ່.

    $ sudo vim db.tecmintlocal192
    

    ກະລຸນາໃສ່ການປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້ຂ້າງລຸ່ມນີ້, ດັດແປງການເຂົ້າຂ້າງລຸ່ມນີ້ຕາມຄວາມຕ້ອງການຂອງທ່ານ.

    ;
    ; BIND reverse data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     ns.tecmintlocal.com. root.tecmintlocal.com. (
                            2014082802      ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      ns.
    100     IN      PTR     ns.tecmintlocal.com.
    
    111     IN      PTR     ctl1.tecmintlocal.com.
    200     IN      PTR     ldap.tecmintlocal.com.
    211     IN      PTR     ldapc.tecmintlocal.com.
    

    ເລີ່ມຕົ້ນການບໍລິການຜູກມັດໂດຍໃຊ້.

    ດຽວນີ້, ພິສູດການເຂົ້າເບິ່ງການສະຫງວນ.

    $ host 192.168.0.111
    

    ໃນຂະນະທີ່ພວກເຮົາກວດເບິ່ງດ້ານຫລັງໂດຍໃຊ້ທີ່ຢູ່ ip ດັ່ງທີ່ສະແດງຢູ່ຂ້າງເທິງ, ມັນຕ້ອງການຕອບກັບດ້ວຍຊື່ທີ່ຢູ່ຂ້າງເທິງສະແດງຮູບພາບ.

    ໃຫ້ກວດເບິ່ງໂດຍໃຊ້ ຄຳ ສັ່ງ dig ເຊັ່ນກັນ.

    $ dig clt1.tecmintlocal.com
    

    ນີ້, ພວກເຮົາສາມາດເບິ່ງເຫັນ ຄຳ ຕອບ ສຳ ລັບ ຄຳ ຖາມໃນພາກຕອບ ທີ່ຢູ່ຊື່ໂດເມນ clt1.tecmintlocal.com ມີທີ່ຢູ່ ip 192.168.0.111 .

    ຂັ້ນຕອນທີ 4: ຕັ້ງເຄື່ອງຈັກລູກຄ້າ

    ພຽງແຕ່ປ່ຽນທີ່ຢູ່ ip ແລະ dns entry ໃນເຄື່ອງລູກຄ້າໄປທີ່ server dns ໃນທ້ອງຖິ່ນຂອງພວກເຮົາ 192.168.0.100 , ຖ້າເປັນດັ່ງນັ້ນ, ເຄື່ອງລູກຄ້າຂອງພວກເຮົາຈະໄດ້ຮັບຊື່ໂຮດທີ່ຖືກມອບ ໝາຍ ຈາກ DNS-server ທ້ອງຖິ່ນ.

    ໃຫ້ພວກເຮົາກວດເບິ່ງຊື່ເຈົ້າພາບຂອງລູກຄ້າຂອງພວກເຮົາໂດຍໃຊ້ຊຸດ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    $ ifconfig eth0 | grep inet
    $ hostname	
    $ dig -x 192.168.0.100
    

    ຄວາມເຂົ້າໃຈກ່ຽວກັບການເຂົ້າເຂດໄຟລ໌ໃນ dns, ຮູບພາບນີ້ຈະໃຫ້ທ່ານມີ ຄຳ ອະທິບາຍເລັກໆນ້ອຍໆກ່ຽວກັບສິ່ງທີ່ພວກເຮົາໄດ້ ກຳ ນົດໃນການເຂົ້າເຂດເອກະສານເຂດ.

    ນັ້ນແມ່ນມັນ! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ເຫັນວິທີການຕັ້ງ server DNS ຂັ້ນທ້ອງຖິ່ນ ສຳ ລັບຫ້ອງການຫລືເຮືອນຂອງພວກເຮົາ.

    ໃນໄວໆນີ້ທ່ານສາມາດອ່ານກ່ຽວກັບບົດຄວາມວິທີການແກ້ໄຂບັນຫາຂອງເຄື່ອງແມ່ຂ່າຍ DNS ໂດຍໃຊ້ເຄື່ອງມືຕ່າງໆແລະແກ້ໄຂມັນ. ມັນມີຫລາຍເຄື່ອງມືທີ່ໃຊ້ໃນການແກ້ໄຂບັນຫາເຊີບເວີ DNS. ອ່ານບົດຄວາມຂ້າງລຸ່ມນີ້ເພື່ອຈະໄດ້ຮູ້ກ່ຽວກັບ ຄຳ ແນະ ນຳ ບາງຢ່າງໃນການແກ້ໄຂບັນຫາ.

    8 Nslookup Commands ສຳ ລັບການແກ້ໄຂບັນຫາ DNS