ການຕັ້ງຄ່າ 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 ອ່ານຫົວຂໍ້ຂ້າງລຸ່ມນີ້.
<
ນີ້, ພວກເຮົາສາມາດເບິ່ງໃນຮູບຂ້າງເທິງນີ້ໃນຕອນ ທຳ ອິດທີ່ມັນໄດ້ຂຸດ ປີ 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"; };
< <
.
<
ສ້າງເອກະສານເຂດ 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