ตัดการเชื่อมต่อโปรไฟล์ OpenVPN GUI เพียงโปรไฟล์เดียว ไม่ใช่ทุกอุโมงค์
อุโมงค์ที่ GUI จัดการต้องใช้คำสั่งของ GUI ส่วนอุโมงค์ที่บริการจัดการต้องใช้การควบคุมบริการ ระบุว่าซอฟต์แวร์ใดเป็นเจ้าของโปรไฟล์ก่อนจะเขียนสคริปต์ใด ๆ
สคริปต์ตัดการเชื่อมต่อมักล้มเหลวด้วยเหตุผลเดียว คือมันพูดกับเจ้าของผิดราย อุโมงค์ที่จัดการโดย OpenVPN GUI ของชุมชนเป็นของเซสชัน GUI นั้น อุโมงค์ที่เริ่มโดยบริการ Windows เป็นของบริการ และ OpenVPN Connect ไม่ได้เป็นของทั้งสอง ไล่ตรวจสอบเหล่านี้ตามลำดับและหยุดเมื่อเจ้าของไม่ชัดเจน การส่งคำสั่ง kill เพราะเจ้าของกำกวมคือหนทางที่ทำให้การตัดโปรไฟล์เดียวกลายเป็นการล่มของทั้งไซต์
สำหรับการเชื่อมต่อที่ GUI จัดการ คำสั่งที่มีประโยชน์คือข้อความถึง GUI ไม่ใช่สัญญาณถึง openvpn.exe
ขั้นแรก ระบุเจ้าของ
ดูว่าโปรแกรมใดแสดงสถานะเชื่อมต่อจริงก่อนจะเขียนอะไรลงไป ไอคอนในถาดระบบหมายถึงเซสชัน GUI เป็นเจ้าของ รายการบริการหมายถึงบริการเป็นเจ้าของ หน้าต่างแอปแยกที่มีรายการโปรไฟล์ของตัวเองหมายถึงไม่ใช่ทั้งสอง และอินเทอร์เฟซเฉพาะเวอร์ชันของมันเองจะใช้บังคับ
ตรวจสอบบัญชีและเซสชันเดสก์ท็อปด้วย งานตามกำหนดเวลาที่รันในนามผู้ใช้อื่นหรือในเซสชันที่ไม่โต้ตอบไม่ควรถูกถือว่าควบคุม GUI ที่ผู้ใช้ที่ล็อกอินมองเห็น ความไม่ตรงกันนี้ทำให้เกิดคำสั่งที่จบอย่างสะอาดและไม่เปลี่ยนอะไรเลย ซึ่งเป็นความล้มเหลวชนิดที่แพงที่สุดในการตามรอยจากบันทึก
จากนั้นส่งคำสั่งตัดการเชื่อมต่อของเจ้าของเอง
หากติดตั้ง GUI ไว้ที่พาธในตัวอย่างและมีโปรไฟล์ชื่อ office คำสั่งทั้งหมดคือบรรทัดเดียว:
"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command disconnect officeแทนที่ด้วยพาธติดตั้งจริงของคุณและชื่อคอนฟิกูเรชันที่ถูกต้อง รวมถึงตัวพิมพ์เล็กใหญ่ตามที่ GUI แสดง เอกสารคำสั่งของโปรเจกต์ ระบุตัวควบคุม GUI ที่รองรับ และตัวอย่างนี้เป็นของ OpenVPN GUI เท่านั้น ไม่ใช่คำสั่งสำหรับทุกแอปที่มีคำว่า OpenVPN ในชื่อ
สำหรับอุโมงค์ที่เป็นของบริการ ตัวควบคุมที่ถูกต้องคือบริการ ไม่ใช่ไบนารีของ GUI ตรวจดูบริการที่ติดตั้งและโปรไฟล์ที่มันจัดการก่อนจะหยุดอะไร เพราะการหยุดครั้งเดียวอาจทำให้หลายอุโมงค์ล่มพร้อมกันและคุณจะไม่ได้ผลลัพธ์รายโปรไฟล์
ตรวจสอบว่าไม่มีอย่างอื่นล่ม
GUI ยังมีคำสั่ง disconnect_all และขอบเขตของมันคือเหตุผลที่มันเป็นเครื่องมือผิดสำหรับสคริปต์ที่ควรหยุดเพียง office หากรู้สึกอยากใช้เพราะความง่าย ให้ถามว่ายังมีอะไรเชื่อมต่ออยู่บนเครื่องนั้นและผู้ใช้จะสังเกตเห็นได้อย่างไร
taskkill /F /IM openvpn.exe แย่กว่าในสองทาง มันเลือกโปรเซสตามชื่อไฟล์เรียกทำงานและบังคับให้สิ้นสุด จึงไม่ได้แสดงชื่อโปรไฟล์หรือลำดับการตัดการเชื่อมต่อปกติของเจ้าของ การเรียกสิ่งนั้นว่าการปิดอย่างเรียบร้อยคือการซ่อนปัญหาทั้งสองไว้หลังสถานะออกเดียว
ไม่ว่าจะเลือกทางใด ให้ตรวจสอบขอบเขตผลกระทบก่อนการเปลี่ยนแปลง: ระบุโปรไฟล์ที่เชื่อมต่ออยู่ บันทึกว่าตัวใดควรอยู่รอด แล้วตรวจสอบอีกครั้งภายหลัง
ยืนยันสถานะ ไม่ใช่รหัสออก
หลังจากขอตัดการเชื่อมต่อ ให้อ่านสถานะของการเชื่อมต่อที่ระบุผ่านเจ้าของของมันแทนที่จะเชื่อค่าที่คำสั่งคืนมา หากขั้นถัดไปต้องใช้เครือข่ายหลังการรื้อ ให้รอการเปลี่ยนสถานะนั้นด้วยเวลาหมดเวลาที่ชัดเจนแทนที่จะถือว่าการล้างเสร็จแล้วเมื่อโปรเซสกลับมา สคริปต์ที่แข่งกับการรื้อจะล้มเหลวเป็นครั้งคราวและ VPN จะถูกตำหนิ
หากสถานะไม่เคยเปลี่ยน เจ้าของอาจไม่ใช่รายที่คุณพูดด้วย ตรวจสอบเซสชันและบัญชีอีกครั้งก่อนยกระดับไปยังคำสั่งที่แรงกว่า
สิ่งที่ควรใส่ในบันทึก
บันทึกชื่อโปรไฟล์ เจ้าของที่คุณพูดด้วย บริบทการเรียกใช้ และสถานะที่ได้ ไม่ควรเทคอนฟิกูเรชันทั้งหมดหรือข้อมูลรับรองลงในบันทึกงาน และไม่ควรบันทึกบรรทัดคำสั่งหากมีพาธไปยังไฟล์ที่มีความลับ
ข้อความข้อผิดพลาดที่ระบุชื่อโปรไฟล์และบริบทเพียงพอให้คนถัดไปทำซ้ำปัญหาได้ บันทึกที่เก็บเพียงรหัสออกทั่วไปจะส่งพวกเขากลับไปที่จุดเริ่มต้น และนั่นคือที่ซึ่งการเดาเริ่มต้นใหม่