为什么要在网桥接口上分配MAC和IP地址


18

说我创造(Linux上的桥接口br0),并添加到它的一些接口(eth0tap0,等)。我的理解是,该接口就像虚拟交换机一样,它添加了所有接口/端口。

为该接口分配MAC和IP地址是什么意思?该接口是否充当交换机/网桥上的附加端口,该端口允许其他端口访问主机?

我看过一些页面谈论将IP地址分配给网桥。MAC分配是隐式的(还是自动的)?


这是一个相关的问题
chus

Answers:


16

由于网桥是以太网设备,因此需要MAC地址。linux网桥可以发起诸如生成树协议框架之类的事情,而类似的流量则需要起源MAC地址。

网桥不需要 IP地址。在许多情况下,您将没有机会。但是,在许多情况下,您可能拥有一个,例如:

  • 当网桥充当一组容器或虚拟机(甚至物理接口)的默认网关时。在这种情况下,它需要一个IP地址(因为路由发生在IP层)。

  • 当您的“主” NIC是网桥的成员时,则网桥就是您与外界的连接。在这种情况下,eth0您无需将IP地址分配给(例如),而是将其分配给桥接设备。

如果桥没有所需的IP路由,那么它并不需要一个IP地址。这种情况的示例包括:

  • 当使用网桥创建设备的专用网络时,该设备没有外部连接,或者通过网桥以外的设备提供外部连接。

1
“由于网桥是以太网设备,因此需要MAC地址。” 为什么?连接到网桥的设备确实具有MAC地址。但是我认为桥梁本身不需要。至于答案的其余部分,这是否意味着网桥接口充当网桥上的附加“端口”,从而允许其他端口访问主机?
渐变

该网桥能够发起以太网帧,因此需要一个地址。回复:问题的第二部分...确定。
larsk's

2
但是,桥接接口必须具有MAC地址是强制性的吗?我的意思是,物理交换机不必具有MAC地址即可工作,是吗?因此,我认为该接口也不需要一个。
渐变

3
简单的网桥实际上是一个两端口交换机,因此它不一定需要任何地址。一个简单的网桥不发起帧,它只是在一个端口上接收一个帧,然后在另一个端口上转发它,或者丢弃它。
约翰·迈伦(JohanMyréen)'16

“这样的桥梁就是您与外界的连接。” 为什么?为什么主NIC仍不能与外界连接?真实的硬件桥接器还保持与它们连接的真实链接伙伴的IP地址。为什么不使用Linux虚拟桥梁?
Johannes Schaub-litb

6

是的,网桥接口充当附加端口。

之后man 5 systemd.netdev

桥接设备是软件交换机,其每个从设备和桥接器本身都是交换机的端口。

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.