ICMP รีไดเรกต์กับเส้นทาง VPN ของคุณ: อะไรเปลี่ยนจริง
รีไดเรกต์เป็นข้อเสนอของเราเตอร์ ไม่ใช่การเปลี่ยนเส้นทาง ว่าโฮสต์จะเชื่อฟังหรือไม่ขึ้นอยู่กับนโยบายต่ออินเทอร์เฟซซึ่งต่างกันระหว่าง IPv4 และ IPv6
โฟลว์ที่ควรข้ามอุโมงค์เลือกฮอปถัดไปอีกตัว และมีคนพบรีไดเรกต์ ICMP ในแคปเจอร์ นั่นคือสมมติฐาน ไม่ใช่การวินิจฉัย รีไดเรกต์คือข้อเสนอของเราเตอร์เกี่ยวกับฮอปถัดไปที่ดีกว่า และโฮสต์จะทำตามหรือไม่ขึ้นอยู่กับการตั้งค่าที่ต่างกันตามแพลตฟอร์ม อินเทอร์เฟซ และตระกูลที่อยู่
รีไดเรกต์คือข้อเสนอจากเราเตอร์
รีไดเรกต์ ICMP แบบ IPv4 มีชนิดข้อความของตัวเองและเงื่อนไขที่แคบ: เราเตอร์ส่งแพ็กเก็ตออกทางอินเทอร์เฟซที่มันเข้ามา และรู้จักฮอปถัดไปบนลิงก์เดียวกันที่อยู่ใกล้ปลายทางกว่า จากนั้นบอกผู้ส่งให้ใช้ฮอปนั้นโดยตรง ข้อความระบุเกตเวย์ใหม่และแนบส่วนหนึ่งของแพ็กเก็ตเดิมไว้เพื่อให้ผู้ส่งจับคู่กับโฟลว์ได้ นี่เป็นข้อความเชิงมารยาทเกี่ยวกับโทโพโลยีท้องถิ่น และถือว่าผู้ส่งอยู่ในลิงก์เดียวกับเกตเวย์ที่เสนอ
ผู้ส่งมีสิทธิ์เพิกเฉยได้ ไม่มีสิ่งใดในโปรโตคอลบังคับให้โฮสต์เปลี่ยนตารางของตน และรีไดเรกต์ที่ดักได้เป็นเพียงหลักฐานว่าเราเตอร์ส่งมันออกไป
การสอบสวนรีไดเรกต์ส่วนใหญ่พลาดตรงความต่างนี้เอง
IPv4 กับ IPv6 ส่งมันต่างกัน
IPv6 มีกลไกที่เทียบกันได้อยู่ในการค้นหาเพื่อนบ้าน ไม่ใช่ใน ICMPv4 โดยมีรูปแบบข้อความและกฎการตรวจสอบที่ต่างกัน แนวคิดคล้ายกัน แต่แพ็กเก็ตไม่เหมือน ฟิลเตอร์แคปเจอร์ที่เขียนสำหรับ ICMP ชนิด 5 จะไม่แสดงอะไรเลยในเครือข่าย IPv6 ซึ่งบางครั้งถูกอ่านเป็นหลักฐานว่าไม่มีรีไดเรกต์เกิดขึ้น
ปุ่มนโยบายก็แยกกัน ดังนั้นโฮสต์อาจรับรีไดเรกต์ IPv4 และเพิกเฉยต่อ IPv6 หรือกลับกัน
ตรวจทั้งสองตระกูลหากโฟลว์ที่สนใจอาจใช้ได้ทั้งสอง
การยอมรับเป็นนโยบายของโฮสต์ ไม่ใช่ข้อเท็จจริงของเครือข่าย
บน Linux การยอมรับรีไดเรกต์ถูกควบคุมรายอินเทอร์เฟซและทั้งระบบ และค่าเริ่มต้นต่างกันระหว่างบทบาทโฮสต์กับเราเตอร์ อินเทอร์เฟซอุโมงค์ที่ยอมรับรีไดเรกต์เป็นการออกแบบที่แปลก เพราะในอุโมงค์แบบจุดต่อจุดไม่มีฮอปถัดไปทางเลือกบนลิงก์เดียวกันที่มีความหมาย จึงควรอ่านค่านี้มากกว่าสันนิษฐาน
การตั้งค่ารีไดเรกต์แบบปลอดภัยยิ่งจำกัดว่าเกตเวย์ใดเชื่อถือได้
หากคุณกำลังทำให้โฮสต์เข้มงวดขึ้น นี่คือปุ่มที่ต้องทบทวน และเป็นเหตุผลที่เครื่องสองเครื่องในเครือข่ายเดียวกันอาจทำงานต่างกัน เปลี่ยนมันในฐานะนโยบาย ไม่ใช่ทางลัดในการดีบัก
สิ่งที่รีไดเรกต์อธิบายไม่ได้
เส้นทางเฉพาะ กฎเราเตอร์ตามนโยบาย และอินเทอร์เฟซท้องถิ่นอธิบายเส้นทางที่ไม่คาดคิดส่วนใหญ่ได้โดยไม่ต้องมีรีไดเรกต์ พรีฟิกซ์ที่เฉพาะเจาะจงกว่า กฎที่ตรงกับที่อยู่ต้นทาง หรือค่าเริ่มต้นตัวที่สองในตารางอื่น แต่ละอย่างจะทับเส้นทางที่คุณคาดไว้ ตรวจสิ่งเหล่านี้ก่อน เพราะมันแน่นอนและมองเห็นได้
แคปเจอร์เก่าเป็นกับดักอีกอย่าง เพราะไคลเอนต์ที่เปลี่ยนเครือข่ายมีเกตเวย์ท้องถิ่นคนละตัว
รีไดเรกต์เก่าจากการเชื่อมต่อครั้งก่อนไม่ได้อธิบายอะไรเกี่ยวกับเส้นทางปัจจุบัน จึงบันทึกว่าอินเทอร์เฟซใดรับทราฟฟิกควบคุมอยู่ตอนนี้
ตรวจเส้นทางก่อนตำหนิอุโมงค์
ถามเคอร์เนลว่าจะใช้เส้นทางใดสำหรับปลายทาง แล้วเทียบกับตารางที่คุณตั้งใจไว้ หากคำตอบตรงกับตาราง ก็ไม่มีรีไดเรกต์ใดเปลี่ยนอะไร และการสอบสวนอยู่ที่อื่น หากไม่ตรง ก่อนสรุปว่าอุโมงค์เป็นความผิด ให้มองหารีไดเรกต์ที่แคชไว้ กฎนโยบาย หรือตารางที่สอง การค้นเส้นทางคือความจริง และที่เหลือเป็นเรื่องเล่าว่ามันมาได้อย่างไร
รีไดเรกต์ไม่ควรเป็นเหตุให้เส้นทางที่ได้รับการป้องกันกลายเป็นเส้นทางที่ไม่ได้รับการป้องกันอย่างเงียบ ๆ นโยบายการยอมรับจึงควรอยู่ในบททบทวนการออกแบบ คำจำกัดความใน RFC 792 ยังคงเป็นข้อมูลอ้างอิงว่าข้อความ IPv4 พูดอะไรได้
เขียนผลการค้นเส้นทางและเวลาของแคปเจอร์ไว้ด้วยกัน แล้วคนถัดไปจะทำซ้ำข้อสรุปของคุณได้