为桥接接口添加 IP 地址

为桥接接口添加 IP 地址

为桥接接口分配 IP 地址真的有意义吗?注意:使用 brctl 创建桥接器,然后为创建的 br0 分配 IP 地址。

为桥接接口分配 IP 地址有什么好处/用途吗

答案1

仅当您想在该接口上发起或接收 IP 流量时,才需要将 IP 地址附加到桥接设备。如果您只是将两个 NIC 用作中继器(某种意义上),则不需要 IP 地址。

答案2

在 2011 年,为桥接接口分配 IP 地址可能听起来很荒谬,但如今在 2022 年,这种技术已广泛用于在容器(或更具体地说是网络命名空间)之间路由流量。请参阅示例从头开始构建容器网络Linux 桥接器、IP 表和 CNI 插件 - 容器网络深度探究基本上,你将veth不同容器中的对连接到桥接接口,veth为该桥接接口分配一个包含这些对的 IP 地址的子网,然后让桥接接口执行所有路由。

这样,容器在一台机器上形成了一个软件定义的局域网,这非常灵活,因为您只需调整容器(而不是实际机器)即可更改网络拓扑。此外,这是一个非常有用的抽象,因为容器被视为单独的机器,因此不再有 LAMP 麻烦。

(虽然听起来更像是一个开关,但由于内核中没有等效的开关抽象,所以我们在这里。)

答案3

是的,你可以使用 IP 与它对话。如果这听起来像是轻率的回答,我很抱歉;这不是我的本意。

首先,请记住,桥梁的各个成员应该不是已经为它们分配了地址,因此您无法通过这种方式与网桥通信。

然后,考虑一下我的问题,当时我有一个三脚防火墙。内部一个简单的接口上是 192.168.0.0/16;当流量流出时,需要对其进行 NAT。在其他两个接口上,我有 213.219.1.0/25,但我需要将该地址空间中的某些机器暴露在互联网上,而其他机器则位于防火墙后面 -但那里已有的机器的地址已确定,因此我无法将其拆分为 213.219.1.0/26 和 213.219.1.64/26。我在外部接口和 DMZ 接口上都有 213.219.1.0/25 的成员,高和低。

我唯一的选择是建立外部和 DMZ 接口之间的桥接,并使用--physdev-in规则--physdev-out来制定防火墙决策,以便在这些接口之间桥接数据包。

但对于进出内部接口的流量,这是完整的第 3 层路由。防火墙的“外部”接口需要有一个地址,以便将数据包从内部接口 NAT 到外部接口,并且它还需要一个地址,例如用于来自互联网的远程管理、VPN 终端等。

因此,据我所知,在这种情况下,桥接接口肯定需要自己的 IP 地址。这有道理吗?

相关内容