ວິທີການຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າເຊີບເວີ DNS ເທົ່ານັ້ນທີ່ບໍ່ມີຂໍ້ຜູກມັດໃນ RHEL/CentOS 7


ການຕັ້ງຄ່າເຊີບເວີຊື່ຜູ້ໃຊ້ໂດຍໃຊ້ ' ບໍ່ ຈຳ ກັດ ' (ແມ່ນການກວດສອບຄວາມຖືກຕ້ອງ, ການຄົ້ນຫາຄືນ ໃໝ່ ແລະການຮວບຮວມໂປແກຼມ DNS server), ກັບໄປທີ່ RHEL/CentOS 6.x (ບ່ອນ x ແມ່ນເລກສະບັບ), ພວກເຮົາໄດ້ໃຊ້ ຜູກ ຊອບແວເພື່ອ ກຳ ນົດຄ່າເຊີຟເວີ DNS.

ນີ້ຢູ່ໃນບົດຂຽນນີ້, ພວກເຮົາ ກຳ ລັງຈະ ນຳ ໃຊ້ໂປແກຼມ cache 'ບໍ່ມີຂໍ້ຜູກມັດ' ເພື່ອຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າ DNS Server ໃນລະບົບ RHEL/CentOS 7.

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

ການຕັ້ງແຄດເປັນຕົວແທນເພື່ອແກ້ໄຂບັນຫາການສອບຖາມຂອງລູກຄ້າຈາກຜູ້ສົ່ງຕໍ່ຄົນໃດຄົນ ໜຶ່ງ. ການໃຊ້ cache ຂອງ server, ຈະຊ່ວຍຫຼຸດເວລາໃນການໂຫຼດເວບໄຊທ໌ໂດຍການເກັບຂໍ້ມູນ cache ໃນ server.

ສຳ ລັບຈຸດປະສົງການສາທິດ, ຂ້ອຍຈະໃຊ້ສອງລະບົບ. ລະບົບ ທຳ ອິດຈະເຮັດ ໜ້າ ທີ່ເປັນເຄື່ອງແມ່ຂ່າຍ DNS Master (Primary) ແລະລະບົບທີສອງຈະເຮັດ ໜ້າ ທີ່ເປັນລູກຄ້າ DNS ທ້ອງຖິ່ນ.

Operating System   :    CentOS Linux release 7.0.1406 (Core)
IP Address	   :	192.168.0.50
Host-name	   :	ns.tecmintlocal.com
Operating System   :	CentOS 6
IP Address	   :	192.168.0.100
Host-name	   :	client.tecmintlocal.com

ຂັ້ນຕອນທີ 1: ກວດສອບ System Hostname ແລະ IP

1. ກ່ອນທີ່ຈະຕັ້ງຄ່າ cache ຂອງ server, ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ເພີ່ມ hostname ທີ່ຖືກຕ້ອງແລະຕັ້ງຄ່າ IP address static ທີ່ຖືກຕ້ອງ ສຳ ລັບລະບົບຂອງທ່ານ, ຖ້າບໍ່ ກຳ ນົດ IP address ຂອງລະບົບ.

2. ຫລັງຈາກນັ້ນ, ການຕັ້ງຄ່າ hostname ທີ່ຖືກຕ້ອງແລະທີ່ຢູ່ IP ທີ່ສະຖິດ, ທ່ານສາມາດກວດສອບພວກມັນດ້ວຍການຊ່ວຍເຫຼືອຂອງ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# hostnamectl
# ip addr show | grep inet

ຂັ້ນຕອນທີ 2: ການຕິດຕັ້ງແລະການຕັ້ງຄ່າບໍ່ມີຂໍ້ຜູກມັດ

3. ກ່ອນທີ່ຈະຕິດຕັ້ງຊຸດ 'Unbound', ພວກເຮົາຕ້ອງໄດ້ປັບປຸງລະບົບຂອງພວກເຮົາໃຫ້ເປັນລຸ້ນລ້າສຸດ, ຫລັງຈາກນັ້ນພວກເຮົາສາມາດຕິດຕັ້ງຊຸດທີ່ບໍ່ມີຂໍ້ຜູກມັດໄດ້.

# yum update -y
# yum install unbound -y

4. ຫຼັງຈາກແພັກເກດຖືກຕິດຕັ້ງແລ້ວ, ເຮັດ ສຳ ເນົາເອກະສານການຕັ້ງຄ່າທີ່ບໍ່ມີຂໍ້ຜູກມັດກ່ອນທີ່ຈະເຮັດການປ່ຽນແປງໃດໆຕໍ່ເອກະສານຕົ້ນສະບັບ.

# cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original

5. ຕໍ່ໄປ, ໃຊ້ໂປແກຼມບັນນາທິການຕົວ ໜັງ ສືທີ່ທ່ານມັກເພື່ອເປີດແລະແກ້ໄຂເອກະສານການຕັ້ງຄ່າ.

# vim /etc/unbound/unbound.conf

ເມື່ອເອກະສານຖືກເປີດເພື່ອດັດແກ້, ເຮັດການປ່ຽນແປງດັ່ງຕໍ່ໄປນີ້:

ຄົ້ນຫາ ອິນເຕີເຟດ ແລະເປີດໃຊ້ອິນເຕີເຟດທີ່ພວກເຮົາຈະ ນຳ ໃຊ້ຫຼືຖ້າ server ຂອງພວກເຮົາມີອິນເຕີເຟດຫຼາຍຄັ້ງພວກເຮົາຕ້ອງເປີດໃຊ້ງານ ໂຕ້ຕອບ 0.0.0.0 .

ນີ້ IP ຂອງເຄື່ອງແມ່ຂ່າຍຂອງພວກເຮົາແມ່ນ 192.168.0.50 , ສະນັ້ນ, ຂ້ອຍຈະໃຊ້ຂໍ້ຜູກພັນນີ້ບໍ່ໄດ້.

Interface 192.168.0.50

ຄົ້ນຫາເຊືອກດັ່ງຕໍ່ໄປນີ້ແລະເຮັດໃຫ້ມັນ ' ແມ່ນ <.

do-ip4: yes
do-udp: yes
do-tcp: yes

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

logfile: /var/log/unbound

ເປີດໃຊ້ຕົວກໍານົດການດັ່ງຕໍ່ໄປນີ້ເພື່ອຊ່ອນການສອບຖາມ id.server ແລະ hostname.bind ສອບຖາມ.

hide-identity: yes

ເປີດໃຊ້ຕົວກໍານົດການຕໍ່ໄປນີ້ເພື່ອຊ່ອນການສອບຖາມ version.server ແລະ version.bind ສອບຖາມ.

hide-version: yes

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

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

access-control: 0.0.0.0/0 allow

ໝາຍ ເຫດ: ແທນທີ່ຈະອະນຸຍາດ, ພວກເຮົາສາມາດທົດແທນມັນດ້ວຍ allow_snoop ນີ້ຈະຊ່ວຍໃຫ້ບາງຕົວ ກຳ ນົດເພີ່ມເຕີມເຊັ່ນ: ຂຸດ ແລະມັນສະ ໜັບ ສະ ໜູນ ທັງການເອີ້ນຄືນແລະບໍ່ໄດ້ຮັບການເອີ້ນຄືນ.

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

domain-insecure: "tecmintlocal.com

ຫຼັງຈາກນັ້ນປ່ຽນ ຜູ້ສົ່ງຕໍ່ ສຳ ລັບ ຄຳ ຖາມທີ່ພວກເຮົາຮ້ອງຂໍທີ່ບໍ່ໄດ້ບັນລຸໂດຍເຄື່ອງແມ່ຂ່າຍນີ້ມັນຈະສົ່ງຕໍ່ໂດເມນຮາກ (. ) ແລະແກ້ໄຂ ຄຳ ຖາມ.

forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4

ສຸດທ້າຍ, ບັນທຶກແລະປະຖິ້ມເອກະສານການຕັ້ງຄ່າໂດຍໃຊ້ wq! .

6. ຫຼັງຈາກເຮັດການຕັ້ງຄ່າຂ້າງເທິງ, ຕອນນີ້ກວດພິສູດເອກະສານ ທີ່ບໍ່ມີຂໍ້ຜູກມັດ ສຳ ລັບຂໍ້ຜິດພາດໃດໆໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# unbound-checkconf /etc/unbound/unbound.conf

7. ຫຼັງຈາກການກວດສອບເອກະສານຜ່ານຂໍ້ຜິດພາດໂດຍບໍ່ມີຂໍ້ຜິດພາດໃດໆ, ທ່ານສາມາດເລີ່ມຕົ້ນໃຫ້ບໍລິການ 'ບໍ່ມີຂໍ້ຜູກມັດ' ແລະເປີດໃຊ້ງານໄດ້ໃນລະບົບເລີ່ມຕົ້ນ.

# systemctl start unbound.service
# sudo systemctl enable unbound.service

ຂັ້ນຕອນທີ 3: ທົດສອບ DNS Cache ໃນທ້ອງຖິ່ນ

8. ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ທ່ານກວດເຊັກ DNS ຂອງພວກເຮົາ, ໂດຍການເຮັດ 'ເຈາະ' (ການສອບຖາມ) ໜຶ່ງ ໂດເມນ 'india.com'. ໃນຕອນ ທຳ ອິດ ຄຳ ສັ່ງ 'ເຈາະ' ສຳ ລັບໂດເມນ 'india.com' ຈະໃຊ້ເວລາບາງວິນາທີ, ແລະຈາກນັ້ນ ດຳ ເນີນການເຈາະຄັ້ງທີສອງແລະມີບັນທຶກກ່ຽວກັບ ເວລາສອບຖາມ ມັນໃຊ້ ສຳ ລັບທັງສອງການເຈາະ.

drill india.com @192.168.0.50

ທ່ານໄດ້ເຫັນໃນຜົນໄດ້ຮັບຂ້າງເທິງ, ການສອບຖາມຄັ້ງ ທຳ ອິດໃຊ້ເວລາເກືອບ 262 msec ເພື່ອແກ້ໄຂແລະການສອບຖາມຄັ້ງທີສອງໃຊ້ເວລາ 0 msec ເພື່ອແກ້ໄຂບັນຫາໂດເມນ ( india.com ).

ນັ້ນ ໝາຍ ຄວາມວ່າ, ການສອບຖາມຄັ້ງ ທຳ ອິດຈະຖືກເກັບເຂົ້າໃນ DNS Cache ຂອງພວກເຮົາ, ດັ່ງນັ້ນເມື່ອພວກເຮົາ ດຳ ເນີນການ 'ເຈາະ' ຄັ້ງທີສອງ ຄຳ ຖາມທີ່ໄດ້ຮັບຈາກ DNS cache ໃນທ້ອງຖິ່ນຂອງພວກເຮົາ, ວິທີນີ້ພວກເຮົາສາມາດປັບປຸງຄວາມໄວຂອງເວບໄຊທ໌ຕ່າງໆ.

ຂັ້ນຕອນທີ 4: Flush Iptables ແລະເພີ່ມກົດ Firewalld

9. ພວກເຮົາບໍ່ສາມາດໃຊ້ທັງ iptables ແລະ firewalld ໃນເວລາດຽວກັນໃນເຄື່ອງດຽວກັນ, ຖ້າພວກເຮົາເຮັດທັງສອງຈະຂັດແຍ້ງກັນ, ດັ່ງນັ້ນການຖອດລະບຽບ ipables ແມ່ນເປັນຄວາມຄິດທີ່ດີ. ເພື່ອ ກຳ ຈັດຫລືກະຊັບ iptables, ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# iptables -F

10. ຫຼັງຈາກຖອດກົດລະບຽບຂອງ iptables ຢ່າງຖາວອນ, ຕອນນີ້ຕື່ມການບໍລິການ DNS ເຂົ້າໃນບັນຊີລາຍຊື່ firewalld ຢ່າງຖາວອນ.

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

11. ຫຼັງຈາກເພີ່ມກົດລະບຽບການບໍລິການ DNS, ໃຫ້ຂຽນລາຍລະບຽບແລະຢືນຢັນ.

# firewall-cmd --list-all

ຂັ້ນຕອນທີ 5: ການຄຸ້ມຄອງແລະການແກ້ໄຂບັນຫາບໍ່ມີຂໍ້ຜູກມັດ

12. ເພື່ອໃຫ້ໄດ້ຮັບສະຖານະຂອງເຊີບເວີໃນປະຈຸບັນ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# unbound-control status

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

 # unbound-control dump_cache > /tmp/DNS_cache.txt

14. ເພື່ອຟື້ນຟູຫຼື ນຳ ເຂົ້າ cache ຈາກໄຟລ໌ທີ່ຖືກຖິ້ມ, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# unbound-control dump_cache < /tmp/DNS_cache.txt

15. ເພື່ອກວດເບິ່ງວ່າທີ່ຢູ່ສະເພາະໄດ້ຖືກແກ້ໄຂໂດຍຜູ້ສົ່ງຕໍ່ຂອງພວກເຮົາຢູ່ໃນເຊີບເວີທີ່ບໍ່ມີຂໍ້ຜູກມັດ, ໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້.

# unbound-control lookup google.com

16. ບາງຄັ້ງຖ້າເຄື່ອງແມ່ຂ່າຍຂອງ cache DNS ຂອງພວກເຮົາຈະບໍ່ຕອບ ຄຳ ຖາມຂອງພວກເຮົາ, ໃນເວລານັ້ນພວກເຮົາສາມາດໃຊ້ເພື່ອຖອດແຄດເພື່ອລຶບຂໍ້ມູນເຊັ່ນ: A , AAA , NS , SO , CNAME , MX , PTR ແລະອື່ນໆ. ພວກເຮົາສາມາດເອົາຂໍ້ມູນທັງ ໝົດ ອອກໂດຍໃຊ້ flush_zone ນີ້ຈະລຶບຂໍ້ມູນທັງ ໝົດ ອອກ.

# unbound-control flush linux-console.net
# unbound-control flush_zone tecmintlocal.com

17. ເພື່ອກວດກາເບິ່ງວ່າໃນຕໍ່ ໜ້າ ແມ່ນໃຊ້ການແກ້ໄຂແນວໃດ.

# unbound-control list_forwards

ຂັ້ນຕອນທີ 6: ການຕັ້ງຄ່າ DNS ຂອງ Client Side

18. ນີ້ຂ້ອຍໄດ້ໃຊ້ເຄື່ອງແມ່ຂ່າຍ CentOS 6 ເປັນເຄື່ອງລູກຄ້າຂອງຂ້ອຍ, IP ສຳ ລັບເຄື່ອງນີ້ແມ່ນ 192.168.0.100 ແລະຂ້ອຍຈະໃຊ້ IP server ທີ່ບໍ່ມີຂໍ້ມູນຂອງຂ້ອຍ IP. (ເຊັ່ນ DNS ຂັ້ນຕົ້ນ) ໃນການຕັ້ງຄ່າການໂຕ້ຕອບຂອງມັນ.

ເຂົ້າສູ່ລະບົບ Client machine ແລະຕັ້ງ ປະຖົມ IP server DNS ເຂົ້າ IP ຂອງເຄື່ອງແມ່ຂ່າຍຂອງພວກເຮົາ.

ດໍາເນີນການຄໍາສັ່ງການຕັ້ງຄ່າແລະເລືອກການຕັ້ງຄ່າເຄືອຂ່າຍຈາກ TUI ຜູ້ຈັດການເຄືອຂ່າຍ.

ຫຼັງຈາກນັ້ນເລືອກ ການຕັ້ງຄ່າ DNS , ໃສ່ IP ຂອງເຊີຟເວີ DNS ທີ່ບໍ່ມີຂອບເຂດເປັນ ປະຖົມ DNS ແຕ່ໃນທີ່ນີ້ຂ້ອຍໄດ້ໃຊ້ທັງໃນ ປະຖົມ ແລະ ຮອງ ເພາະວ່າຂ້ອຍບໍ່ມີເຄື່ອງແມ່ຂ່າຍ DNS ອື່ນ.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

ກົດທີ່ OK -> ບັນທຶກແລະເຊົາອອກ -> ເຊົາ .

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

# /etc/init.d/network restart

20. ດຽວນີ້ເຖິງເວລາທີ່ຈະເຂົ້າໃຊ້ເວັບໄຊທ໌ໃດ ໜື່ງ ຈາກເຄື່ອງລູກຄ້າແລະກວດເບິ່ງ cache ໃນເຊີບເວີ DNS ທີ່ບໍ່ມີຂໍ້ຜູກມັດ.

# elinks aol.com
# dig aol.com

ສະຫຼຸບ

ກ່ອນຫນ້ານີ້ພວກເຮົາໄດ້ຖືກນໍາໃຊ້ເພື່ອຕັ້ງຄ່າ server cache ຂອງ DNS ໂດຍໃຊ້ຊຸດ package ໃນ RHEL ແລະ CentOS systems. ຕອນນີ້, ພວກເຮົາໄດ້ເຫັນວິທີການຕັ້ງຄ່າ server cache ຂອງ DNS ໂດຍໃຊ້ຊຸດທີ່ບໍ່ມີຂໍ້ຜູກມັດ. ຫວັງວ່າສິ່ງນີ້ຈະສາມາດແກ້ໄຂ ຄຳ ຮ້ອງຂໍການສອບຖາມຂອງທ່ານໄດ້ໄວກ່ວາ pacakge bind.