具有与其他接口上的网关相同的IP地址的networking接口

我有一个Linux设备有两个networking接口,其中一个提供接入点的DHCP和网站,另一个连接到互联网。 第一个有一个静态IP 10.0.0.1,我不能改变。 第二个nic使用dhcp连接到现有的networking。 我无法控制该networking的设置。 第一个NIC上的stream量在设备内处理,不必桥接到另一个networking接口。 设备上的其他进程必须通过第二个NIC访问互联网。

这工作正常,直到第二个网关的网关/路由器使用与第一个网关10.0.0.0/24相同的子网,因此相同的IP网关/ DNS等作为第一个networking的IP。 没有连接到互联网是因为所有到网关的stream量都是通过网关路由的。 此外,访问点上的网站无法访问。

要清楚:两个networking应该是完全独立的。 连接到第一个NIC的客户端将不会与第二个NIC连接,反之亦然。 该设备使用第一个nic来提供configuration网站。 与您典型的家庭路由器类似的方式。 第二个nic被设备用来执行其需要连接到互联网的主要function。

我怎样才能解决这个问题,并将两者分开?

我尝试了以下的东西:

  • 从本地表中删除10.0.0.1路由。 这有点麻烦,因为我必须编写脚本。 它也只能解决设备能够连接到互联网的部分。 本地网站仍然无法访问。
  • 将第一个nic添加到networking名称空间。 这种似乎工作,但我不能这样做,因为第一个nic实际上是一个无线接口上的虚拟接口,你只能添加底层的接口,而不是单个的虚拟networking接口。
  • 我尝试阅读VLAN,但我不知道这是否会工作,或如何使其工作
  • 它尝试查看/ proc / sys / net / ipv4 / conf中的设置,但到目前为止还没有find方法。

如果将两个NIC插入同一个networking或VLAN中,则问题是无法在单个networking上使用同一个IP两次。

如果两个网卡要插入不同的networking,则除非要在两者之间放置NAT,否则不应在networking的其他部分重新使用一个networking子网。

如果这两者都不合适,请提供更多关于networking的内容。

这听起来像是你可以控制你的网关通过DHCP发出的子网。 确保它不与上游networking重叠。

在不同广播域中拥有两个具有相同IP的接口对于具有这两个IP的本地机器来说仍然是一个问题。 如上所述,只需通过DHCP服务器指定一个不同的子网,并将IP分配给指定子网内的内部接口,即可防止这种情况发生。