ทำไมทรัพยากร VPN หนึ่งจึงทำงานได้ แต่อีกอันหมดเวลา
บริการส่วนตัวที่ใช้งานได้คือการควบคุม ไม่ใช่คำสัญญา เปรียบเทียบที่อยู่ พอร์ต ขั้นตอนการตอบสนอง และอัตลักษณ์ เพื่อค้นหาสิ่งที่ตัวที่ล้มเหลวขาดไป
บริการส่วนตัวรายการหนึ่งโหลดผ่านอุโมงค์ได้ แต่อีกรายการหมดเวลา และความอยากจะสร้างโปรไฟล์ไคลเอนต์ใหม่ทั้งหมดก็เกิดขึ้น บริการที่ใช้งานได้มีประโยชน์ในฐานะการควบคุมมากกว่าเป็นเหตุผลให้เริ่มต้นใหม่ทั้งหมด มันพิสูจน์เพียงว่าปลายทางหนึ่ง พอร์ตหนึ่ง และเส้นทางการอนุญาตหนึ่งถูกตอบสนองแล้ว และไม่มีอะไรเกินกว่านั้น
บริการสองรายการบนเกตเวย์เดียวกันอาจเข้าถึงได้ผ่านตระกูลที่อยู่ต่างกัน ซับเน็ตต่างกัน และนโยบายต่างกัน
แยกโฟลว์ที่ใช้งานได้ออกจากโฟลว์ที่ล้มเหลว
จัดการแต่ละบริการเป็นโฟลว์ของตัวเอง ไม่ใช่เป็นอาการของ VPN ไคลเอนต์ตัวอย่างสามารถเปิด portal.corp.example ที่ 172.20.4.15:443 ได้แต่ยังไปไม่ถึงฐานข้อมูลที่ 172.20.9.40:5432 เพราะทั้งสองเป็นปลายทางสองแห่งที่มีชุดกฎสองชุด จดทั้งสองแถวไว้ก่อนเปลี่ยนแปลงสิ่งใด รวมทั้งพอร์ตและโปรโตคอล เพราะกฎที่อนุญาต TCP 443 บนโฮสต์หนึ่งไม่บอกอะไรเกี่ยวกับ TCP 5432 บนโฮสต์เดียวกัน
แถวที่ล้มเหลวคือแถวที่ต้องตรวจสอบ แถวที่ใช้งานได้เพียงบอกว่าฐานอ้างอิงอยู่ตรงไหน และจะเป็นจุดเปรียบเทียบหลังทุกการเปลี่ยนแปลง
เปรียบเทียบที่อยู่ก่อนเปรียบเทียบชื่อ
แปลงชื่อเต็มแต่ละชื่อผ่านนโยบายที่แอปพลิเคชันใช้จริง แล้วบันทึกตระกูลที่อยู่ที่เลือกไว้ ชื่อหนึ่งอาจคืนที่อยู่ IPv6 ขณะที่อีกชื่อคืน IPv4 และคำตอบเก่าที่แคชไว้อาจส่งคำขอไปยังที่อยู่สาธารณะที่ไม่เกี่ยวข้องกับบริการส่วนตัวเลย
ip route get 172.20.4.15
ip route get 172.20.9.40
ip -6 route get 2001:db8:60::20
การค้นหาตอบคำถามแคบ ๆ ว่าโฮสต์นี้จะเลือกเส้นทางใดสำหรับปลายทางนั้น โดยพิจารณาตารางและกฎนโยบายปัจจุบัน เส้นทางสำหรับ 172.20.4.0/24 ไม่ครอบคลุม 172.20.9.0/24 และตัวจัดการเครือข่ายตัวที่สองหรือเส้นทางท้องถิ่นที่มีความเฉพาะเจาะจงกว่าอาจแทนที่อุโมงค์อย่างเงียบ ๆ ทำการค้นหาซ้ำภายในเนมสเปซหรือด้วยเครื่องหมายที่แอปพลิเคชันใช้เมื่อสิ่งเหล่านั้นต่างจากเชลล์ของคุณ บันทึกอินเทอร์เฟซที่แพ็กเก็ตออกไปด้วย เพราะตารางเส้นทางอาจระบุอินเทอร์เฟซหนึ่งขณะที่การกำหนดเส้นทางตามนโยบายส่งโฟลว์ออกไปอีกอัน
เส้นทางที่ตรงกันเป็นเงื่อนไขจำเป็น ไม่ใช่การอนุญาต มันบอกว่าแพ็กเก็ตมีที่ไป และไม่บอกอะไรเลยว่าไฟร์วอลล์ บริการอนุญาต หรือโฮสต์เองจะยอมรับหรือไม่
โปรโตคอลและขั้นตอนการตอบสนองบอกว่ามันหยุดที่ไหน
การตอบ ping ไม่ได้พิสูจน์ว่าพอร์ตฐานข้อมูลเปิดอยู่ และหน้า HTTPS ที่สำเร็จก็ไม่ได้อนุญาตการแชร์ไฟล์บนเครื่องเดียวกัน บันทึกสิ่งที่ส่งกลับมาจริงแทนการทำให้ความล้มเหลวทั้งหมดแบนราบเป็นหมวดเดียว การหมดเวลา การรีเซ็ต ข้อผิดพลาดอัตลักษณ์ TLS และการปฏิเสธระดับแอปพลิเคชันชี้ไปยังชั้นที่ต่างกัน
ความแตกต่างสำคัญเพราะการแก้ไขแยกออกจากกัน ความเงียบมักหมายถึงปัญหาเส้นทาง ไฟร์วอลล์ หรือการแปลบนเส้นทาง การรีเซ็ตทันทีบ่งชี้ว่ามีบางสิ่งไปถึงโฮสต์และปฏิเสธพอร์ต ข้อผิดพลาดใบรับรองหมายถึงการเชื่อมต่อมาถึงและชื่อไม่ตรง ซึ่งเป็นปัญหาการกำหนดค่าไม่ใช่การเข้าถึง การปฏิเสธของแอปพลิเคชันหมายถึงเครือข่ายทำหน้าที่ของมันแล้วและอัตลักษณ์ถูกปฏิเสธภายหลัง
เมื่อทรัพยากรถูกเผยแพร่ผ่านเกตเวย์ ให้เปรียบเทียบที่อยู่ต้นทางที่ปลายทางเห็นกับต้นทางที่ไคลเอนต์ของคุณคิดว่าใช้อยู่ คำขอที่ริเริ่มโดยเกตเวย์เองอาจสำเร็จ ขณะที่คำขอเดียวกันจากไคลเอนต์ล้มเหลว เพราะทั้งสองมาจากที่อยู่ต่างกันและพบกฎต่างกัน
เปลี่ยนตัวแปรหนึ่งตัวแล้วรันคำขอทั้งสองอีกครั้ง
อัตลักษณ์คือที่สุดท้ายที่ผู้คนมองและเป็นที่แรกที่การปฏิเสธที่ถูกต้องปรากฏ การเข้าสู่ระบบ VPN กลุ่มไดเรกทอรี และบัญชีแอปพลิเคชันเป็นอัตลักษณ์แยกกันสามอย่างที่อาจแตกต่างกัน การเข้าถึงพอร์ทัลไม่เคยหมายถึงการเข้าถึงฐานข้อมูลที่อยู่ข้างหลัง และชื่อในไดเรกทอรีหนึ่งไม่ได้สร้างแถวในอีกไดเรกทอรี หากบริการอยู่นอกขอบเขตที่ผู้ใช้ตั้งใจ การปฏิเสธคือระบบที่ทำงานได้
ขอให้เจ้าของทรัพยากรยืนยันสิทธิ์ที่ตั้งใจไว้แทนการเพิ่มเส้นทางกว้าง ๆ หรือเปิดกลุ่มเพื่อทดสอบ การขยายเครือข่ายเพื่อพิสูจน์ประเด็นคือวิธีที่การวินิจฉัยชั่วคราวกลายเป็นการเปิดเผยถาวร และมันทำลายการควบคุมที่คุณเริ่มต้นด้วย ความไม่สอดคล้องที่แสดงให้เห็นหนึ่งอย่างต่อการทำซ้ำก็เพียงพอ: เส้นทางที่หายไป ตระกูลที่อยู่ผิด พอร์ตที่ถูกบล็อก หรือการเป็นสมาชิกกลุ่มที่ขาดไป
หลังทุกการเปลี่ยนแปลง ให้ทำคำขอทั้งสองซ้ำและเก็บผลลัพธ์ไว้เคียงกัน การสอบสวนสิ้นสุดเมื่อบริการที่ล้มเหลวทำงานภายใต้นโยบายของตัวเอง ขณะที่บริการที่ใช้งานได้และการปฏิเสธที่คุณยังคาดหวังยังคงทำงานเหมือนเดิมทุกประการ