为什么必须在桥接设备上配置IP?

SDw*_*rfs 13 linux routing ip bridge linux-networking

我对网桥的理解是有一种“虚拟交换机”,它虚拟地连接网络设备(已添加到网桥),就好像我会用电缆将它们连接到真正的交换机……但一定有问题这种类比,由于某种原因,我需要在桥接设备上设置我的 IP 地址。

例子

例如,让我们进行以下设置:我有一台机器充当多个虚拟机的主机(拥有自己的虚拟网络设备 vnet0、vnet1、vnet2……)。这台机器有一个物理网络接口 eth0,我想用于所有虚拟机和我的主机与外界进行通信。

由于我的主机应该有一个 IP 地址,因此我认为我应该在 eth0 上配置这个 IP(inkl。默认网关,DNS 服务器,...)。然后我会创建一个网桥 br0 并将所有接口(eth0、vnet0、vnet1、vnet2、..)添加到该网桥。这不起作用...

相反,我需要将网桥 br0 配置为具有我主机的 IP 地址(并​​且还配置了默认网关和 DNS 服务器),然后将所有接口(eth0、vnet0、vnet2...)添加到网桥 br0 .

嗯,......这有效。但我实际上想知道为什么在 eth0 上定义 IP 不起作用。我似乎缺少一些关于这实际上是如何工作的基本知识。因此,如果有人可以向我解释这有什么问题,我会很高兴。我通常想真正了解这些东西是如何工作的。因此,如果您要详细了解协议,我会很高兴。

Nil*_*ils 5

你在 UL 上是一个非常相似的问题:https : //unix.stackexchange.com/questions/86056/why-does-linux-require-moving-ip-from-eth-interface-to-bridge-interface

类比是 ETH 类似于上行链路 L1 电缆。