我对网桥的理解是具有一种“虚拟交换机”,它虚拟地连接网络设备(添加到网桥中),就好像我用电缆将它们连接到真正的交换机一样......但这种类比一定有问题,因为出于某种原因,我需要在网桥设备上设置我的 IP 地址。
例子
例如,让我们进行以下设置:我有一台机器,它充当多个虚拟机的主机(具有自己的虚拟网络设备 vnet0、vnet1、vnet2 等)。这台机器有一个物理网络接口 eth0,我想让所有虚拟机和主机都使用它来与外界通信。
由于我的主机应该有一个 IP 地址,因此我认为我应该在 eth0 上配置此 IP(包括默认网关、DNS 服务器等)。然后我将创建一个网桥 br0 并将所有接口(eth0、vnet0、vnet1、vnet2 等)添加到该网桥。这不起作用...
相反,我需要配置网桥 br0 以具有我的主机的 IP 地址(并且还配置了默认网关和 DNS 服务器),然后将所有接口(eth0、vnet0、vnet2,...)添加到网桥 br0。
嗯,...这有效。但我实际上想知道为什么将 IP 定义到 eth0 上不起作用。我似乎缺少一些关于这实际上如何工作的基本知识。所以如果有人能向我解释这有什么问题,我会很高兴。我通常想真正了解这些东西是如何工作的。所以如果你能详细介绍协议,我会很高兴。
答案1
在 UL 上有一个非常相似的问题:https://unix.stackexchange.com/questions/86056/why-does-linux-require-moving-ip-from-eth-interface-to-bridge-interface
类比起来,ETH 类似于上行链路 L1 电缆。