Defaults.Exposed › การแก้ไข › การตั้งค่า Nameserver (ความหลากหลาย & SOA)
วิธีแก้ไข การตั้งค่า Nameserver (ความหลากหลาย & SOA)
Nameserver ของคุณเป็นไดเรกทอรีที่บอกอินเทอร์เน็ตทั้งหมดว่าจะหาเว็บไซต์และอีเมลของคุณได้ที่ไหน ถ้าทั้งหมดอยู่บนเครือข่ายเดียวและเครือข่ายนั้นล่ม ธุรกิจของคุณจะหายไปจากอินเทอร์เน็ตในทันทีเดียวกัน — ไม่มีเว็บไซต์ ไม่มีอีเมล ไม่มีอะไรเลย — และการตั้งค่านาฬิกาที่สกปรกบนเซิร์ฟเวอร์เหล่านั้นสามารถทำให้การเปลี่ยนแปลงที่คุณทำค้างอยู่เป็นวันๆ
สรุปสำหรับธุรกิจของคุณ: ถ้า nameserver ทุกตัวสำหรับโดเมนของคุณอยู่บนเครือข่ายเดียว การหยุดทำงานหรือการโจมตีหนึ่งครั้งบนเครือข่ายนั้นทำให้เว็บไซต์และอีเมลของคุณออฟไลน์พร้อมกัน — คุณยังคงจ่ายเงินพนักงานและโฆษณาในขณะที่ลูกค้าไม่สามารถเข้าถึงคุณได้ แยกจากนั้น ตัวจับเวลา SOA ที่กำหนดค่าผิดสามารถทำให้การเปลี่ยนแปลง DNS ของคุณ (เซิร์ฟเวอร์ใหม่ ผู้ให้บริการอีเมลที่สลับ การเปลี่ยนทิศทางฉุกเฉิน) ใช้เวลาเป็นวันแทนชั่วโมง
สิ่งนี้อาจทำให้คุณเสียค่าใช้จ่าย
- เครือข่ายเดียวที่ nameserver ทั้งหมดของคุณอยู่มีช่วงเวลาเลวร้าย — การหยุดทำงานหรือการโจมตี DDoS — และเว็บไซต์และอีเมลของคุณทั้งสองหายไปพร้อมกัน ลูกค้าได้รับหน้าข้อผิดพลาด กล่องขาย inbox ของคุณตีกลับ และไม่มีอะไรที่คนดูแลเว็บไซต์ของคุณสามารถทำได้นอกจากรอให้เครือข่ายของคนอื่นกู้คืน
- ทีมความปลอดภัยของลูกค้ารายใหญ่รันการตรวจสอบผู้ขาย เห็น nameserver ทั้งหมดของคุณบนผู้ให้บริการเดียวโดยไม่มีความซ้ำซ้อน และสังเกตว่าโดเมนของคุณเป็นจุดล้มเหลวเดียว — ความขัดแย้งบนสัญญาที่คุณน่าจะชนะ
- คุณย้ายไปยังโฮสต์เว็บใหม่หรือสลับผู้ให้บริการอีเมล แต่ตัวจับเวลา 'refresh' ที่ผิดในระเบียน SOA ของคุณหมายความว่าเซิร์ฟเวอร์ DNS อื่นๆ ยังคงแจกที่อยู่เก่าของคุณเป็นวัน — ดังนั้นลูกค้าบางรายลงจอดบนเว็บไซต์ที่ตายแล้วและอีเมลของคุณแยกออกเป็นสอง
- เหตุการณ์ความปลอดภัยบังคับให้คุณเปลี่ยนทิศทาง traffic อย่างเร่งด่วน แต่ตัวจับเวลา SOA บอกโลกให้ cache ระเบียนเก่าของคุณเป็นสัปดาห์ ดังนั้นการเปลี่ยนแปลงที่คุณทำเมื่อชั่วโมงที่แล้วยังไม่ถึงครึ่งอินเทอร์เน็ตในขณะที่ปัญหายังคงดำเนินต่อ
- nameserver สองตัวของคุณเป็นสองชื่อในทางเทคนิค แต่มันแก้ไขไปยัง rack เดียวกันบนเครือข่ายเดียวกัน — ดังนั้นความซ้ำซ้อนที่คุณคิดว่ามีเป็นภาพลวงตา และความล้มเหลวเดียวยังคงทำให้ทุกอย่างล่ม
เหตุใดจึงสำคัญ การเข้าชมเว็บไซต์ของคุณทุกครั้งและอีเมลทุกฉบับที่ส่งถึงคุณเริ่มต้นด้วยการค้นหาต่อ nameserver ของคุณ พวกมันเป็นรากฐานที่ส่วนที่เหลือของการปรากฏตัวออนไลน์ของคุณยืนอยู่ ถ้ารากฐานนั้นไม่มีความซ้ำซ้อน ความล้มเหลวเดียวทำให้ทุกอย่างหยุดพร้อมกัน ถ้าค่าการกำหนดเวลาของมันผิด การเปลี่ยนแปลงทุกอย่างที่คุณทำจะช้าในการมีผล — ในเวลาที่คุณแทบไม่สามารถรับมันได้
มันคืออะไร เป็นคำพูดง่ายๆ
ก่อนที่ใครจะเข้าถึงเว็บไซต์ของคุณหรือส่งอีเมลถึงคุณ คอมพิวเตอร์ของพวกมันต้องถามคำถามง่ายๆ: “โดเมนนี้อยู่ที่ไหนจริงๆ?” เซิร์ฟเวอร์ที่ตอบคำถามนั้นคือ nameserver ของคุณ พวกมันเป็นรายการไดเรกทอรีสำหรับการปรากฏตัวออนไลน์ทั้งหมดของคุณ — สิ่งแรกที่ผู้เข้าชมทุกคนและอีเมลทุกฉบับแตะต้อง ก่อนที่เว็บไซต์หรือกล่องรับจดหมายของคุณจะเกี่ยวข้อง
หน้านี้ครอบคลุมสองส่วนของการทำให้ไดเรกทอรีนั้นถูกต้อง:
- ความหลากหลาย — คุณมี nameserver อย่างน้อยสองตัวไหม และพวกมันอยู่บนส่วนต่างๆ ของเครือข่ายที่แยกกันจริงๆ เพื่อให้การหยุดทำงานเดียวไม่สามารถทำให้ทั้งหมดเงียบพร้อมกันได้?
- ระเบียน SOA — ระเบียน “start of authority” ขนาดเล็กที่เก็บค่าการกำหนดเวลาควบคุมว่าส่วนที่เหลือของอินเทอร์เน็ตไว้วางใจและ cache คำตอบ DNS ของคุณนานแค่ไหน ตั้งตัวจับเวลาผิดและการเปลี่ยนแปลงทุกอย่างที่คุณทำใช้เวลานานกว่าในการเข้าถึงโลก
ไม่มีสิ่งใดที่น่าตื่นเต้น ทั้งสองเป็นรากฐาน เมื่อถูกต้องคุณไม่เคยคิดถึงพวกมัน เมื่อผิดคุณพบมันในช่วงเวลาที่เลวร้ายที่สุด
สิ่งนี้อาจทำให้คุณสูญเสียอะไร
-
ทุกอย่างออฟไลน์พร้อมกัน ถ้า nameserver ทั้งหมดของคุณอยู่บนเครือข่ายเดียวและเครือข่ายนั้นหยุดทำงานหรือถูกโจมตี DDoS เว็บไซต์และอีเมลของคุณมืดพร้อมกัน สิ่งนี้ไม่ใช่เชิงทฤษฎี — ผู้ให้บริการ DNS เดียวถูกโจมตีทำให้บริษัทที่มีทรัพยากรดีออฟไลน์เกือบทั้งวัน ด้วยความซ้ำซ้อนข้ามเครือข่าย ความล้มเหลวเดียวสามารถรับมือได้ หากไม่มีมัน มันสมบูรณ์
-
ดีลที่สูญเสียจากการตรวจสอบผู้ขาย ทีมความปลอดภัยหรือการจัดซื้อของลูกค้าที่ใหญ่กว่ารันการตรวจสอบก่อนลงนาม เห็น nameserver ทั้งหมดของคุณรวมศูนย์บนผู้ให้บริการเดียวโดยไม่มี fallback และทำเครื่องหมายโดเมนของคุณเป็นจุดล้มเหลวเดียว มันเป็นเครื่องหมายที่ไม่ดีเล็กน้อยที่หลีกเลี่ยงได้ที่เพิ่มความขัดแย้งกับสัญญาที่คุณน่าจะชนะ
-
การเปลี่ยนแปลงที่ไม่ยึด คุณสลับโฮสต์เว็บ ย้ายผู้ให้บริการอีเมล หรือต้องการเปลี่ยนทิศทาง traffic อย่างรีบด่วน ตัวจับเวลา “refresh” หรือ “expire” ที่ผิดในระเบียน SOA ของคุณหมายความว่าเซิร์ฟเวอร์ DNS อื่นๆ ให้บริการคำตอบเก่าของคุณเป็นวัน ลูกค้าครึ่งหนึ่งลงจอดบนเว็บไซต์ใหม่ ครึ่งหนึ่งบนที่ตายแล้ว อีเมลบางส่วนไหลไปยังผู้ให้บริการเก่า บางส่วนไปยังใหม่ การเปลี่ยนแปลงที่คุณทำเมื่อชั่วโมงที่แล้วยังไม่เสร็จ
-
ฉุกเฉินที่คุณไม่สามารถยุติได้อย่างรวดเร็ว ในระหว่างเหตุการณ์ความปลอดภัยคุณต้องชี้ traffic ออกจากเซิร์ฟเวอร์ที่ถูกโจมตีทันที ถ้าตัวจับเวลา SOA ของคุณบอกโลกให้ cache ระเบียนของคุณเป็นสัปดาห์ การแก้ไขของคุณค่อยๆ ออกไปทั่วอินเทอร์เน็ตในขณะที่ปัญหายังคงกัด
-
ความซ้ำซ้อนที่ไม่จริง คุณมี nameserver สองตัว ดังนั้นคุณคิดว่าคุณได้รับการคุ้มครอง — แต่ทั้งสองแก้ไขไปยัง rack เดียวกันบนเครือข่ายเดียวกัน ความล้มเหลวฮาร์ดแวร์ครั้งแรกทำให้ทั้งหมดหยุด และตาข่ายนิรภัยที่คุณนับถึงไม่เคยมีอยู่
มันคืออะไรจริงๆ
ความหลากหลายของ Nameserver โดเมนของคุณควรแสดง nameserver อย่างน้อยสองตัว และในหลักการควรอยู่บนเส้นทางเครือข่ายที่อิสระจริงๆ — ไม่ใช่แค่สองชื่อชี้ไปที่กล่องเดียวกัน เบื้องหลัง ชื่อ nameserver แต่ละชื่อแก้ไขไปยัง IP address หนึ่งหรือมากกว่า และสิ่งที่สำคัญจริงๆ คือว่าที่อยู่เหล่านั้นอยู่ในส่วนต่างๆ ของการกำหนดเส้นทางอินเทอร์เน็ต ผู้ให้บริการ DNS ที่จริงจังกระจาย nameserver ของมันข้ามบล็อกเครือข่ายและสถานที่แยกจำนวนมากทั่วโลก ดังนั้น nameserver สองตัวจากผู้ให้บริการเดียวกันให้ความซ้ำซ้อนอิสระจริงๆ กรณีความล้มเหลวคือตรงกันข้าม: โฮสต์ขนาดเล็กเดียวที่ “nameserver” ทั้งสองเป็นเครื่องเดียวกัน ดังนั้นความล้มเหลวเดียวรวม
ระเบียน SOA ทุก DNS zone มีระเบียน Start of Authority หนึ่งอย่างแน่นอน มันตั้งชื่อ nameserver หลักและผู้ติดต่อฝ่ายบริหาร มีหมายเลข serial ที่เพิ่มขึ้นในการเปลี่ยนแปลงแต่ละครั้ง และ — ส่วนที่สำคัญสำหรับธุรกิจของคุณ — เก็บตัวจับเวลาสี่ตัว:
- Refresh — บ่อยแค่ไหนที่ nameserver รองตรวจสอบรายการหลักสำหรับการเปลี่ยนแปลง ช่วงที่ดี: ประมาณ 1 ถึง 24 ชั่วโมง (3,600–86,400 วินาที)
- Retry — เร็วแค่ไหนในการลองใหม่ถ้า refresh ล้มเหลว ช่วงที่ดี: ประมาณ 5 ถึง 60 นาที (300–3,600 วินาที)
- Expire — นานแค่ไหนที่รองให้บริการระเบียนของคุณถ้าไม่สามารถเข้าถึงรายการหลักได้เลย ช่วงที่ดี: ประมาณ 1 ถึง 4 สัปดาห์ (604,800–2,419,200 วินาที)
- Minimum TTL — พื้นสำหรับระยะเวลาที่คำตอบ (รวมถึงคำตอบ “ชื่อนี้ไม่มีอยู่”) ถูก cache ควรเป็นค่าบวกที่สมเหตุสมผล 300 วินาทีเป็นตัวเลือกทั่วไป
วิธีแก้ไข (ฟรี ~15 นาที)
ส่วนนี้สำหรับผู้ที่จัดการโดเมนหรือ DNS ของคุณ
ขั้นที่ 1 — ตรวจสอบให้แน่ใจว่าคุณมี nameserver อย่างน้อยสองตัวบนโครงสร้างพื้นฐานที่หลากหลาย
- ตรวจสอบสิ่งที่คุณมีวันนี้ รัน
dig NS yourdomain.comและอ่าน nameserver สองตัวหรือมากกว่าคือขั้นต่ำ - ถ้าคุณมีเพียงหนึ่ง หรือทั้งสองอยู่บนโฮสต์ขนาดเล็กเดียว ย้าย DNS ไปยังผู้ให้บริการที่ให้ความซ้ำซ้อนตามค่าเริ่มต้น ผู้ให้บริการที่จริงจังเกือบทุกรายทำ:
- Cloudflare — กำหนด nameserver สองตัวกระจายข้ามเครือข่าย Anycast ทั่วโลกโดยอัตโนมัติเมื่อคุณเพิ่มโดเมน
- AWS Route 53 — hosted zone แต่ละ zone ได้รับ nameserver สี่ตัวข้ามเครือข่าย Route 53 แยก
- Google Cloud DNS / Azure DNS — จัดสรร nameserver หลายตัวข้ามโครงสร้างพื้นฐานอิสระในลักษณะเดียวกัน
ขั้นที่ 2 — ตรวจสอบ (และถ้าจำเป็น แก้ไข) ตัวจับเวลา SOA ของคุณ
- รัน
dig SOA yourdomain.comและอ่านค่า refresh, retry, expire และ minimum-TTL - เปรียบเทียบกับช่วงด้านบน ในกรณีส่วนใหญ่ผู้ให้บริการ DNS ของคุณตั้งค่าเริ่มต้นที่สมเหตุสมผลแล้วและไม่มีอะไรต้องทำ
- ถ้าค่าอยู่นอกช่วง แก้ไขในที่ที่ DNS ของคุณโฮสต์:
- บน managed providers (Cloudflare, Route 53, Google, Azure) SOA ส่วนใหญ่จัดการให้คุณ คุณปรับมันผ่านการตั้งค่า DNS ของผู้ให้บริการ
- บน nameserver ที่รันเอง (BIND, PowerDNS) แก้ไขบรรทัด SOA ในไฟล์ zone โดยตรงและโหลด zone ใหม่ โดยจำไว้ว่าต้องเพิ่ม serial number เพื่อให้รองรับการเปลี่ยนแปลง
ข้อผิดพลาดทั่วไป
- ถือว่า “สองชื่อ” เท่ากับ “สองเครือข่าย” nameserver สองชื่อที่แก้ไขไปยังกล่องหรือ rack เดียวกันเป็นจุดล้มเหลวเดียวในชุดปลอมตัว สิ่งที่สำคัญคือเส้นทางเครือข่ายอิสระ ไม่ใช่จำนวนชื่อ
- คิดว่ามากกว่าดีกว่าเสมอ โดยไม่มีความหลากหลาย nameserver ห้าตัวทั้งหมดบนโฮสต์ที่เปราะบางเดียวไม่ปลอดภัยกว่าหนึ่ง ความหลากหลายชนะจำนวน
- ตั้งตัวจับเวลาเชิงรุกเกินไป การปรับ SOA refresh หรือ minimum-TTL ลงต่ำสุดไม่ทำให้การเปลี่ยนแปลงทันที แค่ทำให้ nameserver ของคุณหนักขึ้นและสามารถทำให้การหยุดทำงานแย่ลง โดยมีประโยชน์จริงน้อยมาก
- ตั้ง
expireต่ำเกินไป ถ้ารองหยุดให้บริการ zone ของคุณเร็วเกินไปในระหว่างการหยุดทำงานของรายการหลัก การกระเพื่อมที่กู้คืนได้กลายเป็นการหยุดทำงานเต็ม เก็บ expire ในช่วงสัปดาห์ - แก้ไข zone ด้วยมือและลืม serial number บน nameserver ที่รันเอง รองรับการเปลี่ยนแปลงเฉพาะเมื่อ SOA serial เพิ่มขึ้น เปลี่ยนระเบียนแต่ปล่อย serial ไว้ และ “การแก้ไข” ของคุณไม่มีวันแพร่กระจาย
- ปล่อย DNS ไว้บนค่าเริ่มต้นพื้นฐานของ registrar โดเมน DNS ในตัวของ registrar บางรายเป็นการตั้งค่าขั้นต่ำเดียว การย้าย DNS ไปยังผู้ให้บริการจริงมักให้ความซ้ำซ้อนและตัวจับเวลา SOA ที่สมเหตุสมผลในการเคลื่อนย้ายเดียว
บรรทัดสุดท้าย
Nameserver และระเบียน SOA ของคุณเป็นรากฐานที่ทุกอย่างอื่นยืนอยู่ nameserver สองตัวบนเครือข่ายที่แยกกันจริงๆ หมายความว่าความล้มเหลวเดียวไม่สามารถทำให้ธุรกิจทั้งหมดของคุณออฟไลน์พร้อมกัน ตัวจับเวลา SOA ที่สมเหตุสมผลหมายความว่าการเปลี่ยนแปลงที่คุณทำเข้าถึงโลกได้รวดเร็ว ทั้งสองฟรีในการทำให้ถูกต้อง ทั้งสองปกติอยู่ในสภาพดีแล้วทันทีที่คุณอยู่บนผู้ให้บริการ DNS ที่เหมาะสม และทั้งสองคุ้มค่าการตรวจสอบสองนาที — เพราะวันที่พวกมันสำคัญคือวันที่คุณแทบไม่สามารถรับผิดชอบให้พวกมันผิดได้
คำถามที่พบบ่อย
ฉันไม่ใช่คนเทคนิค — นี่เป็นสิ่งที่ฉันสามารถจัดการเองได้ไหม?
คุณไม่จำเป็นต้องเข้าใจภายใน DNS ความหลากหลายของ Nameserver มักถูกจัดการให้คุณทันทีที่คุณวางโดเมนบนผู้ให้บริการ DNS จริง (Cloudflare, AWS Route 53, โฮสต์ของคุณ) — พวกมันให้ nameserver สองตัวหรือมากกว่าข้ามเครือข่ายโดยอัตโนมัติ ตัวจับเวลา SOA ปกติถูกตั้งอย่างชาญฉลาดตามค่าเริ่มต้นด้วย งานส่วนใหญ่คือการตรวจสอบสิ่งที่คุณมีอยู่ และถ้าคุณอยู่บนการตั้งค่าที่เปราะบางเดี่ยว ย้ายไปยังผู้ให้บริการที่ให้ความซ้ำซ้อน ส่งส่วนเทคนิคด้านล่างให้คนดูแลเว็บหรือผู้ให้บริการ IT ของคุณ — การแก้ไขฟรี
อะไรคือความแตกต่างระหว่างสองสิ่งที่หน้านี้ตรวจสอบ?
สองส่วนที่เกี่ยวข้องของรากฐานเดียวกัน อันแรก — ความหลากหลายของ nameserver — เกี่ยวกับความยืดหยุ่น: คุณมี nameserver อย่างน้อยสองตัวไหม และพวกมันอยู่บนส่วนต่างๆ ของเครือข่ายจริงๆ เพื่อให้ความล้มเหลวเดียวไม่สามารถทำให้พวกมันทั้งหมดหยุดได้? อันที่สอง — ระเบียน SOA — เกี่ยวกับการกำหนดเวลา: มันเก็บค่านาฬิกาที่บอกส่วนที่เหลือของอินเทอร์เน็ตว่าจะไว้วางใจและ cache คำตอบ DNS ของคุณนานแค่ไหน อันหนึ่งคือ 'อย่าใส่ไข่ทั้งหมดในตะกร้าใบเดียว' อีกอันคือ 'ตั้งตัวจับเวลาเพื่อให้การเปลี่ยนแปลงไหลผ่านอย่างสะอาด'
ฉันมี nameserver สองตัวจากบริษัทเดียวกัน — มันเพียงพอไหม?
ปกติใช่ ถ้าบริษัทนั้นเป็นผู้ให้บริการ DNS ที่จริงจัง ผู้ให้บริการรายใหญ่อย่าง Cloudflare, Google และ AWS รัน nameserver ของพวกมันข้ามเครือข่ายและสถานที่แยกจำนวนมากทั่วโลก ดังนั้นชื่อสองชื่อจากพวกมันนั่งบนโครงสร้างพื้นฐานอิสระจริงๆ — นั่นคือความซ้ำซ้อนแท้จริง กรณีเสี่ยงคือโฮสต์ขนาดเล็กเดียวที่ 'nameserver' ทั้งสองจริงๆ แล้วเป็นกล่องหรือ rack เดียวกัน สำหรับธุรกิจขนาดเล็กส่วนใหญ่ผู้ให้บริการ DNS ที่มีชื่อเสียงเดียวก็เพียงพอ
ค่า SOA 'refresh' หรือ 'expire' ทำอะไรกับธุรกิจของฉันจริงๆ?
นั่นคือตัวจับเวลาที่บอกเซิร์ฟเวอร์ DNS อื่นๆ ว่าจะรอนานแค่ไหนก่อนตรวจสอบระเบียนของคุณใหม่ และนานแค่ไหนที่จะให้บริการพวกมันถ้าไม่สามารถเข้าถึงคุณได้ ตั้งสูงเกินไปและการเปลี่ยนแปลงที่คุณทำ — IP เซิร์ฟเวอร์ใหม่ ผู้ให้บริการอีเมลใหม่ การเปลี่ยนทิศทางฉุกเฉิน — ใช้เวลานานกว่ามากในการเข้าถึงทุกคน ตั้งต่ำเกินไปและ nameserver ของคุณรับ traffic พิเศษที่ไม่จำเป็น ค่าเริ่มต้นที่สมเหตุสมผล (refresh วัดเป็นชั่วโมง expire เป็นสัปดาห์) ทำให้การเปลี่ยนแปลงไหลรวดเร็วในขณะที่ยังแข็งแกร่งในระหว่างการหยุดทำงาน
สิ่งนี้เปลี่ยนเกรดของฉัน และมากแค่ไหน?
ใช่ ทั้งสองส่วนนับต่อคะแนน DNS การมี nameserver น้อยกว่าสองตัวถือว่าเป็นช่องว่างร้ายแรงเพราะเป็นจุดล้มเหลวเดียวสำหรับการปรากฏตัวออนไลน์ทั้งหมดของคุณ SOA ที่กำหนดค่าผิดเป็นปัญหาปานกลางกว่า — มันไม่ทำให้คุณออฟไลน์ แต่ทำให้ความสามารถในการตอบสนองเมื่อมีการเปลี่ยนแปลงช้าลง ทั้งสองฟรีในการแก้ไขและสำหรับธุรกิจส่วนใหญ่อยู่ในสภาพดีแล้วเมื่ออยู่บนผู้ให้บริการ DNS ที่เหมาะสม