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

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

对于IPv4 / IPv6双堆栈和纯IPv6系统testing,我想用Linux构build一个非常独特的“brouter”。 这个路由器有两个物理networking接口eth0和wlan0。 我正在使用一个桥br0,我附加eth0和wlan0。

现在针对整体情况:

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

鉴于IP地址系列: – IPv6:这是使用ebtables简单方法,因为我只需要在所有网桥端口之间启用桥接IPv6types的以太网帧。 桥本身使用通过eth0接收到的RA获得一个SLAAC地址,就像所有的移动设备一样。 – IPv4:现在这个地方我稍微有点迷路了,因为我想要实现这个稍微棘手的行为: – 如果有DHCPv4服务器可用, br0应该从eth0端通过DHCPv4获得一个自动configuration的IPv4地址,否则回退到一个静态的IPv4。 所以现在有一个DHCPv4 客户端可以自动configurationbr0 。 – eth0应该只提供一个DHCPv4 服务器给连接的移动设备。 特别是桥本地DHCPv4 客户端不应该从本地DHCPv4 服务器获得其IPv4configuration。

要在eth0上使用DHCPv4客户端的理由是我需要ssh进入维护盒,最好在“家庭”networking环境下完成,但是我需要在不同地址范围的多个家庭networking之间切换,所以我不能使用静态configuration。

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

有时候,添加硬件比在非预期的configuration中努力使软件工作更容易。 这是一种反向虚拟化。 (physicalization?)

在我的情况下,这意味着更容易放弃在eth0上运行DHCPv4 客户端的需要。 相反,我只是允许它声称一个可选的eth1wlan1维护/更新。 接下来,通过DHCPv4 客户端 ,ISC DHCPv4 服务器高兴地接受绑定到wlan0 (!) – 但不绑定到br0

所以, br0被用于本地设备本身的IPv6stream量,没有任何IPv4地址。 eth0是物理网桥端口,也没有任何IPv4地址。 而wlan0获得一个静态的IPv4地址,并有DHCPv4服务器坐在它上面。 要更新,请连接另一个eth1wlan1并完成您的工作。