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

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

บันทึกบริการที่มีอยู่ก่อนเปลี่ยนแปลง

อ่านยูนิตที่ติดตั้งไว้ ไม่ใช่ยูนิตที่คุณคิดว่าเขียนไว้: systemctl cat [email protected] พิมพ์ยูนิตและ drop-in ทั้งหมด และ systemctl show [email protected] -p ExecStart -p User -p WorkingDirectory แสดงสิ่งที่รันจริงและในนามของใคร ถามไบนารีที่ยูนิตระบุ เพราะ openvpn --version จากเชลล์อาจชี้ไปยังบิลด์อื่น บันทึกเส้นทางโปรไฟล์และทุกไฟล์ที่อ้างถึง

บันทึกซ็อกเก็ตที่ฟังอยู่ด้วย: ss -lunp | grep 1194 บอกว่าเดมอนถือแอดเดรสและโปรโตคอลใดในวันนี้ ถ้าคำตอบไม่ใช่ตามที่โปรไฟล์บอก แสดงว่า drop-in หรือไฟล์สภาพแวดล้อมกำลังเขียนทับ และการอัปเกรดจะสืบทอดความประหลาดใจนั้น

ประกอบชุดกู้คืนที่คนอื่นใช้ได้

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

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

ซ้อมบนตัวรับฟังนำร่องด้วยไคลเอนต์จริง

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

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

สลับครั้งเดียว จากเส้นทางนอกอุโมงค์

เริ่มหน้าต่างจากคอนโซลหรือเครือข่ายบริหารที่ไม่ผ่านบริการ ยืนยันว่าผู้ใช้ได้รับแจ้งแล้วและผู้ปฏิบัติงานคนที่สองรู้วิธีย้อนกลับ ใช้การเปลี่ยนแปลงที่เตรียมไว้ผ่านเจ้าของ แล้วรีสตาร์ทด้วย sudo systemctl restart [email protected] และติดตามบันทึกด้วย journalctl -u openvpn-server@office -b -f การรีโหลดเพียงพอเมื่อเปลี่ยนเฉพาะนิยามยูนิต โปรไฟล์ที่เปลี่ยนต้องรีสตาร์ทโปรเซส

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

ยอมรับหรือย้อนกลับ แล้วบอกผู้ใช้ว่าอะไรเปลี่ยน

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

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

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