为什么Linux要求将IP从eth接口移动到网桥接口


27

将网络接口(例如eth0)添加到Linux网桥(例如br0)时,必须从eth0中删除IP地址并将其添加到br0中,以使网络正常运行。

我记得在一些Open vSwitch自述文件(我现在找不到)中读到,由于Linux内核的实现方式,需要移动IP地址。要求IP地址从NIC移到网桥的Linux实施有什么意义?

Answers:


10

NIC代表上行链路电缆。电缆是第1层,而不是第3层。

现在,网桥用作要在服务器上(第2层(以太网/ MAC)和/或第3层(IP))上用于网络流量(传入)的设备。

因此,响应ARP请求的设备是网桥-很好,因为它需要将流量分配到该网桥上的其他接口。

如果响应设备是NIC,则流量将不会进一步传递到网桥。

因此,在某些指南中,甚至建议从(上行)NIC中删除MAC。


因此,说到实际的linux机制(而不是好的做法),就意味着如果我将接口放在桥下,内核不再将其视为L2 / L3可寻址接口?对 ?由于没有什么可以阻止为其分配MAC / IP,因此很令人困惑。
2013年

1
@Jocelyn反过来。如果仍可寻址为L2 / 3,它将阻止其他流量。因此,如果在桥接器上,则不应直接解决。
Nils 2013年

好的,但是默认情况下,该端口在L2上仍可访问(如果不删除,请保留MACaddr),对吗?为什么它让L2流量流向网桥?
2013年

2
@Jocelyn只要不响应arp请求,在l2 / 3上一切都会很好。如果它没有捕获数据包,它将让数据包进入内核的网络部分。
Nils

好。我问原因是我注意到在给端口分配地址时掉线了; 但这是由rp_filter引起的。
Jocelyn delalande 2013年

1

当网桥中有多个接口时,网桥会将流量分配到需要去的地方。现在,桥接器中的各个接口或多或少都根据桥接器的决定在第2层上工作,而不是在第3层上独立运行。因此,您希望将桥接器作为一个整体来处理,而不是其中的各个接口。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.