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

ทำไมคำสั่งจึงตัดคุณออกได้

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

นั่นคือเหตุผลที่ลำดับสำคัญกว่าคำสั่งเอง เข้าถึงก่อน รีเฟรชทีหลัง เซสชันคอนโซล คอนโซลแบบอนุกรม หรือเพื่อนร่วมงานที่อยู่หน้างาน นับทั้งหมด

กำจัดความผิดพลาดอื่นก่อน

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

tailscale status

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

รีเฟรชด้วยทางเข้าที่สอง

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

sudo tailscale up --force-reauth

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

ทดสอบว่าโหนดให้บริการอะไรจริง

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

tailscale ping 100.101.102.103

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

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