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

ไฟล์ที่นำเข้าไม่ใช่โปรไฟล์ที่บันทึกไว้

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

เริ่มด้วยรายการแบบอ่านอย่างเดียวและเลือก VPN ที่ต้องการด้วยตัวระบุแทนที่จะเป็นป้ายชื่อ

nmcli -f NAME,UUID,TYPE connection show

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

ตำแหน่งของ keyfile ไม่ได้หมายถึงสิ่งเดียวกัน

ด้วยปลั๊กอิน keyfile แบบเนทีฟ ไฟล์การเชื่อมต่อสามารถปรากฏในสามไดเรกทอรี และความแตกต่างระหว่างไฟล์เหล่านั้นคือความคงอยู่ ไม่ใช่ความสะดวก

LocationRole
/etc/NetworkManager/system-connections/Administrator-owned persistence
/usr/lib/NetworkManager/system-connections/Package-supplied defaults, replaced on upgrade
/run/NetworkManager/system-connections/Runtime state, regenerated and not durable

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

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

เมื่อ Netplan เป็นเจ้าของความคงอยู่

บน Ubuntu การผสานรวม NetworkManager ที่อธิบายในเอกสารของ Netplan ซึ่งมีให้ตั้งแต่ 23.10 เปลี่ยนตำแหน่งที่สำเนาคงทนอาศัยอยู่ สำหรับการเชื่อมต่อที่ไม่ใช่ชั่วคราว มันเขียน /etc/netplan/90-NM-<connection UUID>.yaml และสร้างโปรไฟล์ NetworkManager ชั่วคราวภายใต้ /run/NetworkManager/system-connections/.

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

ตัวอย่างที่บันทึกไว้เก็บการเชื่อมต่อ OpenVPN ผ่านชนิด Netplan nm-devices ด้วยข้อมูลส่งผ่านของ NetworkManager ความจริงที่ว่า Netplan ไม่มีการตีความเฉพาะสำหรับฟิลด์ VPN ใดฟิลด์หนึ่งไม่ได้หมายความว่า VPN ที่บันทึกไว้ของคุณหายไป แต่หมายความว่าฟิลด์นั้นเดินทางเป็นข้อมูลทึบ

อินเทอร์เฟซชั่วคราวไม่ใช่โปรไฟล์

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

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

ความลับและความเป็นเจ้าของ

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

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

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

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