คุณเจอ connection.gateway-ping-timeout ในกระทู้เกี่ยวกับแล็ปท็อปที่บูตขึ้นก่อนที่เครือข่ายจะใช้งานได้ คุณเพิ่มค่า แล้วมีบางอย่างเปลี่ยนไป การเปลี่ยนแปลงนั้นช่วยด้วยเหตุผลที่คุณคิดหรือไม่เป็นอีกคำถามหนึ่ง คำตอบเริ่มจากสิ่งที่การเปิดใช้งานทำจริง ๆ ขณะที่ตัวจับเวลานั้นเดินอยู่ และจากข้อเท็จจริงที่ว่าการรอนั้นมีจุดจบได้สองแบบ

ตามดูการเชื่อมต่อหนึ่งรายการจากบรรทัดคำสั่ง แล้วความหมายจะชัดเจนขึ้น

ตามดูการเปิดใช้งานหนึ่งครั้ง

เริ่มจากการเชื่อมต่อที่บันทึกไว้ ไม่ใช่ค่าเริ่มต้นทั่วระบบ เพราะนี่เป็นคุณสมบัติรายการเชื่อมต่อ เพิ่ม --show-secrets เฉพาะเมื่อจำเป็นจริง ๆ เท่านั้น ตัวการตั้งค่าเองไม่ใช่ความลับ

nmcli -f connection.id,connection.gateway-ping-timeout connection show
nmcli connection show "Wired connection 1" | grep gateway-ping

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

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

การรอมีจุดจบสองแบบ

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

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

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

สองออบเจ็กต์ หนึ่งการตั้งค่า

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

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show "Office VPN" | grep gateway-ping

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

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

สิ่งที่การรอรับรองไม่ได้

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

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

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

ถ้าเปลี่ยน ก็เขียนเหตุผลไว้

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

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

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

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