我试图理解为什么许多 Linux(虚拟)网络指南将 IP 地址附加到桥接设备?物理网桥本身并没有真正的 IP,而是将网络连接到它,并且它们的设备可能有 IP 地址。在什么逻辑场景中,为桥接设备(例如 br0)提供 IP 地址实际上有意义,而不是创建虚拟 NIC(例如 vnet0),将其附加到 br0 并为 vnet0 提供 IP?连接到多个物理交换机时是否只有一个 IP?
答案1
当您在 Linux 中创建桥接器时,它可以自动在该桥接器上创建一个分接设备,以便为您的 Linux 主机提供该桥接器上的接口。当您在网桥本身上设置 IP 地址时,这一切都会透明地完成。如果您不想要/不需要该分接接口,请不要为桥接器提供 IP。
答案2
我不同意上面的答案。
在Linux世界中,bridge是一个L2设备。桥接一词实际上意味着桥接器保留一个 MAC 地址表并不断更新它。允许将网桥添加到以太网设备(例如eth2)。一件坏事是,一旦 eth0 连接到网桥(即 br0),eth0 的 IP 地址将不再可访问。所以现在需要将eth0的ip地址分配给br0。
Linux网桥是网络设备的抽象。由于ip地址被分配给br0。现在,Linux 实际上能够使用 ip 表或路由表从 L3 跟踪 br0。
关于TAP设备,据我所知,TAP设备充当从用户空间与Linux协议栈对话的角色。例如,用户步程序可以与内核对话,并使其相信数据包来自另一台使用 TAP 的计算机。