ไฟล์สถานะนับเซสชัน ไม่ใช่ LAN ที่อยู่เบื้องหลัง
สแนปช็อตแสดงรายการเซสชัน VPN และสถานะการกำหนดเส้นทาง ไม่ใช่ทุกเครื่องที่อยู่หลังไซต์ ควรอ่านส่วนหัว ประเภทระเบียน และอายุไฟล์ไปพร้อมกัน
มีคนถามว่ามีกี่เครื่องใน VPN แล้วไฟล์สถานะก็ถูกยกมาเป็นหลักฐาน ไฟล์นี้ตอบคำถามที่แคบกว่า คือมีกี่เซสชันในสแนปช็อตนี้ และเซิร์ฟเวอร์กำหนดเส้นทางให้ที่อยู่เสมือนใด ช่องว่างระหว่างสองคำถามนี้คือที่ที่ข้อผิดพลาดในการรายงานส่วนใหญ่อาศัยอยู่ และการปิดช่องว่างนั้นเริ่มจากการอ่านส่วนหัวของไฟล์เอง
สแนปช็อตมีอะไรอยู่จริง
ไฟล์จะถูกเขียนเป็นระยะเมื่อมีการกำหนดค่าการแสดงสถานะสำหรับอินสแตนซ์เซิร์ฟเวอร์นั้น ดังนั้นมันจึงเป็นภาพเป็นระยะ ไม่ใช่ฟีดสด ส่วนต่างๆ แสดงรายการเซสชันและสถานะการกำหนดเส้นทางภายในแยกจากกัน และเวอร์ชันรูปแบบเป็นตัวกำหนดการจัดวางคอลัมน์
status /run/openvpn/office.status 30
status-version 3เวอร์ชัน 3 เขียนฟิลด์ที่คั่นด้วยแท็บพร้อมแถวส่วนหัว ขณะที่รูปแบบเก่าแตกต่างกันและเวอร์ชันหลังๆ อาจเพิ่มฟิลด์ ควรอ่านส่วนหัวแทนการกำหนดหมายเลขคอลัมน์แบบตายตัว เพราะสคริปต์ที่สมมติตำแหน่งจะพังอย่างเงียบๆ ในการอัปเกรดครั้งถัดไป
| Record | What it describes | What it cannot tell you |
|---|---|---|
| Client list | A session in this snapshot | How many people or machines that session represents |
| Real address | The outer peer address and port | Which device is behind it |
| Routing rows | Virtual addresses and route ownership | Which downstream hosts are alive |
นับเซสชัน ไม่ใช่นับคนหรือเครื่อง
การเชื่อมต่อไซต์หนึ่งครั้งสามารถรับส่งข้อมูลให้หลายเครื่องที่ได้รับอนุญาตอยู่เบื้องหลังได้ คนหนึ่งคนอาจมีเซสชันมากกว่าหนึ่งในเวลาเดียวกัน จากแล็ปท็อปและโทรศัพท์ รูปแบบเหล่านี้ไม่ปรากฏในตัวเลข ดังนั้นจำนวนผู้ใช้ที่เชื่อมต่อจึงมีความหมายก็ต่อเมื่อคุณกำหนดหน่วยให้ชัดเจน ถามก่อนว่า รายงานต้องการหน่วยใดก่อนที่ใครจะเริ่มนับ
หากตัวเลขนั้นสำคัญต่อการออกใบอนุญาตหรือกำลังความสามารถ ให้กำหนดหน่วยไว้ในเอกสารเดียวกับรายงาน รายงานที่ไม่ระบุว่านับเซสชัน อัตลักษณ์ หรืออุปกรณ์ จะถูกอ่านเป็นหน่วยที่ผู้อ่านคาดหวังไว้
ที่อยู่ภายนอกไม่ใช่ตัวระบุ
ฟิลด์ที่อยู่จริงคือที่อยู่และพอร์ตของคู่ตรงข้ามตามที่เซิร์ฟเวอร์มองเห็น ลูกค้าหลายรายที่อยู่เบื้องหลังที่อยู่สาธารณะที่ถูกแปลงหนึ่งรายการใช้ที่อยู่ร่วมกัน การจัดกลุ่มตามที่อยู่นั้นจึงรวมเซสชันที่ไม่เกี่ยวข้องเข้าด้วยกัน พอร์ตก็เปลี่ยนไประหว่างการเชื่อมต่อ ทำให้คู่นี้ใช้เป็นคีย์ที่มั่นคงไม่ได้ รายงานที่จัดกลุ่มแบบนั้นดูแม่นยำแต่ผิด
ใช้อัตลักษณ์ลูกค้าที่มีผลจริงในการจัดกลุ่ม และมองที่อยู่เป็นรายละเอียดของการขนส่ง เมื่อสองแถวมีอัตลักษณ์เดียวกัน โดยปกติหมายถึงเซสชันที่เกิดขึ้นพร้อมกัน ไม่ใช่ระเบียนซ้ำ
แถวการกำหนดเส้นทางไม่ใช่บัญชีเครื่อง
รายการกำหนดเส้นทางอาจระบุซับเน็ตที่คู่ตรงข้ามหนึ่งรายรับผิดชอบ และซับเน็ตก็ไม่ใช่รายการเครื่องของมัน เซิร์ฟเวอร์รู้ว่าควรส่งช่วงนั้นไปยังเซสชันใดเซสชันหนึ่ง และไม่รู้เลยว่าเครื่องใดในนั้นเปิดอยู่ ได้รับการยืนยันตัวตนในแอปพลิเคชัน หรือเป็นประโยชน์ต่อใคร ตารางการกำหนดเส้นทางอธิบายการเข้าถึงได้ ไม่ได้อธิบายการมีอยู่จริง ความแตกต่างนี้คือเหตุผลทั้งหมดที่ VPN ตอบคำถามเรื่องบัญชีทรัพย์สินไม่ได้
หลายแถวอาจชี้ไปที่คู่ตรงข้ามเดียวกันได้ เพราะไซต์อาจประกาศช่วงมากกว่าหนึ่งช่วง การนับแถวแล้วเรียกผลลัพธ์ว่าจำนวนอุปกรณ์จะทำให้ขนาดการติดตั้งเกินจริงตามปัจจัยที่กำหนดขึ้นเอง
หากความต้องการคือบัญชีทรัพย์สินจริงๆ ให้ใช้กระบวนการบัญชีทรัพย์สินที่เป็นเจ้าของเครือข่ายนั้น VPN ระบุได้ว่าคู่ตรงข้ามใดรับเส้นทางไว้ และนั่นเป็นข้อเท็จจริงที่ต่างจากเรื่องที่มีเครื่องใดอยู่เบื้องหลัง
อายุ สิทธิ์ และมุมมองสด
เก็บเวลาที่ไฟล์ถูกแก้ไขไว้กับทุกคำตอบ เซิร์ฟเวอร์ที่หยุดไปเมื่อหลายชั่วโมงก่อนจะทิ้งสแนปช็อตล่าสุดไว้ และไฟล์เก่าที่ถูกนำเสนอว่าเป็นปัจจุบันนั้นแย่กว่ารายงานที่ไม่มีเลย
ไดเรกทอรีต้องมีอยู่และเขียนได้โดยบัญชีที่บริการทำงานอยู่จริง ซึ่งเป็นสิ่งที่ลืมได้ง่ายหลังรอบการเสริมความปลอดภัย ไฟล์มักมีชื่อและที่อยู่ จึงควรเก็บไว้ในตำแหน่งสำหรับผู้ดูแลระบบ ไม่ใช่ที่ใดก็ได้ที่เว็บเซิร์ฟเวอร์ให้บริการได้ ตรวจสอบสิทธิ์จากบัญชีบริการ ไม่ใช่จากเชลล์ของคุณ สแนปช็อตที่หยุดอัปเดตอย่างเงียบๆ ดูเหมือนเครือข่ายที่เงียบสงบทุกประการ
สำหรับความต้องการที่ขับเคลื่อนด้วยเหตุการณ์ ให้ใช้ส่วนต่อประสานการจัดการที่รองรับ แทนการสำรวจบ่อยขึ้น มองส่วนต่อประสานนั้นเป็นกลไกควบคุม ไม่ใช่ตัวชี้วัด และอย่าเปิดเผยมันสู่อินเทอร์เน็ตเพียงเพื่อนับเซสชัน