ทำไม MagicDNS จึงแก้ชื่ออุปกรณ์ได้แต่ไม่แกชื่อโฮสต์ของสำนักงาน
MagicDNS ตั้งชื่อให้อุปกรณ์ใน tailnet ไม่ใช่โฮสต์ในโซนสำนักงานของคุณ DNS แบบแยกส่วนพร้อมตัวแก้ไขและเส้นทางที่เข้าถึงได้คือสิ่งที่ทำให้ชื่อสำนักงานตอบกลับ
MagicDNS ตั้งชื่อให้ทุกอุปกรณ์ใน tailnet โดยชื่อนั้นมาจากชื่อเครื่องของอุปกรณ์และโดเมน DNS ของ tailnet ชื่อนี้สร้างโดย Tailscale และตอบกลับผ่านเส้นทางตัวแก้ไขของ Tailscale ชื่อโฮสต์ของสำนักงานอย่าง files.office.example อยู่ในโซนที่ Tailscale ไม่เคยเขียน ดังนั้นการเปลี่ยนชื่ออุปกรณ์จึงสร้างชื่อนั้นไม่ได้ ชื่อสองชุดอยู่ร่วมกันเพียงแต่มีเจ้าของต่างกัน
กลไกนั้นอยู่เบื้องหลังรายงานที่พบบ่อยมาก โฮสต์ของ Tailscale ตอบกลับ แต่เซิร์ฟเวอร์ไฟล์ยังคงคืนค่าความผิดพลาดในการแก้ชื่อ
สองเนมสเปซ สองเจ้าของ
ชื่ออุปกรณ์ถูกสร้างจากชื่อโฮสต์ของเครื่องเอง การชนกันได้รับการแก้ไขโดย Tailscale และผลลัพธ์อาศัยอยู่ใต้โดเมน tailnet โซนสำนักงานได้รับการดูแลโดยผู้ที่ดูแลตัวแก้ไขของสำนักงาน โดยมีเรกคอร์ดที่สร้างโดยผู้ดูแลระบบหรือการลงทะเบียนแบบไดนามิก ชื่อสั้นปิดบังความแตกต่าง files อาจเป็นการขยายคำต่อท้ายการค้นหาที่ DNS ของสำนักงานตอบ อุปกรณ์ใน tailnet หรือไม่มีอะไรเลย การสอบถามชื่อเต็มแสดงว่าระบบใดตอบจริง
การเปลี่ยนชื่อเครื่องของเราเตอร์ซับเน็ตไม่ส่งผลต่อโซนสำนักงาน มันเปลี่ยนชื่ออุปกรณ์ Tailscale หนึ่งเครื่องและปล่อยเรกคอร์ดบนเซิร์ฟเวอร์สำนักงานไว้ไม่แตะต้อง นั่นคือเหตุผลที่เปลี่ยนชื่อแล้วลองใหม่ไม่เคยตรงกัน
ชี้โซนสำนักงานไปที่ตัวแก้ไขของมัน
DNS แบบแยกส่วนของ Tailscale ส่งคำถามสำหรับโดเมนที่เลือกไปยังเซิร์ฟเวอร์ชื่อที่คุณระบุ และอย่างอื่นเป็นไปตามนโยบายที่เหลือ เพิ่มโดเมนที่ตัวแก้ไขของสำนักงานให้บริการจริง ไม่ใช่คำต่อท้ายการค้นหาที่คุณพิมพ์โดยบังเอิญ คำต่อท้ายการค้นหาบอกไคลเอนต์ว่าต้องต่ออะไร แต่ไม่ได้บอกตัวแก้ไขว่าต้องดูที่ไหน การตั้งค่าสองอย่างนี้ดูคล้ายกันในคอนโซลแต่ทำงานต่างกันโดยสิ้นเชิง
เซิร์ฟเวอร์ชื่อแบบจำกัดต้องมีอำนาจสำหรับโดเมนที่เกี่ยวข้อง มิฉะนั้นคำตอบจะเป็นเพียงการอ้างอิงไม่ใช่ที่อยู่
การเข้าถึงมาก่อนการแก้ชื่อ
ไคลเอนต์ต้องเข้าถึงเซิร์ฟเวอร์ชื่อนั้นด้วย สำหรับตัวแก้ไขบน LAN ส่วนตัว เส้นทางซับเน็ตต้องถูกประกาศและยอมรับ นโยบายการเข้าถึงต้องอนุญาตคำถาม และต้องมีเส้นทางกลับ ที่อยู่ DNS ที่ถูกต้องในคอนโซลผู้ดูแลพิสูจน์เพียงว่าบันทึกการตั้งค่าแล้ว หากแพ็กเก็ตไปไม่ถึงตัวแก้ไข อาการคือหมดเวลา ซึ่งดูแตกต่างจากคำตอบที่มีอำนาจว่าไม่มีเรกคอร์ดนั้น
ความแตกต่างนั้นใช้วินิจฉัย การหมดเวลาชี้ไปที่การกำหนดเส้นทางหรือนโยบาย ส่วนคำตอบปฏิเสธทันทีชี้ไปที่เรกคอร์ดหรือโซน อ่านว่าคุณได้แบบไหนก่อนเปลี่ยนการตั้งค่า DNS ใด ๆ
แยกความล้มเหลวของชื่อออกจากความล้มเหลวของบริการ
หากทรัพยากรตอบที่ที่อยู่ส่วนตัวแต่ไม่ตอบด้วยชื่อโฮสต์ การสืบสวนยังอยู่ที่ DNS หากทั้งสองอย่างใช้ไม่ได้ ให้แก้การกำหนดเส้นทางหรือบริการก่อน เพราะชื่อที่แก้ไปยังที่อยู่ที่เข้าถึงไม่ได้ไม่ใช่ความคืบหน้า สอบถามชื่อเต็มและบันทึกว่าเซิร์ฟเวอร์ใดตอบ บน macOS เครื่องมือบรรทัดคำสั่งบางตัวใช้เส้นทางต่างจากแอปพลิเคชันทั่วไปดังนั้นเทอร์มินัล dig และเบราว์เซอร์อาจเห็นไม่ตรงกันเกี่ยวกับชื่อเดียวกัน
ทำการทดสอบซ้ำโดยเลือกโหนดทางออกหากเป็นโหมดปกติของอุปกรณ์ การจัดการ DNS ของโหนดทางออกแตกต่างจากการตั้งค่าโดยไม่มีโหนดทางออก และการทดสอบในโหมดเดียวอาจพลาดความล้มเหลวที่ผู้ใช้เห็นจริง
บันทึกโซน ที่อยู่ของตัวแก้ไข และเส้นทางที่นำคำถามไป สามอย่างนี้อธิบายความประหลาดใจของ MagicDNS ส่วนใหญ่ได้โดยไม่ต้องเปลี่ยนชื่ออีกรอบ