ค้นหาเว็บไซต์

ตั้งค่าเซิร์ฟเวอร์ DNS แคชแบบเรียกซ้ำขั้นพื้นฐานและกำหนดค่าโซนสำหรับโดเมน


ลองจินตนาการดูว่าจะเป็นอย่างไรหากเราต้องจำที่อยู่ IP ของเว็บไซต์ทั้งหมดที่เราใช้เป็นประจำทุกวัน แม้ว่าเราจะมีความทรงจำอันมหาศาล แต่กระบวนการในการเรียกดูเว็บไซต์ก็จะช้าและใช้เวลานานอย่างน่าขัน

แล้วถ้าเราจำเป็นต้องเยี่ยมชมเว็บไซต์หลายแห่งหรือใช้แอพพลิเคชั่นหลายตัวที่อยู่ในเครื่องเดียวกันหรือโฮสต์เสมือนล่ะ? นั่นคงเป็นหนึ่งในเรื่องน่าปวดหัวที่เลวร้ายที่สุดที่ฉันคิดได้ – ไม่ต้องพูดถึงความเป็นไปได้ที่ที่อยู่ IP ที่เกี่ยวข้องกับเว็บไซต์หรือแอปพลิเคชันสามารถเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบล่วงหน้า

แค่คิดก็เพียงพอแล้วที่จะเลิกใช้อินเทอร์เน็ตหรือเครือข่ายภายในหลังจากผ่านไประยะหนึ่ง

นั่นคือสิ่งที่โลกที่ไม่มี ระบบชื่อโดเมน (หรือที่เรียกว่า DNS) จะเป็นเช่นนี้ โชคดีที่บริการนี้สามารถแก้ไขปัญหาทั้งหมดที่กล่าวมาข้างต้นได้ แม้ว่าความสัมพันธ์ระหว่างที่อยู่ IP และชื่อจะเปลี่ยนไปก็ตาม

ด้วยเหตุนี้ ในบทความนี้ เราจะได้เรียนรู้วิธีกำหนดค่าและใช้เซิร์ฟเวอร์ DNS แบบง่าย ซึ่งเป็นบริการที่อนุญาตให้แปลชื่อโดเมนเป็นที่อยู่ IP และในทางกลับกัน

ขอแนะนำการแก้ไขชื่อ DNS

สำหรับเครือข่ายขนาดเล็กที่ไม่ได้รับการเปลี่ยนแปลงบ่อยครั้ง ไฟล์ /etc/hosts สามารถใช้เป็นวิธีการพื้นฐานในการจำแนกชื่อโดเมนเป็นที่อยู่ IP

ด้วยไวยากรณ์ที่เรียบง่าย ไฟล์นี้ช่วยให้เราสามารถเชื่อมโยงชื่อ (และ/หรือนามแฝง) กับที่อยู่ IP ได้ดังต่อไปนี้:

[IP address] [name] [alias(es)]

ตัวอย่างเช่น,

192.168.0.1 gateway gateway.mydomain.com
192.168.0.2 web web.mydomain.com

ดังนั้น คุณจึงสามารถเข้าถึงเว็บแมชชีนโดยใช้ชื่อ นามแฝง web.mydomain.com หรือที่อยู่ IP

สำหรับเครือข่ายขนาดใหญ่หรือเครือข่ายที่อาจมีการเปลี่ยนแปลงบ่อยครั้ง การใช้ไฟล์ /etc/hosts เพื่อแก้ไขชื่อโดเมนเป็นที่อยู่ IP จะไม่ใช่วิธีแก้ปัญหาที่ยอมรับได้ นั่นคือที่มาของความต้องการบริการเฉพาะ

ภายใต้ประทุน เซิร์ฟเวอร์ DNS จะสอบถามฐานข้อมูลขนาดใหญ่ในรูปแบบของต้นไม้ ซึ่งเริ่มต้นที่โซนราก (“. ”)

รูปภาพต่อไปนี้จะช่วยเราในการอธิบาย:

ในภาพด้านบน โซนราก (.) ประกอบด้วยโดเมน com, edu และ net แต่ละโดเมนเหล่านี้ได้รับ (หรือสามารถ) จัดการโดยองค์กรที่แตกต่างกันเพื่อหลีกเลี่ยงการขึ้นอยู่กับโดเมนใหญ่ที่เป็นศูนย์กลาง ซึ่งช่วยให้สามารถกระจายคำขอได้อย่างเหมาะสมในลักษณะลำดับชั้น

มาดูกันว่าเกิดอะไรขึ้นภายใต้ประทุน:

1. เมื่อไคลเอนต์ทำการสืบค้นไปยังเซิร์ฟเวอร์ DNS สำหรับ web1.sales.me.com เซิร์ฟเวอร์จะส่งการสืบค้นไปยังเซิร์ฟเวอร์ DNS ด้านบน (รูท) ซึ่ง ชี้แบบสอบถามไปยังเนมเซิร์ฟเวอร์ในโซน .com

ในทางกลับกัน จะส่งคำถามไปยังเนมเซิร์ฟเวอร์ระดับถัดไป (ในโซน me.com) จากนั้นไปที่ sales.me.com กระบวนการนี้จะถูกทำซ้ำหลาย ๆ ครั้งตามที่จำเป็นจนกระทั่ง FQDN (ชื่อโดเมนที่มีคุณสมบัติครบถ้วน, web1.sales.me.com ในตัวอย่างนี้) ถูกส่งคืนโดยเนมเซิร์ฟเวอร์ของโซนที่มันอยู่

2. ในตัวอย่างนี้ เนมเซิร์ฟเวอร์ใน sales.me.com ตอบสนองต่อที่อยู่ web1.sales.me.com และส่งคืน การเชื่อมโยงชื่อโดเมน-IP ที่ต้องการ และข้อมูลอื่นๆ เช่นกัน (หากกำหนดค่าให้ทำเช่นนั้น)

ข้อมูลทั้งหมดนี้ถูกส่งไปยังเซิร์ฟเวอร์ DNS ดั้งเดิม จากนั้นจะส่งกลับไปยังไคลเอนต์ที่ร้องขอตั้งแต่แรก เพื่อหลีกเลี่ยงการทำซ้ำขั้นตอนเดียวกันสำหรับการสืบค้นที่เหมือนกันในอนาคต ผลลัพธ์ของการสืบค้นจะถูกจัดเก็บไว้ในเซิร์ฟเวอร์ DNS

นี่คือเหตุผลว่าทำไมการตั้งค่าประเภทนี้จึงเรียกกันทั่วไปว่าเป็นเซิร์ฟเวอร์ DNS แบบแคชแบบเรียกซ้ำ