您的网桥和TAP接口共享相同的MAC地址的原因是,直到网桥绑定到接口为止,它都没有MAC。如果使用BRCTL创建网桥并执行“ brctl show”,则会发现该网桥具有空端口。(未绑定接口)将TAP0绑定到br0时,自然会显示为相同的MAC。我创建了一个测试桥,以进行说明。
#brctl addbr testbr0
[root @ stooge等]#brctl show 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 show”;
[root @ stooge等]#brctl show
桥接名称桥接ID STP启用的接口
testbr0 8000.00aabbccddee no eth0
tap00
tap01
tap02
尽管eth0仍位于端口4,但TAP接口已经下移了一个。您仍然具有唯一的MAC地址。如果将以太网桥绑定到源路由接口,则无法选择使用IP地址或DHCP。对于它的价值,如果桥接源路由接口,则会显示一个“非本地” MAC地址。这是下一跳路由器的MAC地址。我知道在RedHat中,可以使用IFCONFIG指定源IP。我的第一个选择是咨询IP命令参考,因为我认为您可以指定源IP。我从来没有尝试过。