ทำไม DNS ที่ซ้ำซ้อนทางภูมิศาสตร์จึงจำเป็นสำหรับไซต์เล็ก ๆ


31

นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับ DNS การซ้ำซ้อนทางภูมิศาสตร์

เป็นความรู้ทั่วไปอย่างมากที่เซิร์ฟเวอร์ DNS ที่ซ้ำซ้อนทางภูมิศาสตร์ซึ่งตั้งอยู่ในสถานที่ตั้งแยกต่างหากเป็นที่ต้องการอย่างมากเมื่อให้บริการเว็บที่ยืดหยุ่น สิ่งนี้ครอบคลุมในเชิงลึกโดยเอกสารBCP 16แต่เหตุผลที่กล่าวถึงบ่อยที่สุดบางประการ ได้แก่ :

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

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

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

ฉันเข้าใจว่านี่เป็นวิธีปฏิบัติที่ดีที่สุด แต่นี่ดูเหมือนไร้ประโยชน์จริงๆ!


คำตอบ:


33

หมายเหตุ:เนื้อหามีข้อโต้แย้งอ้างถึงความคิดเห็นสำหรับคำตอบทั้งสอง พบข้อผิดพลาดและคำถาม & คำตอบนี้ต้องการการยกเครื่อง

ฉันจะลบการตอบรับออกจากคำตอบนี้ในตอนนี้จนกระทั่งสถานะของคำถาม & คำตอบที่ยอมรับนี้ถูกต้อง (การลบคำตอบนี้จะเป็นการลบความคิดเห็นที่แนบมาด้วยซึ่งไม่ใช่วิธีที่จะไปสู่ ​​IMO ซึ่งอาจกลายเป็นคำตอบของวิกิชุมชนหลังจากการแก้ไขอย่างกว้างขวาง)


ฉันสามารถพูด RFC ที่นี่และใช้คำศัพท์ทางเทคนิค แต่นี่เป็นแนวคิดที่ทำให้คนจำนวนมากพลาดที่ปลายทั้งสองของสเปกตรัมความรู้และฉันจะพยายามตอบคำถามนี้ให้กับผู้ชมที่กว้างขึ้น

ฉันเข้าใจว่านี่เป็นวิธีปฏิบัติที่ดีที่สุด แต่นี่ดูเหมือนไร้ประโยชน์จริงๆ!

อาจดูเหมือนไม่มีจุดหมาย ... แต่จริงๆแล้วมันไม่ได้!

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

นี่คือที่เราพบปัญหาเนมเซิร์ฟเวอร์เดียว:

  • ระยะเวลาการลงโทษเป็นไปตามธรรมชาติของการดำเนินงานมักจะมีค่ามากกว่าหรือเท่ากับระยะเวลาของปัญหาเครือข่าย ในเกือบทุกกรณีมันจะยิ่งใหญ่ขึ้นไปสูงสุดไม่เกินห้านาที
  • หากเซิร์ฟเวอร์ DNS เดียวของคุณเข้าสู่กล่องการลงโทษการสืบค้นที่เกี่ยวข้องกับความล้มเหลวนั้นจะสิ้นสุดลงอย่างสมบูรณ์ในช่วงเวลาเต็ม
  • การขัดจังหวะการกำหนดเส้นทางสั้น ๆ เกิดขึ้นบนอินเทอร์เน็ตมากกว่าที่คนส่วนใหญ่รับรู้ การส่งใหม่ TCP / IP และการป้องกันแอปพลิเคชันที่คล้ายกันช่วยให้สามารถซ่อนสิ่งนี้จากผู้ใช้ได้ดี แต่ก็หลีกเลี่ยงไม่ได้ อินเทอร์เน็ตทำงานได้ดีในการกำหนดเส้นทางความเสียหายส่วนใหญ่เนื่องจากการป้องกันที่สร้างขึ้นในมาตรฐานต่าง ๆ ที่สนับสนุนเครือข่ายสแต็ค ... แต่ยังรวมถึงสิ่งที่สร้างขึ้นใน DNS และการมีเซิร์ฟเวอร์ DNS ที่ซ้ำซ้อนทางภูมิศาสตร์ ส่วนหนึ่งของที่

เรื่องย่อสั้น ๆ ถ้าคุณไปกับเซิร์ฟเวอร์ DNS เดียว (ซึ่งรวมถึงการใช้ที่อยู่ IP เดียวกันหลายครั้งทั่วทั้งNSระเบียน) สิ่งนี้จะเกิดขึ้น มันจะเกิดขึ้นมากกว่าที่คุณรู้ แต่ปัญหาจะเกิดขึ้นเป็นระยะ ๆ ว่าอัตราความล้มเหลว 1) การรายงานต่อคุณ 2) การทำซ้ำและ 3) การเชื่อมโยงกับปัญหาเฉพาะนี้อยู่ใกล้มาก ศูนย์. พวกเขาค่อนข้างจะเป็นศูนย์ถ้าคุณเข้ามาถามคำถามนี้ไม่ทราบว่ากระบวนการนี้ทำงานอย่างไร แต่โชคดีที่ไม่ควรเป็นเช่นนี้!

สิ่งนี้จะรบกวนคุณหรือไม่ มันไม่ใช่สถานที่ที่ฉันจะพูด บางคนไม่สนใจปัญหาการขัดจังหวะห้านาทีเลยและฉันไม่ได้มาที่นี่เพื่อโน้มน้าวคุณ สิ่งที่ฉันamที่นี่เพื่อโน้มน้าวให้คุณคือการที่คุณทำในสิ่งที่เป็นจริงเสียสละโดยเฉพาะการทำงานเซิร์ฟเวอร์ DNS เดียวและในทุกสถานการณ์


1
บางระบบยังขึ้นอยู่กับการค้นหา DNS ไม่สิ้นหวังอย่างสิ้นหวัง เป็นจุดทั่วไปของความล้มเหลวที่ขาดความซ้ำซ้อนที่ทำให้เกิดปัญหามาก
artifex

18
จดหมายที่ถูกเก็บในแคชเป็นตัวอย่างคลาสสิกของวิธีที่คุณสามารถยิงตัวเองในขณะที่ DNS ลงไปในเวลาเดียวกันกับส่วนที่เหลือของโครงสร้างพื้นฐานของคุณ ด้วย DNS ที่ซ้ำซ้อนเมื่อไซต์ของคุณไม่ทำงานให้ส่งจดหมายเพียงรอคิวบนเซิร์ฟเวอร์ของผู้ส่งและส่งมอบหลังจากการกู้คืน ด้วย DNS เดียวอีเมลขาเข้าที่ส่งขณะที่คุณหยุดทำงานมักจะถูกปฏิเสธโดยเซิร์ฟเวอร์ของผู้ส่งที่ไม่มีโดเมนหรือข้อผิดพลาดที่คล้ายกัน อีเมลขาออกที่ส่งมาจากอุปกรณ์ต่อพ่วง (ยังคงขึ้น) ระบบอาจยังล้มเหลวเนื่องจากโดเมนของผู้ส่งในขณะนี้ไม่สามารถแก้ไข
MadHatter สนับสนุน Monica

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

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

@ ไม่มีคุณสามารถพูดคำนั้นได้อีกเล็กน้อย? ฉันมีปัญหาในการพิจารณาว่าคุณหมายถึงเซิร์ฟเวอร์จำนวนมากในคลัสเตอร์แบบเรียกซ้ำหรือเซิร์ฟเวอร์ที่มีสิทธิ์จำนวนมาก ช่วงเวลาการแคชลบ 5 ม. ต่อเซิร์ฟเวอร์ดังนั้นคุณจะต้องได้รับคำขอจำนวนมากเพื่อรับแคชลบระเบียนเดียวในคลัสเตอร์แบบเรียกใช้ซ้ำทั้งหมดทำให้เกิดความล้มเหลวมากยิ่งขึ้น
Andrew B

-1

OP ถาม:

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

เป็นคำถามที่ดีมาก!

คำตอบที่ดีที่สุดคือการให้โดยศาสตราจารย์แดเนียลเจ Bernstein, PhD เบิร์กลีย์ที่ไม่ได้เป็นเพียงมีชื่อเสียงระดับโลกนักวิจัยนักวิทยาศาสตร์และนักถอดรหัส แต่ยังได้เขียนชุด DNS ที่นิยมมากและเป็นที่รู้จักในฐานะที่ได้รับdjbdns ( ปล่อยตัวเมื่อ 2001- 02-11ยังคงเป็นที่นิยมมาจนถึงทุกวันนี้)

http://cr.yp.to/djbdns/third-party.html (2003-01-11)

ค่าใช้จ่ายและผลประโยชน์ของบริการ DNS บุคคลที่สาม

ให้ความสนใจกับส่วนที่สั้นและกระชับนี้:

ข้อโต้แย้งที่ผิดพลาดสำหรับบริการ DNS บุคคลที่สาม

...

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

ดังนั้นคำตอบดั้งเดิมสำหรับคำถามนี้จึงไม่ผิดเลย

ใช่เครือข่ายชั่วคราวขาดหายไปนานสองถึงสามวินาทีจะเกิดขึ้นทุก ๆ คราว ไม่ความล้มเหลวในการแก้ไขชื่อระหว่างการหยุดทำงานดังกล่าวจะไม่ถูกแคชเป็นเวลาหลายนาที (ไม่เช่นนั้นแม้จะมีการตั้งค่าที่ดีที่สุดของเนมเซิร์ฟเวอร์ที่เชื่อถือได้และมีประสิทธิภาพสูงในโลกก็ไม่ได้ช่วยอะไร)

ซอฟต์แวร์ใด ๆ ที่ใช้แนวทางอนุรักษ์นิยมอย่างเสรีสูงถึง 5 นาทีจาก 1998-03 RFCเพื่อแคชความล้มเหลวจะถูกทำลายโดยการออกแบบเพียงอย่างเดียวและการมีเซิร์ฟเวอร์ทางภูมิศาสตร์ซ้ำซ้อนจะไม่ทำให้คุณผิดหวัง

ในความเป็นจริงตามเวลาแคช DNS หมดเวลานานเท่าไหร่? ใน BIND SERVFAILเงื่อนไขจะไม่ถูกแคชแบบดั้งเดิมก่อนปี 2014 และตั้งแต่ปี 2015 จะถูกแคชตามค่าเริ่มต้นเป็นเวลา1 วินาทีน้อยกว่าสิ่งที่ผู้ใช้โดยเฉลี่ยจะถึงตัวแก้ปัญหาหมดเวลาและกดปุ่มรีเฟรชนั้นอีกครั้ง .

(และก่อนที่เราจะไปถึงจุดที่ระบุว่าควรพยายามแคชการแก้ปัญหาหรือไม่ก็ต้องใช้แพ็คเก็ตที่ลดลงสองครั้งแม้กระทั่ง SERVFAIL แรกจะเกิดขึ้นในครั้งแรก)

ยิ่งไปกว่านั้นผู้พัฒนา BIND ยังใช้เพดานสำหรับคุณสมบัติเพียง 30 วินาทีซึ่งแม้แต่เพดาน (เช่นมูลค่าสูงสุดที่คุณสมบัติจะยอมรับได้) นั้นต่ำกว่าข้อเสนอแนะ 5 นาที (300 วินาที) ถึง 10 เท่า จาก RFC ทำให้มั่นใจได้ว่าแม้ผู้ดูแลระบบที่มีเจตนาดีที่สุด (ของผู้ใช้ที่ใช้สายตา) จะไม่สามารถยิงผู้ใช้ของตนเองได้


นอกจากนี้ยังมีสาเหตุหลายประการที่คุณอาจไม่ต้องการใช้บริการ DNS บุคคลที่สาม - อ่านdjbdns/third-party.htmlรายละเอียดทั้งหมดและทำการเช่าเซิร์ฟเวอร์พิเศษเล็ก ๆ เพียงเพื่อให้ DNS สามารถจัดการได้ด้วยตัวเองโดยไม่จำเป็น นอกเหนือจาก BCP 16 นั้นมีอยู่สำหรับความพยายามดังกล่าว

ในประสบการณ์ "ประวัติย่อ" ส่วนบุคคลของฉันในการเป็นเจ้าของและตั้งค่าชื่อโดเมนตั้งแต่อย่างน้อยปี 2002 ฉันสามารถบอกคุณได้อย่างแน่นอนและซื่อสัตย์ว่าฉันโดยรวมแล้วจริง ๆ แล้วมีการหยุดทำงานที่สำคัญของโดเมนต่าง ๆ เนื่องจากการทำงานอย่างมืออาชีพ เซิร์ฟเวอร์บุคคลที่สามของผู้ให้บริการลงทะเบียนและผู้ให้บริการโฮสติ้งของฉันซึ่งผู้ให้บริการครั้งละหนึ่งรายและหลายปีที่ผ่านมามีเหตุการณ์ของพวกเขาไม่สามารถใช้งานได้ทำให้โดเมนของฉันล่มโดยไม่จำเป็นในเวลาเดียวกัน HTTP และ SMTP สำหรับโดเมนที่กำหนดนั้นโฮสต์จาก) สามารถเข้าถึงได้อย่างสมบูรณ์ โปรดทราบว่าการหยุดทำงานเหล่านี้เกิดขึ้นกับผู้ให้บริการอิสระที่ได้รับการยอมรับและเป็นมืออาชีพหลายรายและไม่เคยเกิดเหตุการณ์ที่แยกจากกันและเกิดขึ้นทุกปีและเป็นบริการของบุคคลที่สามอยู่นอกเหนือการควบคุมของคุณ ; มันเกิดขึ้นเพียงไม่กี่คนที่เคยพูดถึงมันในระยะยาว


ในระยะสั้น:

DNS ที่ซ้ำซ้อนทางภูมิศาสตร์นั้นไม่จำเป็นสำหรับไซต์เล็ก ๆ

หากคุณกำลังเรียกใช้บริการทั้งหมดของคุณจากที่อยู่ IP เดียวกันการเพิ่ม DNS ตัวที่สองน่าจะส่งผลให้เกิดความล้มเหลวเพิ่มเติมและเป็นอันตรายต่อความพร้อมใช้งานอย่างต่อเนื่องของโดเมนของคุณ ว่า "ปัญญา" ของมักจะต้องทำอย่างไรในสถานการณ์ใด ๆ เท่าที่เป็นตำนานที่นิยมมากแน่นอน; ถูกจับ

แน่นอนว่าคำแนะนำจะแตกต่างกันโดยสิ้นเชิงหากบริการบางอย่างของโดเมนไม่ว่าจะเป็นเว็บ (HTTP / HTTPS) อีเมล (SMTP / IMAP) หรือเสียง / ข้อความ (SIP / XMPP) ให้บริการโดยบุคคลที่สามแล้ว ผู้ให้บริการซึ่งในกรณีนี้การกำจัด IP ของคุณในจุดเดียวของความล้มเหลวจะเป็นวิธีที่ฉลาดมากและความซ้ำซ้อนทางภูมิศาสตร์จะมีประโยชน์มาก

ในทำนองเดียวกันหากคุณมีเว็บไซต์ยอดนิยมที่มีผู้เข้าชมนับล้านและต้องการความยืดหยุ่นและการป้องกัน DNS ที่ซ้ำซ้อนทางภูมิศาสตร์ตาม BCP 16 อย่างรู้เท่าทันแล้ว ... คุณอาจไม่ได้ใช้เซิร์ฟเวอร์ / ไซต์เดียวสำหรับเว็บ / อีเมล / เสียง / ข้อความอยู่แล้วดังนั้นคำถามและคำตอบนี้จึงใช้ไม่ได้ โชคดี!


ในขณะที่ฉันมีความสุขมากกว่าที่จะเชิญมืออาชีพที่จัดตั้งขึ้นเพื่อตรวจสอบคำตอบทั้งสอง แต่ฉันได้รับมากกว่าเพียงเล็กน้อยของละครออกจากคำฟุ่มเฟือยนี้ ดังนั้นในขณะที่ฉันจะยอมรับความคิดเห็นใดก็ตามที่มีการแสดงความคิดเห็นโดยฝ่ายที่มีความคิดเห็นที่ฉันไว้วางใจมากกว่าของคุณหรือของฉัน
Andrew B

ฉันไม่แน่ใจว่าความคิดเห็นของคุณหมายถึงอะไร คุณตอบคำถามของคุณเองด้วยการโต้แย้งที่ไม่ถูกต้องตามจุดที่แสดงในคำตอบของฉันอ้างโดยตรงจาก DJB คำตอบของคุณไม่ถูกต้อง เช่นนี้คุณกำลังก่อความเสียหายให้กับชุมชนโดยการสนับสนุนตำนาน หากคุณต้องการที่จะยกเลิกคำตอบของคุณและยอมรับของฉันฉันยินดีที่จะยอมรับการวิจารณ์ที่สร้างสรรค์ / แก้ไขบน
cnst

2
ซอฟต์แวร์ที่ดีจะรับรู้การตอบสนองของ SERVFAIL (สร้างโดยเซิร์ฟเวอร์แบบเรียกซ้ำหากไม่สามารถเข้าถึงเซิร์ฟเวอร์ที่เชื่อถือได้) และจัดการอย่างเหมาะสมเช่นโดยการจัดคิวเมล SMTP น่าเสียดายที่ซอฟต์แวร์ทั้งหมดนั้นไม่ดี มีอาจารย์บางคนที่มีแนวทางที่ดันทุรังในการใช้โปรโตคอลเป็นที่รู้จักกันเพื่อทำให้เกิดปัญหาการทำงานร่วมกันอย่างมีนัยสำคัญ ...
Alnitak

2
สถานะปัจจุบันของอุตสาหกรรมและสิ่งที่อยู่ในป่านั้นมีความเกี่ยวข้องมากกว่าสิ่งใดตั้งแต่ปี 2003 เป็นต้นไปในปี 2544 นี่คือเหตุผลว่าทำไมความคิดเห็นของบุคคลที่สามที่เกี่ยวข้องมีค่ามากกว่าการตัดสินโดยบรรณาธิการจากวันที่แม้ว่าอาจมี อาจรอดชีวิตจากการทดสอบเวลา Alnitak ชี้ให้เห็นว่าหน่วยความจำของฉันเกี่ยวกับวิธีการจัดการกรณีนี้เป็นข้อผิดพลาดและฉันตอกย้ำว่าหน่วยความจำที่มี verbiage จาก RFC 2308 นั้นผิดพลาดอย่างแน่นอน การหดตัวจะตามมาในสัปดาห์นี้เมื่อฉันหาเวลา
Andrew B

2
หมายเหตุด้านข้าง: ฉันเชื่อใจในการที่ไม่ได้มีส่วนร่วมกับคุณเพื่อรับทราบข้อผิดพลาดจริง ๆ ในส่วนของฉัน แต่ดูเหมือนว่าเรากลับเข้าสู่ดินแดนของการทำสงครามแนวชายแดน ฉันขอโทษสำหรับการเผยแพร่ข้อมูลที่ผิดและยอมรับข้อผิดพลาด แต่ฉันไม่ต้องการมีส่วนร่วมกับคุณอีกต่อไป (และฉันจะไม่เป็นอย่างที่คุณมีประวัติที่นี่)
Andrew B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.