ไม่มีทางที่จะทำเช่นนี้กับ 192.168.1.1 และ 192.168.1.2 บนอินเทอร์เฟซเครือข่ายเดียวกันของเกตเวย์ ดังนั้นการแก้ไขไปยังที่อยู่ MAC เดียวกัน ไม่ใช่คุณสมบัติที่ไม่ได้ใช้งาน iptables ที่สามารถนำไปใช้ได้ เป็นคุณสมบัติที่ไม่สามารถนำไปใช้ได้เนื่องจากการทำงานของเครือข่าย IP
ไคลเอนต์ที่ใช้ 192.168.1.1 หรือ 192.168.1.2 เป็นเกตเวย์จะไม่ส่งแพ็กเก็ต IPv4 เดียวที่มี 192.168.1.1 หรือ 192.168.1.2 อยู่ในนั้นเมื่อส่งแพ็กเก็ตไปยังอินเทอร์เน็ต มันจะ:
- ศึกษาตารางเส้นทางสำหรับปลายทางที่กำหนด
- พบว่ามีเกตเวย์สำหรับปลายทางนี้
- ใช้ ร.ฟ.ท หรือรายการแคชเพื่อแก้ไขที่อยู่ L2 (ที่อยู่ MAC ของอีเธอร์เน็ต) ที่จำเป็นในการเข้าถึงเกตเวย์
ขั้นตอนสุดท้ายจะมีปลายทางอีเธอร์เน็ตเพียงแห่งเดียว: ที่อยู่ MAC เฉพาะของ NIC ของเกตเวย์: เหมือนกันสำหรับไคลเอนต์ที่มีเกตเวย์ 192.168.1.1 หรือไคลเอนต์อื่นที่มีเกตเวย์ 192.168.1.2
ดังนั้น ไคลเอนต์แต่ละรายจะส่งแพ็กเก็ตไปยังเกตเวย์ด้วยที่อยู่ต้นทาง IPv4 ซึ่งเป็นปลายทาง IPv4 ที่ต้องการในเฟรมอีเทอร์เน็ตซึ่งมีที่อยู่ MAC ของอีเทอร์เน็ตปลายทางเดียวกันในทั้งสองกรณี 192.168.1.1/192.168.1.2 ออกจากลูป
ขณะนี้เกตเวย์เห็นสองแพ็กเก็ตที่จะกำหนดเส้นทาง ไม่ว่าในกรณีใดแพ็กเก็ตเหล่านี้จะบอกใบ้อีกต่อไปหากใช้งานอยู่ 192.168.1.1
หรือ 192.168.1.2
เป็นเกตเวย์: ข้อมูลไม่ปรากฏบนสายดังนั้นจึงไม่สามารถรู้ได้จากที่ใดโดยเกตเวย์ ถ้าระบบไม่มีข้อมูลในการแยกแยะกรณีละก็ iptables ไม่สามารถมีข้อมูลที่ไม่มีอยู่นี้ได้เช่นกัน
คำแนะนำวิธีแก้ปัญหา:
สามารถใช้ก แมคแวลแลน อินเตอร์เฟสเพื่อให้มี NIC ที่สองซึ่งมีที่อยู่ MAC แยกต่างหาก และกำหนด 192.168.1.2/24 ให้กับมันแทน ซึ่งจะทำให้แพ็กเก็ตจากไคลเอนต์ที่ใช้ 192.168.1.2 เป็นเกตเวย์มาถึง NIC นี้แทน กรณีนี้แยกแยะได้ง่าย iptables: ความแตกต่าง -i นิค
กรอง.
แต่สิ่งนี้สร้างปัญหาการกำหนดเส้นทางของการมี NIC หลายตัวใน LAN เดียวกัน และต้องใช้อย่างใดอย่างหนึ่ง:
กฎการกำหนดเส้นทางนโยบายขั้นสูงเพื่อจัดการกับกรณีนี้อย่างเหมาะสม
ดังนั้นการตอบกลับจะไม่ถูกส่งผ่าน NIC ที่ไม่ถูกต้อง ซึ่งอาจจะส่งผลต่อพฤติกรรมการกำหนดเส้นทางหรือกฎไฟร์วอลล์
- และนอกจากนี้ บริการ UDP ใดๆ ที่สอบถามบน 192.168.1.2 (หากเป็นค่าเริ่มต้น 192.168.1.1) ต้องรู้วิธีตอบด้วยที่อยู่ต้นทางที่ถูกต้อง 192.168.1.2 (แทนที่จะเป็นค่าเริ่มต้น 192.168.1.1): จะต้องเป็นแบบหลายบ้าน รับรู้. TCP ไม่ต้องการการดูแลเป็นพิเศษ
หรือเนมสเปซเครือข่ายเพิ่มเติมเพื่อแยกส่วนต่อประสานที่เพิ่ม แต่ด้วยกฎ REDIRECT นั่นหมายถึงบริการบนพอร์ต 9992 ต้องทำงานในเนมสเปซเครือข่ายเพิ่มเติมแทนและเนมสเปซเครือข่ายนี้ยังคงต้องสื่อสารกับอินเทอร์เน็ตโดยใช้เนมสเปซเครือข่ายเริ่มต้น: รวมถึงการกำหนดค่าเพิ่มเติมเพื่อวางแผนในที่ต่างๆ