ไฟล์ตัวเลือก pppd ที่ใช้ร่วมกันทำให้ VPN อีกตัวเสียหรือไม่
ไคลเอนต์ VPN ที่ใช้ PPP สองตัวอาจอ่านค่าเริ่มต้น pppd ชุดเดียวกัน การแก้ไขเพื่อตัวหนึ่งจึงเปลี่ยนอีกตัวโดยไม่รู้ตัว ตรวจสอบว่าใครเป็นเจ้าของตัวเลือกก่อนแก้ไข
คุณเพิ่มหนึ่งบรรทัดเพื่อให้โปรไฟล์ PPTP ที่ดื้อรั้นเชื่อมต่อได้ และหนึ่งสัปดาห์ต่อมาไคลเอนต์ L2TP ที่ทำงานมาหลายเดือนก็หยุดทำงาน ข้อสรุปที่ดูเหมือนชัดเจนคือทั้งสองโปรโตคอลขัดกันแล้ว แต่บ่อยครั้งกว่าคือไคลเอนต์ทั้งสองเริ่ม pppd ทั้งคู่อ่านค่าเริ่มต้นชุดเดียวกัน และบรรทัดที่คุณเพิ่มไม่ได้จำกัดขอบเขตไว้ที่โปรไฟล์ที่คุณกำลังแก้ ไฟล์ตัวเลือกที่ใช้ร่วมกันคือจุดเชื่อมโยง และโปรโตคอลไม่ได้เป็นผู้ผิด
ไคลเอนต์ได้รับอะไรเมื่อเริ่มทำงาน
ไคลเอนต์ที่ใช้ PPP ไม่ค่อยสร้างบรรทัดคำสั่งขึ้นจากความว่างเปล่า มันเริ่ม pppd ซึ่งอ่านค่าเริ่มต้นของระบบ จากนั้นอ่านไฟล์ของผู้ใช้หรือไฟล์เทอร์มินัล แล้วจึงอ่านอาร์กิวเมนต์ที่ไคลเอนต์ส่งมา และไคลเอนต์ยังอาจชี้ไปที่ไฟล์ peer ได้ แต่ละชั้นเหล่านี้อาจมีปลั๊กอิน วิธีพิสูจน์ตัวตน หรือคำสั่งเส้นทาง และชั้นแรกที่ตั้งค่าตัวเลือกที่ได้รับการป้องกันสามารถล็อกตัวเลือกนั้นไม่ให้เปลี่ยนในภายหลัง
ดังนั้นคำถามที่มีประโยชน์จึงไม่ใช่ VPN ตัวไหนเสีย แต่เป็นชั้นใดเป็นผู้ให้การตั้งค่านั้น ไคลเอนต์ที่สร้างอาร์กิวเมนต์เองดูเหมือนพึ่งพาตนเอง แต่ก็ยังสืบทอดทุกอย่างที่ไฟล์ระบบมีอยู่
ระบุที่มาของบรรทัดก่อนแก้ไข
เริ่มจากดูโปรเซสที่กำลังทำงานขณะเชื่อมต่ออยู่ บรรทัดคำสั่งจะแสดงว่าไฟล์ใดถูกส่งมาอย่างชัดเจน และสิ่งใดที่ไม่ระบุชื่อไว้ก็มาจากเส้นทางค่าเริ่มต้น
ps -o pid=,args= -C pppdหากรายการอาร์กิวเมนต์มีชื่อ peer ให้อ่านไฟล์นั้น หากไม่มี การตั้งค่าที่คุณตามหาอยู่ในเส้นทางที่ใช้ร่วมกัน คู่มือ pppd ระบุลำดับการอ่านไฟล์เหล่านั้นและตัวเลือกที่ผู้ใช้ทั่วไปไม่สามารถเขียนทับได้ ซึ่งเป็นเหตุผลที่บรรทัดที่เขียนทีหลังบางครั้งไม่มีผลเลย ตัวเลือกที่ได้รับการป้องกันเช่นเส้นทางปลั๊กอินไม่สามารถแทนที่ได้ด้วยบรรทัดระดับผู้ใช้ที่มาทีหลัง การแก้ไฟล์ผิดจึงไม่เกิดการเปลี่ยนแปลงที่มองเห็นได้
บรรทัดปลั๊กอินที่ตามมาทุกไคลเอนต์
ปลั๊กอินที่โหลดในไฟล์ระบบเป็นตัวการที่แย่ที่สุด เพราะมันเปลี่ยนสิ่งที่โปรเซส PPP ใหม่พยายามโหลด ไม่ว่าผู้ใช้จะกดปุ่มใด ปลั๊กอิน L2TP เป็นตัวอย่างคลาสสิก ถูกต้องสำหรับโปรไฟล์หนึ่ง แต่ไม่มีความหมายหรือเป็นอันตรายต่อโปรไฟล์ PPTP ที่เริ่มจากค่าเริ่มต้นเดียวกัน
ย้ายมันไปยังไฟล์ peer ที่ไคลเอนต์เลือก หรือไปยังการตั้งค่าต่อการเชื่อมต่อของไคลเอนต์เองหากรองรับ การลบทิ้งทันทีจะซ่อมไคลเอนต์ตัวที่สองและทำให้ตัวแรกเสีย และนั่นคือวิธีที่ปัญหาเหล่านี้เดินทางระหว่างทีม
ตรวจสอบแต่ละไคลเอนต์หลังการย้าย
ทดสอบการเชื่อมต่อทั้งสองจากเครื่องเดียวกันทีละตัว และอ่านตัวเลือกที่เจรจาได้ ไม่ใช่กล่องโต้ตอบสำเร็จ ตัวอย่างด้านล่างพิมพ์ชุดตัวเลือกที่ pppd ประกอบขึ้นจริง ซึ่งเป็นรายการเดียวที่สำคัญ
sudo pppd call office debug dumpทำซ้ำกับไคลเอนต์ตัวที่สองและเปรียบเทียบผลลัพธ์ทั้งสอง ตัวเลือกที่คุณย้ายควรปรากฏในผลลัพธ์เพียงตัวเดียวเท่านั้น หากปรากฏในทั้งสอง แสดงว่าไคลเอนต์สร้างมันขึ้นใหม่ และการแก้ไขควรอยู่ในโปรไฟล์นั้นไม่ใช่ไฟล์ที่ใช้ร่วมกัน บันทึกว่าการตั้งค่านี้อยู่ที่ใดไว้ข้างการเชื่อมต่อ เพื่อให้คนต่อไปไม่ต้องค้นพบจุดเชื่อมโยงนี้อีกครั้งด้วยการทำให้มันพัง