Причина, через яку ваш міст і інтерфейс TAP мають однакову MAC-адресу, полягає в тому, що міст не має MAC, поки не пов'язаний з інтерфейсом. Якщо ви створите міст з BRCTL і зробите "brctl show", ви знайдете, що міст має порожні порти. (До нього не пов'язаний інтерфейс). Я створив тестовий міст, для ілюстрації.
# brctl addbr testbr0
[root @ stooge тощо] # brctl показати testbr0
Інтерфейси з підтримкою мосту Bridge ID ID STP
testbr0 8000.000000000000 ні
Я створив три тестові ТАПИ. Вихід з "brctl showmacs testbr0".
[root @ stooge тощо] # brctl showmacs testbr0
port no mac addr не є локальним? таймер старіння
1 86: 51: b6: 95: 0e: b6 так 0,00
2 86: 58: 63: c6: d4: e7 так 0,00
3 8а: a7: fa: 17: c5: 12 так 0,00
Як бачите, кожен порт мосту має унікальну MAC-адресу, і міст повинен показувати свій MAC, як перший пов'язаний інтерфейс. Якщо ви з'єднаєте фізичний мережевий інтерфейс, міст Ethernet успадкує свою MAC-адресу та перемістить всі віртуальні інтерфейси вниз. Приклад зв'язування eth0, з тестовим мостом.
[root @ stooge тощо] # brctl showmacs testbr0
port no 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 8а: a7: fa: 17: c5: 12 так 0,00
Використання "brctl show" знову;
[root @ stooge тощо] # шоу Brctl
Інтерфейси з підтримкою мосту Bridge ID ID STP
testbr0 8000.00aabbccddee no eth0
tap00
tap01
tap02
інтерфейси TAP перемістилися вниз, хоча eth0 все ще знаходиться на PORT 4. У вас є унікальні MAC адреси. Якщо міст Ethernet прив’язаний до інтерфейсу вихідного маршруту, у вас немає вибору використовувати IP-адресу або DHCP. Наскільки це варто, якщо ви змостуєте інтерфейс вихідного маршруту, ви покажете "не локальну" MAC-адресу. Це MAC-адреса маршрутизатора наступного переходу. Я знаю, що в RedHat є можливість вказати джерело IP, використовуючи IFCONFIG. Першим моїм варіантом було б консультування з посиланням на команду IP, оскільки я думаю, ви можете вказати джерело IP. Я ніколи цього не пробував.