openvpn --errors-to-stderr เป็นตัวเลือกตอนเริ่ม ไม่ใช่ข้อผิดพลาด
การเห็น --errors-to-stderr ในบรรทัดคำสั่งไม่ได้หมายความว่ามีอะไรล้มเหลว ตัดสินว่าคุณกำลังอ่านบรรทัดเริ่มหรือเอาต์พุตของโพรเซส แล้วจึงตรวจสอบ
บรรทัดคำสั่งที่มี --errors-to-stderr ดูเหมือนคำร้องเรียนแต่ไม่ใช่ คำนี้เป็นส่วนหนึ่งของชื่อตัวเลือก เช่นเดียวกับชื่อไฟล์บันทึกที่ไม่ได้บอกอะไรเกี่ยวกับสิ่งที่อยู่ข้างใน ก่อนจะเปลี่ยนการกำหนดค่าใดๆ ให้ระบุให้ชัดว่าคุณกำลังอ่านอะไรอยู่จริง
การตัดสินใจมีสามทาง: บรรทัดนั้นคือการเริ่มเอง บรรทัดนั้นคือเอาต์พุตที่โปรแกรมพิมพ์ออกมา หรือบรรทัดนั้นคือข้อความที่ตัวห่อส่งซ้ำก่อน VPN จะเริ่ม แต่ละทางชี้ไปยังจุดที่ต้องดูต่างกัน และมีเพียงทางเดียวเท่านั้นที่เป็นข้อความของ VPN เอง
ชื่อตัวเลือกไม่ใช่ข้อความสถานะ
สำหรับ Community OpenVPN --errors-to-stderr จะส่งเอาต์พุตข้อผิดพลาดไปยังมาตรฐานผิดพลาดแทนมาตรฐานเอาต์พุต นี่คือการเลือกสตรีม ไม่ใช่ตัวกรองความรุนแรง และไม่ได้สร้างข้อผิดพลาด ตัวเลือก --log หรือ --log-append ที่ตามมาสามารถเปลี่ยนเส้นทางข้อความเดียวกันไปยังไฟล์ได้ ผลของแฟล็กจึงขึ้นอยู่กับส่วนที่เหลือของคำสั่ง เอกสารอ้างอิงการบันทึกจากต้นทาง กำหนดลำดับนั้น
ดังนั้นการมีอยู่ของแฟล็กบอกว่าข้อผิดพลาดจะไปที่ใด แต่ไม่ได้บอกว่ามีข้อผิดพลาดเกิดขึ้น
บรรทัดเริ่มหรือเอาต์พุตของโพรเซส
เริ่มด้วยการถามว่าใครพิมพ์ข้อความนั้น หน่วยบริการ ชุดแอปพลิเคชัน หรือตัวห่อเชลล์มักส่งซ้ำ argv ทั้งหมดก่อนที่โพรเซส VPN จะเขียนอะไร ถ้าคุณเห็นเพียงบางส่วน การส่งซ้ำนั้นก็แยกจากบรรทัดสถานะไม่ได้
ถ้าบรรทัดมาจากตัวห่อ VPN ยังไม่ได้ทำงานและไม่มีอะไรจะรายงาน มองลงไปในเอาต์พุตเพื่อหาข้อความแรกที่มีตราเวลาหรือชื่อระบบย่อย
ถ้าบรรทัดมาจากโพรเซส VPN มันยังเป็นเพียงการเรียกใช้ OpenVPN ไม่ได้พิมพ์บรรทัดคำสั่งของตัวเองเป็นข้อผิดพลาด และข้อความที่สำคัญจะตามมาหลังจากนั้น
หาโพรเซสและผลลัพธ์ของมัน
ระบุว่าโพรเซสยังทำงานอยู่หรือไม่ ไคลเอนต์ที่ทำงานและพยายามซ้ำดูแตกต่างอย่างมากจากตัวที่ออกทันที และบรรทัดคำสั่งเดียวกันอยู่ข้างหน้าทั้งสอง
จากนั้นอ่านผลลัพธ์ผ่านองค์ประกอบที่เป็นเจ้าของโพรเซส ภายใต้ systemd นั่นคือบันทึกของยูนิต ในแอปเดสก์ท็อป นั่นคือบันทึกหรือคอนโซลของแอปเอง สถานะออกพร้อมข้อความสุดท้ายตอบคำถามที่ชื่อตัวเลือกเพียงบอกใบ้
ข้อผิดพลาดในการแยกวิเคราะห์การกำหนดค่า ไฟล์ที่หายไป ข้อมูลรับรองที่ถูกปฏิเสธ และการหมดเวลาของคู่สัญญาเป็นสี่เหตุการณ์ที่ต่างกัน ทั้งหมดมาบนสตรีมเดียวกัน ต้องแก้ไขสี่วิธีที่ต่างกัน ตัดสินว่าคุณมีอันไหนก่อนแตะโปรไฟล์ และยกข้อความที่แน่นอนเมื่อขอความช่วยเหลือ
เมื่อใดแฟล็กจึงคู่ควรกับที่ของมัน
แฟล็กคู่ควรกับที่ของมันเมื่อ stdout พาข้อมูลและข้อผิดพลาดต้องไม่ปนเปื้อน หรือเมื่อตัวห่อจับสองสตรีมแยกกัน ในเซสชันเบื้องหน้าบนเทอร์มินัล ทั้งสองสตรีมมาอยู่ตรงหน้าคุณ ในกรณีนั้นความแตกต่างแทบไม่เปลี่ยนสิ่งที่คุณทำ
เก็บไว้ถ้าสคริปต์รอบข้างพึ่งพาการแยกนั้น การลบออกเพราะชื่อดูน่าตกใจจะเปลี่ยนตำแหน่งที่ข้อความปรากฏและไม่ได้แก้อะไรอื่น
สิ่งที่ไม่ควรเปลี่ยน
อย่าถือว่าตัวเลือกนี้เป็นขั้นตอนซ่อมแซม การลบมันไม่สามารถแก้ไขใบรับรอง เส้นทาง หรือความล้มเหลวในการพิสูจน์ตัวตนได้
ถ้าการเรียกมี --config stdin การกำหนดค่าถูกป้อนผ่านอินพุตมาตรฐาน นี่เป็นการตัดสินใจแยกต่างหากเกี่ยวกับวิธีจัดหาไฟล์ เปลี่ยนทีละอย่าง และอ่านข้อความจริงอีกครั้งก่อนเปลี่ยนอย่างที่สอง