เหตุผลที่บริดจ์และอินเตอร์เฟส TAP ของคุณใช้ที่อยู่ MAC เดียวกันร่วมกันเป็นเพราะบริดจ์ไม่มี MAC จนกว่าจะถูกผูกไว้กับอินเตอร์เฟส หากคุณสร้างบริดจ์ด้วย BRCTL และทำ "brctl show" คุณจะพบว่าบริดจ์มีพอร์ตว่าง (ไม่มีส่วนต่อประสานกับมัน) ในการเชื่อม TAP0 ถึง br0 ตามธรรมชาติมันจะแสดงเป็น MAC เดียวกัน ฉันสร้างสะพานทดสอบเพื่อแสดง
# brctl addbr testbr0
[root @ stooge ฯลฯ ] # brctl แสดง testbr0
บริดจ์ชื่อบริดจ์ id อินเตอร์เฟส STP ที่เปิดใช้งาน
testbr0 8000.000000000000 ไม่
ฉันสร้าง TAPS การทดสอบสามชุด เอาต์พุตจาก "brctl showmacs testbr0"
[root @ stooge ฯลฯ ] # brctl showmacs testbr0
พอร์ตไม่มี mac addr อยู่ในเครื่องหรือไม่ เครื่องจับเวลา
1 86: 51: b6: 95: 0e: b6 ใช่ 0.00
2 86: 58: 63: c6: d4: e7 ใช่ 0.00
3 8a: a7: fa: 17: c5: 12 ใช่ 0.00
อย่างที่คุณเห็นแต่ละบริดจ์พอร์ตมีที่อยู่ MAC ที่ไม่ซ้ำกันและบริดจ์ควรแสดง MAC ของมันในฐานะที่เป็นอินเตอร์เฟสแรกที่ถูกผูกไว้ หากคุณเชื่อมต่อเครือข่ายแบบฟิสิคัลบริดจ์อีเทอร์เน็ตจะรับที่อยู่ MAC ของมันและย้ายอินเทอร์เฟซเสมือนทั้งหมดลง ตัวอย่างการเชื่อมโยง eth0 ไปยังบริดจ์ทดสอบ
[root @ stooge ฯลฯ ] # brctl showmacs testbr0
พอร์ตไม่มี mac addr อยู่ในเครื่องหรือไม่ เครื่องจับเวลา
4 AA: BB: CC: DD: EE: FF ใช่ 0.00
1 86: 51: b6: 95: 0e: b6 ใช่ 0.00
2 86: 58: 63: c6: d4: e7 ใช่ 0.00
3 8a: a7: fa: 17: c5: 12 ใช่ 0.00
ใช้ "การแสดง brctl" อีกครั้ง;
[root @ stooge ฯลฯ ] # brctl แสดง
บริดจ์ชื่อบริดจ์ id อินเตอร์เฟส STP ที่เปิดใช้งาน
testbr0 8000.00aabbccddee ไม่มี eth0
tap00
tap01
tap02
อินเทอร์เฟซ TAP ได้ลดลงหนึ่งแม้ว่า eth0 ยังคงอยู่ที่ PORT 4 คุณยังคงมีที่อยู่ MAC ที่ไม่ซ้ำกัน หากอีเธอร์เน็ตบริดจ์เชื่อมโยงกับอินเทอร์เฟซเส้นทางต้นทางคุณไม่มีทางเลือกในการใช้ที่อยู่ IP หรือ DHCP สำหรับสิ่งที่คุ้มค่าถ้าคุณเชื่อมต่อส่วนต่อเส้นทางต้นทางคุณจะแสดงที่อยู่ MAC "ที่ไม่ใช่ในท้องถิ่น" นี่คือที่อยู่ MAC ของเราเตอร์กระโดดถัดไป ฉันรู้ใน RedHat มีตัวเลือกในการระบุ IP ต้นทางโดยใช้ IFCONFIG ตัวเลือกแรกของฉันจะปรึกษาการอ้างอิงคำสั่ง IP เนื่องจากฉันคิดว่าคุณสามารถระบุ IP ต้นทางได้ ฉันไม่เคยลองเลย