为隔离网络配置多个 NIC 以具有相同子网时是否存在潜在问题?

为隔离网络配置多个 NIC 以具有相同子网时是否存在潜在问题?

系统

我有一个 ARM Linux(内核 3.17)供现场使用,它有多个 NIC,例如 eth0、eth1 和 wlan0。在左侧,我需要使用 PC0 来配置 ARM Linux,以便它可以更改其行为,例如记录数据的频率、打开通道的电源等。它还允许现场人员配置 eth1 的 IP 地址,以便客户的设备可以从 ARM Linux 系统读取数据。我应该监听 eth0 以及 eth1 来执行简单的数据检索(例如 ftp)。

PC0 <---left side---> [eth0  ARM Linux eth1]<---right side:a bunch of devices>

要求

  1. 我们使用eth0来配置,而不是串口、USB,以简化编码。所以我们使用两个以太网(和一个 Wi-Fi)。在启动 Linux 时,使用脚本静态分配 Eth0 IP。
  2. 我们无法预测客户将在 eth1 上指定什么 IP。他们在 PC0 上使用我们的 GUI 软件来指定这一点。他们不使用 DHCP 服务器。
  3. 左侧只有一个PC0。右侧还有许多其他设备。客户甚至可能不希望我们使用 PC 在右侧参与。所以我们必须使用eth0来配置ARM Linux设备,而不是使用eth1。
  4. 左侧永远不应该到达右侧。它们应该是隔离的网络。它们都是局域网。没有一个会到达互联网。 ARM Linux 不是网桥或路由器。
  5. ARM Linux 应用程序仅侦听,然后在请求时做出响应。它从不发起任何事情。回复应仅通过请求传入的同一 NIC。

问题

由于我们为 eth0 和 PC0 预定义了 IP,因此我们的客户可能会意外地为其网络使用相同的子网。我们有很多客户,所以这种情况可能会发生。

  1. Linux 和 TCP 堆栈会混淆吗?有没有办法让它仍然顺利运行?
  2. 如果我们的 PC0 不小心与右侧设备之一的 IP 相同怎么办? Linux 和 TCP 堆栈现在会混淆吗?有什么办法让它工作吗?
  3. 如果我的 eth0 与右侧设备之一具有相同的 IP 地址怎么办?
  4. 如果 eth0 与 eth1 具有相同的 IP 怎么办?

我知道这种情况听起来很愚蠢,但我只是大声思考,以便我可以预见任何问题并避免它们。因此,如果 eth0 和 eth1(以及 Wi-Fi)存在很多问题需要隔离在同一子网中,我可能会告诉我们的客户我们保留一个特殊的子网,他们不应该使用它。

相关内容