eth0-wlan0 桥接 IPv6,不转发/桥接 IPv4,带有 DHCPv4 客户端*和*服务器

eth0-wlan0 桥接 IPv6,不转发/桥接 IPv4,带有 DHCPv4 客户端*和*服务器

请注意:这是不是已经回答过的“IPv6 桥接+IPv4 NATing”问题,而是“IPv6 桥接+DHCPv4 客户端在 eth0+ 上DHCPv4 服务器在 wlan0 上”的问题。

对于 IPv4/IPv6 双栈和仅 IPv6 系统测试,我想使用 Linux 构建一个非常特殊的“brouter”。这个 brouter 有两个物理网络接口,eth0 和 wlan0。我使用桥接器 br0,将 eth0 和 wlan0 连接到该桥接器。

现在来看一下总体情况:

  • eth0将附加到:
    1. 仅支持 IPv6 的基础设施,其中 RA 提供前缀和 DNS 自动配置,或者
    2. 具有 IPv4/IPv6 路由器的 IPv6/IPv4“家庭”网络,提供 IPv6 前缀和 DNS 自动配置,以及用于地址和 DNS 自动配置的 DHCPv4。
  • wlan0在接入点模式下工作,无线设备稍后会连接到该模式,例如智能手机。这些设备将获得完整的 IPv6 连接,但只能获得“有限的”(本地)IPv4 连接。也就是说,这些设备应该获得一个私有 IPv4 地址,但在eth0IPv4 方面没有任何桥接或路由。

鉴于 IP 地址系列: - IPv6:使用 很简单ebtables,因为我只需要在所有桥接端口之间启用 IPv6 类型以太网帧的桥接。桥接器本身使用通过 收到的 RA 获取 SLAAC 地址eth0,所有移动设备也是如此。 - IPv4:现在我有点迷茫了,因为我想实现这个有点棘手的行为: -如果有可用的 DHCPv4 服务器,br0则应从侧面通过 DHCPv4 获取自动配置的 IPv4 地址eth0,否则将返回到静态 IPv4。所以有一个 DHCPv4客户br0目前自动配置。 -eth0应该提供 DHCPv4服务器仅向连接的移动设备分配 IP 地址。特别是桥本地 DHCPv4客户不应从本地 DHCPv4 获取其 IPv4 配置服务器

想要在 eth0 上使用 DHCPv4 客户端的理由是,我需要通过 ssh 进入盒子进行维护,这最好在“家庭”网络环境中完成,但我需要在具有不同地址范围的多个家庭网络之间切换,所以我不能使用静态配置。

如何在同一台主机上运行 DHCPv4 客户端和服务器,但让它们服务于单独的 IP 子网/“段”?这可以使用 ebtables 实现吗?我是否需要将客户端和服务器连接到物理网络接口才能实现我的目标?如果是这样,如果这样做合理的话,如何正确完成?

答案1

有时,添加硬件比费尽心思让软件在意想不到的配置下工作更容易。这是一种反向虚拟化。(物理化?)

对我来说,这意味着更容易放弃运行 DHCPv4客户。相反eth0,我只是允许它声明可选的eth1wlan1用于维护/更新。接下来,使用 DHCPv4客户ISC DHCPv4服务器愉快地接受与(!)的绑定wlan0- 但不要将其绑定到br0

因此,br0用于发往此设备本身的 IPv6 流量,并且没有任何 IPv4 地址。eth0是物理桥接端口,同样没有任何 IPv4 地址。并且wlan0获取静态 IPv4 地址,并且 DHCPv4 服务器位于其上。要进行更新,请连接另一个eth1wlan1并完成您的工作。

相关内容