iptables - 具有相同 IP 的设备很少
问题描述
这几天我一直在思考这个问题,也许你们可以给我一些明智的建议。网络对我来说是一个新话题,我可能会混淆一些概念。
我需要连接 10 个具有相同 IP 的设备(我无法更改它)。我希望能够同时与他们交谈。
我想要达到的效果如下:
192.168.0.1 -> 10.0.0.250 on physical port 1
192.168.1.1 -> 10.0.0.250 on physical port 2
...
192.168.9.1 -> 10.0.0.250 on physical port 10
这可能吗?
我正在考虑创建 10 个 VLAN,每个 VLAN 在不同的类中,并使用该类的地址来指示数据包应该去哪里。然后更改源IP和目标IP就完成了。但是,这并不容易,在 POSTROUTING 中您只能更改源 IP,在另一个方向问题类似 - 目标 IP 仅在 PREROUTING 中。我无法更改 FORWARD 表中的 IP,因为它会转到错误的接口。此外,我想知道 ARP 将如何在这一切中发挥作用。即使我设法在 POSTROUTING 中更改了两个 IP,MAC 会正确输入还是没有这样的选项?
当然,我不指望现成的解决方案,但任何关于我应该阅读的提示都是无价的。
提前致谢并致以最诚挚的问候。
解决方案
网络地址转换 (NAT) 允许单个设备(例如路由器)充当 Internet(或公共网络)和本地网络(或专用网络)之间的代理,这意味着只需要一个唯一的 IP 地址将整个计算机组代表到其网络之外的任何事物。
ADDRESS TRANSLATION (NAT) OVERLOAD 允许您的 10 台设备与您的路由器通信。每个设备都有唯一的私有 IP 地址。
仅当您的 10 台设备充当客户端时,上述方案才适用。
如果您的 10 台设备充当服务器,则解决方案是“端口转发”。
当 Internet 上的机器需要启动与防火墙或 NAT 路由器后面的机器的连接时,需要端口转发。
有关详细信息,请参阅视频。https://www.youtube.com/watch?v=-K6jMYBfuIY
推荐阅读
- javascript - 在反应中将对象绑定为组件状态键的值的正确方法
- go - 展平结构并将其转换为 map[string]string
- java - 有没有办法使用 Maven 和 Junit 5 暂存数据?
- image - 如何使用 1 通道图像作为 VGG 模型的输入
- javascript - 在 Photoshop 中打开的多个图像根据文件名保存为不同的文件大小
- jsf - Primefaces中的对话框内可能有复合组件吗?
- linq - EF Core 2.1 更新导致在相关表中创建记录
- xslt - XSL 1.0 对 SalesAmount 和相关/加入的税务记录进行分组和求和
- json - 调用 CreateRole 操作时格式错误的策略文档
- c# - 如何连接反序列化的 QnAResponse 字符串代替 {filename}?