Keyfile หรือ Netplan: โปรไฟล์ VPN ถูกเก็บไว้ที่ใดกันแน่
VPN ที่บันทึกไว้สามารถอยู่ใน keyfile หรือในไฟล์ Netplan ที่สร้างขึ้น จับคู่ UUID ของการเชื่อมต่อกับเจ้าของจริงก่อนแก้ไขสิ่งที่ถูกเขียนทับ
การหาไฟล์ที่คุณนำเข้าเป็นส่วนที่ง่ายและมักเป็นจุดเริ่มต้นที่ผิด สิ่งที่สำคัญคือไฟล์ใดที่ NetworkManager อ่านเป็นการเชื่อมต่อที่บันทึกไว้ในวันนี้ และขึ้นอยู่กับตัวระบุการเชื่อมต่อและแบ็กเอนด์การกำหนดค่าที่แพ็กเกจที่ติดตั้งใช้จริง การแก้ไขการนำเข้าก่อนตอบคำถามนั้นคือวิธีที่ VPN ที่ทำงานอยู่กลายเป็นการกำหนดค่าที่ถูกต้องครึ่งหนึ่งสองชุด
ไฟล์ที่นำเข้าไม่ใช่โปรไฟล์ที่บันทึกไว้
ชื่อสามชื่อวนเวียนอยู่รอบปัญหาทุก VPN: ชื่อการเชื่อมต่อ ชื่อไฟล์ที่คุณนำเข้า และอินเทอร์เฟซเสมือนที่ปรากฏเมื่ออุโมงค์ขึ้น ไม่มีชื่อใดระบุการกำหนดค่าที่บันทึกไว้ และชื่อการเชื่อมต่อนั้นแก้ไขได้ในขณะที่ไฟล์เบื้องหลังยังคงตัวระบุเดิม
เริ่มด้วยรายการแบบอ่านอย่างเดียวและเลือก VPN ที่ต้องการด้วยตัวระบุแทนที่จะเป็นป้ายชื่อ
nmcli -f NAME,UUID,TYPE connection show
เก็บชื่อโฮสต์ของปลายทางและป้ายกำกับตัวตนออกจากรายการใด ๆ ที่คุณวางในตั๋ว ส่วนที่มีประโยชน์คือชนิดและตัวระบุ ส่วนที่เหลือเป็นบริบทที่คนแปลกหน้าไม่ต้องการ ปิดบังส่วนที่เหลือก่อนแชร์และบอกว่าคุณทำเช่นนั้น เพื่อไม่ให้ใครสงสัยว่าช่องว่างหมายถึงอะไร
ตำแหน่งของ keyfile ไม่ได้หมายถึงสิ่งเดียวกัน
ด้วยปลั๊กอิน keyfile แบบเนทีฟ ไฟล์การเชื่อมต่อสามารถปรากฏในสามไดเรกทอรี และความแตกต่างระหว่างไฟล์เหล่านั้นคือความคงอยู่ ไม่ใช่ความสะดวก
| Location | Role |
|---|---|
/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 แยกจากกันจะทิ้งคำอธิบายที่แข่งขันกันสามชุดเกี่ยวกับสิ่งที่การเชื่อมต่อครั้งถัดไปจะใช้ เลือกอันที่คงอยู่จริง แก้ไขเฉพาะอันนั้น และบันทึกในตั๋วว่าไฟล์ใดที่คุณถือว่าเป็นทางการ คนถัดไปจะขอบคุณคุณสำหรับที่มาหนึ่งบรรทัด