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

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

บรรทัด DNS เป็นคุณสมบัติของตัวช่วย

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

นี่คือเหตุผลที่ไฟล์คอนฟิกอาจถูกต้องสำหรับโปรโตคอลแต่ยังล้มเหลวตอนตั้งค่า ความล้มเหลวเป็นของฮุกที่โปรโตคอลไม่เคยเห็น

การเขียนฟิลด์ขยายลงในคอนฟิกหลักแล้วคาดว่าเครื่องมือของโปรโตคอลจะรับมัน ทำให้เกิดความสับสนแบบเดียวกันจากทิศตรงข้าม ตัวแยกวิเคราะห์สองตัวอ่านไฟล์คนละไฟล์

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

อ่านข้อผิดพลาดแรกที่ตัวช่วยพิมพ์

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

wg-quick up wg0
resolvectl status wg0
ip route get 10.66.0.1

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

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

โฮสต์มีตัวแปลงชื่อตัวไหนจริง ๆ

โฮสต์ Linux สมัยใหม่มักรันตัวแปลงชื่อแบบ stub ในเครื่อง ดังนั้นที่อยู่ที่ตัวช่วยติดตั้งจะถูกใช้โดย stub นั้น ไม่ใช่โดยแอปพลิเคชันโดยตรง การแก้ไฟล์ที่สร้างขึ้นด้วยมืออาจดูเหมือนได้ผลจนถึงการเชื่อมต่อครั้งถัดไป เมื่อตัวช่วยเขียนมันใหม่

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

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

การล้างค่าสำคัญพอ ๆ กับการตั้งค่า

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

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

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

บทความที่เกี่ยวข้อง