คำขอความช่วยเหลือเรื่อง VPN ที่บ้านต้องมีเส้นทางเดียว ไม่ใช่กองการตั้งค่า
เส้นทางเดียว เจ้าของสามฝ่าย และความล้มเหลวที่สังเกตได้หนึ่งอย่างดีกว่ากองการตั้งค่า ใช้บันทึกนี้ ระบุขั้นตอนที่ล้มเหลว และปิดบังความลับโดยไม่สูญเสียโครงสร้างเครือข่าย
คุณโพสต์การตั้งค่าที่ปิดบังข้อมูล บอกว่า VPN ใช้ไม่ได้ แล้วได้คำตอบหกแบบเกี่ยวกับหกเรื่องที่ต่างกัน ปัญหามักอยู่ที่คำขอ ไม่ใช่ผู้อ่าน ผู้ช่วยไม่สามารถดูจากการตั้งค่าว่าอุโมงค์สร้างไม่ได้ สร้างได้แต่ทิ้งทราฟฟิก หรือทำงานดีแต่บริการไฟล์ข้างหลังปฏิเสธการเชื่อมต่อ อธิบายเส้นทางเดียวแทน พร้อมเจ้าของสามฝ่ายและความล้มเหลวที่สังเกตได้หนึ่งอย่าง แล้วคำตอบจะดีขึ้นทันที
ทำไมคำขอจึงได้คำตอบที่ไม่เป็นประโยชน์
การตั้งค่าอธิบายว่าอะไรถูกตั้งค่าไว้ ไม่ได้อธิบายว่าคุณลองอะไร เกิดอะไรขึ้น หรือเครื่องไหนในหลายเครื่องควรทำงานใด เมื่อไม่มีข้อมูลนั้น ผู้อ่านแต่ละคนจึงเดาขั้นตอนต่างกัน
กรณีตัวอย่างคือแล็ปท็อปที่เดินทางซึ่งควรเข้าถึงบริการไฟล์บนเซิร์ฟเวอร์ที่บ้านผ่านเกตเวย์ที่บ้าน ระบุว่าเกตเวย์ เซิร์ฟเวอร์ VPN และเซิร์ฟเวอร์ไฟล์เป็นเครื่องเดียวกันหรือสามเครื่อง เพราะข้อเท็จจริงข้อเดียวนี้เปลี่ยนคำตอบเกือบทั้งหมด
กรอกบันทึกนี้ก่อนโพสต์
Goal: the one resource or operation that should work
Path: client -> access network -> VPN endpoint -> resource
Owners: who controls the client, the gateway and the resource
Software: product, version and protocol in use
Expected: what success would look like
Observed: exact non-secret error or response
Time and change: when it started and what changed
Control: one comparable operation that still works
แปดบรรทัด และคำขอส่วนใหญ่ก็ตอบได้ บรรทัดควบคุมคือบรรทัดที่คนมักละไว้ คือถ้า การท่องเว็บจากแล็ปท็อปเครื่องเดิมใช้ได้ แต่การแชร์ไฟล์ใช้ไม่ได้ สิ่งนั้นก็จำกัดปัญหาไว้ที่เส้นทางของอุโมงค์หรือที่บริการ และไม่มีใครต้องถาม
รักษาป้ายกำกับให้สอดคล้องเมื่อปิดบังข้อมูล เก็บความต่างระหว่างปลายทางสาธารณะ ที่อยู่อุโมงค์ และซับเน็ตที่บ้านไว้ ถ้าสองช่วงทับซ้อนกัน ให้ความสัมพันธ์นั้นมองเห็นได้ แทนที่จะแทนทุกเครือข่ายด้วยตัวแทนเดียวกัน เพราะการทับซ้อนมักเป็นคำตอบ
ระบุขั้นตอนที่ล้มเหลว ไม่ใช่ทั้งบันทึก
มีห้าขั้นตอนที่ควรแยก คือการแปลงชื่อ การพยายามเชื่อมต่อ การพิสูจน์ตัวตน การสร้างอุโมงค์ และการเข้าถึงทรัพยากร บอกว่าคุณคิดว่าขั้นใดล้มเหลวและเห็นอะไรตรงนั้น
วางข้อความตัดตอนสั้น ๆ รอบเหตุการณ์ แทนไฟล์ดีบักทุกไฟล์ที่ไคลเอนต์สร้างได้ ร้อยบรรทัดของเสียงจับมือกันซ่อนบรรทัดเดียวที่บอกว่าชื่อใบรับรองไม่ตรงกัน
แยกการสังเกตออกจากคำอธิบาย “ไคลเอนต์รายงานว่าการจับมือกันหมดเวลาหลังจาก 30 วินาที” เป็นการสังเกต “ผมคิดว่าผู้ให้บริการบล็อก UDP” เป็นทฤษฎี ทั้งสองมีประโยชน์ และการผสมกันทำให้ผู้ช่วยไม่รู้ว่าควรเชื่ออันไหน ติดป้ายทั้งสอง แล้วคำตอบที่คุณได้จะตอบถูกเรื่อง
ส่งให้เจ้าของที่ลงมือได้
สำหรับแล็ปท็อปที่นายจ้างดูแล เริ่มจากช่องทางที่ได้รับการสนับสนุนของนายจ้าง เพราะฟอรัมชุมชนเปลี่ยนนโยบายของเขาไม่ได้ สำหรับบริการ VPN เชิงพาณิชย์ ให้ระบุผลิตภัณฑ์และบัญชีเป็นการส่วนตัว ไม่ใช่ที่สาธารณะ สำหรับเกตเวย์ของคุณเอง ให้ระบุบทบาทเราเตอร์และเซิร์ฟเวอร์ที่คุณควบคุม
ถ้าใช้ชุมชนสาธารณะ เลือกแห่งที่ขอบเขตปัจจุบันตรงกับงาน กระทู้เก่าเรื่องกฎของฟอรัมไม่ใช่สัญญาสนับสนุน และคำตอบห้าปีเกี่ยวกับเวอร์ชันโปรโตคอลที่คุณไม่ได้ใช้ก็ไม่ใช่เช่นกัน
ปิดบังความลับโดยไม่ทำให้โครงสร้างแบนราบ
ลบคีย์ส่วนตัว รหัสผ่าน โทเคน และลิงก์ที่พาข้อมูลรับรองออก ก่อนที่สิ่งใดจะออกจากเครื่องของคุณ การส่งออกข้อมูลวินิจฉัยและการตั้งค่าที่สมบูรณ์เป็นสิ่งที่ต่างกัน แม้ชื่อไฟล์จะดูคล้ายกัน และสิ่งที่คุณวางไว้อาจมีคีย์ที่แชร์ไว้ล่วงหน้า
จากนั้นเก็บความสัมพันธ์ที่ทำให้เส้นทางเข้าใจได้ RFC 6973 มองการเก็บรวบรวมและเชื่อมโยงโดยไม่จำเป็นเป็นประเด็นความเป็นส่วนตัว และหลักการเดียวกันใช้ที่นี่ คือแบ่งปันหลักฐานที่ผู้รับต้องการ ไม่ใช่ทั้งเครื่อง
ปิดท้ายด้วยคำถามหนึ่งข้อที่ตอบได้เกี่ยวกับความไม่ตรงกันที่สังเกตได้ เช่นทำไมไคลเอนต์พิสูจน์ตัวตนเสร็จแล้วจึงไม่ได้รับเส้นทางเลย คำถามที่เจาะจงได้คำตอบที่เจาะจง และบันทึกที่คุณสร้างขึ้นคือสิ่งที่ทำให้ใครคนหนึ่งตอบได้โดยไม่ต้องขอความลับของคุณ