Powodem, dla którego twój mostek i interfejs TAP współużytkują ten sam adres MAC, jest to, że most nie ma adresu MAC, dopóki nie zostanie powiązany z interfejsem. Jeśli utworzysz most za pomocą BRCTL i wykonasz „pokaz brctl”, zobaczysz, że most ma puste porty. (Bez powiązanego z nim interfejsu) W powiązaniu TAP0 z br0, oczywiście będzie on wyświetlany jako ten sam MAC. Zilustrowałem most testowy.
# brctl addbr testbr0
[root @ stooge itp.] # brctl show testbr0
nazwa mostu identyfikator mostu Interfejsy włączone STP
testbr0 8000.000000000000 nr
Stworzyłem trzy testowe TAPS. Dane wyjściowe z „brctl showmacs testbr0”.
[root @ stooge itp.] # brctl showmacs testbr0
port żaden adres MAC nie jest lokalny? licznik czasu starzenia
1 86: 51: b6: 95: 0e: b6 tak 0,00
2 86: 58: 63: c6: d4: e7 tak 0,00
3 8a: a7: fa: 17: c5: 12 tak 0,00
Jak widać, każdy port mostu ma unikalny adres MAC, a most powinien pokazywać swój adres MAC, jako pierwszy związany interfejs. Jeśli przełączysz fizyczny interfejs sieciowy, most Ethernet odziedziczy jego adres MAC i przeniesie wszystkie interfejsy wirtualne w dół. Przykład wiązania eth0 z mostkiem testowym.
[root @ stooge itp.] # brctl showmacs testbr0
port żaden adres MAC nie jest lokalny? licznik czasu starzenia
4 AA: BB: CC: DD: EE: FF tak 0,00
1 86: 51: b6: 95: 0e: b6 tak 0,00
2 86: 58: 63: c6: d4: e7 tak 0,00
3 8a: a7: fa: 17: c5: 12 tak 0,00
Ponowne użycie „brctl show”;
[root @ stooge itp.] # brctl show
nazwa mostu identyfikator mostu Interfejsy włączone STP
testbr0 8000.00aabbccddee no eth0
tap00
tap01
tap02
interfejsy TAP przesunęły się w dół o jeden, mimo że eth0 nadal znajduje się w PORT 4. Nadal masz unikalne adresy MAC. Jeśli most Ethernet jest powiązany z interfejsem trasy źródłowej, nie masz wyboru w korzystaniu z adresu IP lub DHCP. Za ile warto, jeśli przełączysz interfejs trasy źródłowej, pokażesz „nielokalny” adres MAC. To jest adres MAC routera następnego skoku. Wiem, że w RedHat istnieje możliwość podania źródłowego adresu IP za pomocą IFCONFIG. Moją pierwszą opcją byłoby sprawdzenie odniesienia do polecenia IP, ponieważ myślę, że możesz podać źródłowy adres IP. Nigdy tego nie próbowałem.