La razón por la cual su puente y su interfaz TAP comparten la misma dirección MAC, es porque el puente no tiene un MAC, hasta que está vinculado a una interfaz. Si crea un puente con BRCTL y realiza un "show brctl", encontrará que el puente tiene puertos vacíos (sin interfaz vinculada) Al vincular TAP0 a br0, naturalmente, se mostrará como el mismo MAC. Creé un puente de prueba, para ilustrar.
# brctl addbr testbr0
[root @ stooge, etc.] # brctl show testbr0
nombre de puente id de puente interfaces habilitadas para STP
testbr0 8000.000000000000 no
Creé tres TAPS de prueba. La salida de "brctl showmacs testbr0".
[root @ stooge, etc.] # brctl showmacs testbr0
puerto no mac addr es local? temporizador de envejecimiento
1 86: 51: b6: 95: 0e: b6 sí 0.00
2 86: 58: 63: c6: d4: e7 sí 0.00
3 8a: a7: fa: 17: c5: 12 sí 0.00
Como puede ver, cada puerto de puente tiene una dirección MAC única, y el puente debe mostrar su MAC, como la primera interfaz enlazada. Si conecta una interfaz de red física, el puente Ethernet heredará su dirección MAC y moverá todas las interfaces virtuales hacia abajo. Ejemplo de unión eth0, al puente de prueba.
[root @ stooge, etc.] # brctl showmacs testbr0
puerto no mac addr es local? temporizador de envejecimiento
4 AA: BB: CC: DD: EE: FF sí 0.00
1 86: 51: b6: 95: 0e: b6 sí 0.00
2 86: 58: 63: c6: d4: e7 sí 0.00
3 8a: a7: fa: 17: c5: 12 sí 0.00
Usando "brctl show" nuevamente;
[root @ stooge, etc.] # show brctl
nombre de puente id de puente interfaces habilitadas para STP
testbr0 8000.00aabbccddee no eth0
tap00
tap01
tap02
las interfaces TAP han bajado una, aunque eth0, todavía está en el PUERTO 4. Todavía tiene direcciones MAC únicas. Si el puente Ethernet está vinculado a una interfaz de ruta de origen, no tiene opción de usar una dirección IP o DHCP. Por lo que vale, si conecta una interfaz de ruta de origen, mostrará una dirección MAC "no local". Esta es la dirección MAC del enrutador del siguiente salto. Sé que en RedHat, hay una opción para especificar una IP de origen, usando IFCONFIG. Mi primera opción sería consultar la referencia del comando IP, ya que creo que puede especificar una IP de origen. Nunca lo he intentado