什么是最好的方式来适应多个设备都想要使用相同的固定IP地址到同一个局域网?

假设我有一个具有硬件编码IP地址的以太网设备。 我有可以与设备一起工作的软件,它可以configuration为使用设备的几乎任何IP地址,但如前所述,设备始终使用相同的固定地址。

现在是这个问题:假设我想在我的networking中使用多个这些设备。 两个足以说明问题的例子。 很显然,知识产权冲突是直接的。 我可以运行这个软件的两个实例,但是没有办法去消除哪个软件实例应该关联到哪个设备。

我认为可能的工作是使用支持3层的设备来实现networking地址转换,但是我不需要像整个大多数商品路由器那样对整个局域网进行NAT转换。 我真正想做的是在每个端口上应用静态NAT。 我想告诉路由器(?),“你看到这个设备插入端口2,认为它是10.1.1.1?看起来像192.168.1.2,而另一个插入端口3, 认为它是10.1.1.1 – 使这个看起来像192.168.1.3“..等等。 (当然假设我的局域网的其余部分是192.168.1 / 24)

我使用了一个可以完成VLAN和路由域的“交换机”,但似乎没有能力在VLAN之间转换地址。 空间和成本限制排除了将具有NATfunction的整个路由器专用于每个设备。

那么这种事情是可能的吗? 如果是这样,需要什么样的设备来获得它? 哎呀,也许我正在使用的开关可以做到这一点,我只是不知道该找什么而且不认识它! 但是如果没有完成,我会交替地想知道为什么不这样做,弄清楚我思考的缺陷在哪里。 虽然看起来不可能。

可以办到。 其实我去年也是自己做的。

3个具有局域网监控function的Airco设备,每台坚持10.0.0.2,默认网关为10.0.0.1,子网为255.0.0.0。 它可以改变,但只能由不再生产的制造商来改变。

购买新的不是一个select:工业单位约$ 100,000一块。

最糟糕的是:通信必须是双向的:远程访问设备中的networking接口,它需要能够自行发送系统日志消息。

诀窍是你需要多个NAT-ting路由器来完成这个工作。 单个路由器根本无法处理到下游局域网具有相同的ip-subnet。 (至less不是我见过的任何装备…)

我所做的是买架子路由器(D-Link DIR-615)的便宜。 把每个单元放在它自己的路由器后面。 在LAN侧设置每个路由器为10.0.0.1,并对HTTP 10.0.0.2地址进行端口转发。 每个路由器的WAN端都在普通的局域网上,每个局域网都有自己的正常IP地址。

要连接到一个单元,我只需要将一个Web浏览器指向它的路由器的WAN-ip,剩下的就是端口转发。 设备的系统日志消息(传出)得到NAT,并且似乎来自3台路由器。

唯一的缺点是要重新configurationD-Links,我需要将PC连接到每个LAN的一侧,以便我可以在路由器的基于Web的pipe理界面上获得。 (D-link实际上可以在WAN端运行它的pipe理界面,但据我所知只能在端口80上干扰端口。)

由于设备将具有相同的真实IP,因此您需要进行某种掩码或静态NAT。

一种解决scheme是将每个设备(交换机端口)放在单独的VLAN上,并在networking之间进行路由。 交换机需要能够在每个端口上进行静态NAT。

另一种解决scheme可能是在所有VLAN的一个端口成员上创build一台linux机器,并使用虚拟IP并在linux中执行路由/ nat部分。 iptables可以做NAT。

如果固定IP地址与您的网段上的有效主机不重叠,我会简单地插入它们并在运行pipe理软件的主机上为它们设置伪地址。 只需将静态arp条目添加到特定设备的mac地址中,现在就可以在“使用”不同地址的段上添加静态arp条目。

我会认为这是一个黑客,但既然你暗示了其他原因,为什么你不能直接解决这个问题,这可能适合。