Score:0

การตอบสนองแบบสุ่มจากเซิร์ฟเวอร์ที่อนุญาต DNS เป็นเรื่องปกติ

ธง ng

เรากำลังพยายามตั้งค่า ให้เข้ารหัส การออกใบรับรองโดยใช้ ผู้จัดการใบรับรอง และตัวแก้ dns01 เรากำลังใช้ ดรีมโฮสต์ ในฐานะผู้ให้บริการ DNS ของเรา และเราได้สร้างองค์ประกอบกาวที่เชื่อมโยงระหว่าง RFC-2136 cert-manager และ Dreamhost API

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

นี่เป็นสิ่งที่คาดหวังจากเซิร์ฟเวอร์ที่อนุญาต DNS หรือไม่ หรือนั่นคือสิ่งที่เราควรแจ้งกับผู้ให้บริการ DNS ของเรา

การร้องเป็นตัวอย่างของสถานการณ์ดังกล่าว (สำหรับตอนนี้ โดเมน sepcific ถูกดึงกลับ) อย่างที่เห็น

ขุด @ns1.dreamhost.com _acme-challenge.keycloak.tenant-a.k8s-dev.redacted.redacted TXT 

; <<>> DiG 9.16.15-Ubuntu <<>> @ns1.dreamhost.com _acme-challenge.keycloak.tenant-a.k8s-dev.redacted.redacted TXT
; (พบ 1 เซิร์ฟเวอร์)
;; ตัวเลือกส่วนกลาง: +cmd
;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY สถานะ: NXDOMAIN รหัส: 38336
;; ธง: qr aa rd; คำถาม: 1, คำตอบ: 0, ผู้มีอำนาจ: 1, เพิ่มเติม: 1
;; คำเตือน: มีการร้องขอการเรียกซ้ำ แต่ไม่สามารถใช้ได้

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1232
;; ส่วนคำถาม:
;_acme-challenge.keycloak.tenant-a.k8s-dev.redacted.redacted ใน TXT

;; ส่วนผู้มีอำนาจ:
แก้ไข 300 ใน SOA ns1.dreamhost.com hostmaster.dreamhost.com. 2022060209 18661 600 1814400 300

;; เวลาสืบค้น: 20 มิลลิวินาที
;; เซิร์ฟเวอร์: 162.159.26.14#53(162.159.26.14)
;; เมื่อ: czw cze 02 19:40:17 CEST 2022
;; ขนาดผงชูรส rcvd: 152

ขุด @ns1.dreamhost.com _acme-challenge.keycloak.tenant-a.k8s-dev.redacted.redacted TXT 

; <<>> DiG 9.16.15-Ubuntu <<>> @ns1.dreamhost.com _acme-challenge.keycloak.tenant-a.k8s-dev.redacted.redacted TXT
; (พบ 1 เซิร์ฟเวอร์)
;; ตัวเลือกส่วนกลาง: +cmd
;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY, สถานะ: NOERROR, id: 41439
;; ธง: qr aa rd; คำถาม: 1, คำตอบ: 1, ผู้มีอำนาจ: 0, เพิ่มเติม: 1
;; คำเตือน: มีการร้องขอการเรียกซ้ำ แต่ไม่สามารถใช้ได้

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1232
;; ส่วนคำถาม:
;_acme-challenge.keycloak.tenant-a.k8s-dev.redacted.redacted ใน TXT

;; ส่วนคำตอบ:
_acme-challenge.keycloak.tenant-a.k8s-dev.redacted.redacted 300 IN TXT "Uyr1nHC1CRWQcmOWDvObc4RMd-mNhKaE9bbNZTf3L2k"

;; เวลาสืบค้น: 16 มิลลิวินาที
;; เซิร์ฟเวอร์: 162.159.26.14#53(162.159.26.14)
;; เมื่อ: czw cze 02 19:40:18 CEST 2022
;; ขนาดผงชูรส rcvd: 144

อย่างที่เห็น

  • การประทับเวลาของคำตอบเกือบจะเท่ากัน
  • คำตอบหนึ่งมีระเบียน TXT ส่วนอีกรายการไม่มี
  • เซิร์ฟเวอร์ DNS เดียวกัน (162.159.26.14 - ns1.dreamhost.com) กำลังตอบสนอง และฉันเชื่อว่านี่เป็นเซิร์ฟเวอร์ที่เชื่อถือได้
Appleoddity avatar
ng flag
เป็นสิ่งที่คาดหวัง หากมีการจำลองแบบล่าช้าหรือ TTL ที่ต้องหมดอายุ คุณรอนานแค่ไหน? นอกจากนี้ คุณได้ลองสอบถามเซิร์ฟเวอร์ DNS แต่ละเซิร์ฟเวอร์โดยตรงเพื่อระบุเซิร์ฟเวอร์ที่มีหรือไม่มีบันทึกเพื่อยืนยันว่าสิ่งที่คุณสงสัยว่าเป็นจริงหรือไม่
Patrick Mevzek avatar
cn flag
@Appleoddity "เป็นสิ่งที่คาดหวัง หากมีความล่าช้าในการจำลองแบบหรือ TTL ที่ต้องหมดอายุ " นั่นไม่ได้เข้ามาเล่นบนเซิร์ฟเวอร์ที่เชื่อถือได้ อย่างน้อยก็ไม่ใช่ส่วน TTL สำหรับ "การจำลองแบบ" ขึ้นอยู่กับวิธีการกำหนดค่าในชุดเนมเซิร์ฟเวอร์ที่มีสิทธิ์ แต่ผู้ให้บริการ DNS ที่ดีควรรับประกันความสอดคล้องที่ไม่แน่นอนในเวลาไม่กี่นาทีหากไม่ใช่วินาที
Patrick Mevzek avatar
cn flag
"ด้วยสองคำขอที่ตามมา คำขอหนึ่งตอบกลับมา และคำขออื่นๆ ก็ไม่คืนคำตอบ" คุณสามารถแสดงคำขอที่กำลังทำอยู่ได้หรือไม่? ดีกว่าแม้จะมีชื่อจริงที่เกี่ยวข้อง? คุณได้ตรวจสอบการกำหนดค่า DNS ของคุณใน DNSViz แล้วหรือยัง
user1686 avatar
fr flag
โปรดทราบว่าเซิร์ฟเวอร์ "เดียวกัน" สามารถแคสต์ภายในและ/หรือโหลดบาลานซ์ไปยังโฮสต์อิสระหลายโฮสต์ ซึ่งบางโฮสต์อาจซิงค์กับฐานข้อมูล DNS ที่เชื่อถือได้ของ Dreamhost ในขณะที่เซิร์ฟเวอร์อื่นอาจไม่ซิงค์กัน
AGrzes avatar
ng flag
@user1686 ฉันคิดว่าอาจเป็นกรณีนี้ - โดยเฉพาะอย่างยิ่งหลังจากที่ฉันตรวจสอบจากประเทศอื่น (โดยใช้ cloud VPS) ฉันได้รับคำตอบในรูปแบบที่แตกต่างกันคุณช่วยขยายความคิดเห็นเป็นคำตอบได้ไหม กลไกการอธิบายโดยทั่วไปโดยที่เซิร์ฟเวอร์ DNS ที่เชื่อถือได้เพียงเครื่องเดียวอาจเป็นกลุ่มของเซิร์ฟเวอร์ที่ไม่ซิงค์กัน
Score:1
ธง fr

เซิร์ฟเวอร์ DNS เดียวกัน (162.159.26.14 - ns1.dreamhost.com) กำลังตอบสนอง และฉันเชื่อว่านี่เป็นเซิร์ฟเวอร์ที่เชื่อถือได้

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

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

หลังจากที่ฉันตรวจสอบจากประเทศอื่น (โดยใช้ cloud VPS) ฉันได้รับคำตอบในรูปแบบที่แตกต่างกัน

ในระดับที่กว้างขึ้น เมื่อทำการสืบค้นจากสถานที่ต่างๆ BGP anycast อาจนำคุณไปสู่คลัสเตอร์ที่แตกต่างกันโดยสิ้นเชิง ตัวอย่างที่ดีคือตัวแก้ไข DNS สาธารณะหรือเซิร์ฟเวอร์รูท – มีหลายอินสแตนซ์ของ 1.1.1.1 ทั่วโลก และมีอินสแตนซ์ของ "f.root-servers.net" มากมายหาก Dreamhost ใช้ anycast เพื่อโฮสต์ "ns1" ที่ตำแหน่งที่ตั้งทางกายภาพหลายแห่ง (ซึ่งอาจทำเพื่อลดเวลาแฝง) ก็มีโอกาสมากขึ้นที่จะไม่ซิงค์ในช่วงเวลาสั้นๆ หลังจากที่คุณทำการเปลี่ยนแปลง (นั่นคือพื้นที่หนึ่งที่ "การแพร่กระจาย DNS" ไม่ใช่ โกหก.)

เซิร์ฟเวอร์ DNS จำนวนมากรองรับบริการพิเศษ ชื่อโฮสต์.bind และ/หรือ id.เซิร์ฟเวอร์ คำถามที่พวกเขาตอบกลับโดยใช้ชื่อบุคคล ลองสิ่งนี้จากสถานที่ต่างๆ:

ขุด + สั้น @ ns1.dreamhost.com hostname.bind txt ความวุ่นวาย

แต่โดยรวมแล้ว ไม่มีสิ่งที่กล่าวมาข้างต้นเปลี่ยนแปลงสิ่งต่างๆ â ปัญหาของคุณไม่แตกต่างจากการแยกเซิร์ฟเวอร์จริง ๆ และทำให้เซิร์ฟเวอร์ซิงค์กัน ตัวอย่างเช่น แม้ว่าคุณจะมีเซิร์ฟเวอร์ ns1/ns2/ns3 ธรรมดาโดยใช้การจำลองแบบ DNS AXFR แบบดั้งเดิม แต่เมื่อใดก็ตามที่ข้อมูลใหม่ถูกโหลดเข้าสู่เซิร์ฟเวอร์หลัก อาจใช้เวลาสองสามวินาทีในการส่งการแจ้งเตือนไปยังแบบจำลองและเพื่อให้พวกเขาถ่ายโอน การเปลี่ยนแปลง รีโซลเวอร์ที่กำลังดูเรกคอร์ด NS ของคุณไม่รู้เรื่องนี้เลย และอาจสุ่มเลือกเซิร์ฟเวอร์ที่มีข้อมูลใหม่อยู่แล้วหรือเซิร์ฟเวอร์ที่ไม่มี

ดังนั้นไม่ว่าโฮสต์ DNS ของคุณจะทำงานอย่างไรและมีเซิร์ฟเวอร์กี่เครื่อง คุณไม่ควรคาดหวังให้การอัปเดตเกิดขึ้นทันที 100% ค้นหาว่าผู้ให้บริการเผยแพร่เวลาที่คาดไว้หรือเพียงแค่รอ 5 หรือ 10 วินาทีโดยพลการ

AGrzes avatar
ng flag
ฉันจะยอมรับคำตอบนี้ในบางครั้งหากไม่มีอะไรเพิ่มเติมในประเด็นนี้สิ่งหนึ่งคือสิ่งที่เราพบคือการตอบสนอง DNS ไม่เสถียรเป็นเวลาหลายนาที - เป็นการยากที่จะบอกได้อย่างแน่ชัด แต่โดยปกติแล้วจะใช้เวลาไม่กี่ชั่วโมง การตรวจสอบ DNS จะสำเร็จโดยเซิร์ฟเวอร์ทั้งหมดส่งคืนบันทึกที่ถูกต้อง - หรือโดยส่งคืนลำดับที่ถูกต้องยาวพอ บันทึกโดยบังเอิญ ดังนั้น ไม่ใช่ว่าฉันคาดหวังให้มันทำงานทันที แต่ฉันหวังว่าจะซิงค์เซิร์ฟเวอร์ที่มีสิทธิ์ให้ทำงานได้ภายใน 15 นาที

โพสต์คำตอบ

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