【问题标题】:'Duplicating' a host from another network to my network将主机从另一个网络“复制”到我的网络
【发布时间】:2017-01-30 11:41:34
【问题描述】:

我有两个通过 USB 连接的设备,它们的 USB 接口上有自己的网络 10.1.1.0/24

我正在通过 Wifi 从我的计算机连接到设备 1。我的电脑和设备 1 在网络上都有一个地址192.168.42.0/24

我想要做的是能够与设备 2 进行通信,就好像它在地址为 192.168.42.2192.168.42.0/24 网络上一样。

我该怎么做?

【问题讨论】:

    标签: networking nat


    【解决方案1】:

    我看到了两种解决方案:

    更简单,但不是真正要求的

    使用当前设置,您可以使用192.168.42.1 地址和一些端口集(例如,80 用于 Web 界面,22 用于 SSH,23 用于 telnet 等)与 device1 通信。您可以通过在 device1 上配置 port forwarding 使 device2 出现在同一 IP (192.168.42.1) 上的本地子网中,但使用不同的端口集。因此,对192.168.42.1:<specificPort> 的所有请求都将直接转到设备2,其中特定端口被配置的端口覆盖。端口转发应该在每台路由器上开箱即用,因此唯一的麻烦是通过其配置。

    更难,但准确

    如果您想完全使用192.168.42.2 与设备2 通信,您将需要本地子网中的某些物理设备对该IP 的数据包做出响应。因此,这种方式需要在192.168.42.2 上设置一些单独的设备,用作一种代理,将请求转发到设备 2 并回复到 PC。 Linux 机器在 iptables 中有一些基本规则,可以在发送之前重写传入数据包的 src/dst IP 地址。

    【讨论】:

    • 我希望将设备 2 视为 192.168.42.1,就像它是该网络上的设备一样。您提到的物理设备可以是 Device 1 吗?在这个特定问题中添加额外的硬件不是一种选择。
    • 如第一部分所述,在 dev1 上配置端口转发将允许您使用 192.168.42.1 与 dev2 通信。所以是的,dev1 在精简情况下扮演额外硬件的角色。唯一关心的是端口使用是否相同。
    • EXAMPLE1:dev1 在 80 tcp 端口上有 web 界面,dev2 在 8080 端口上有 web 界面。您将 dev1 配置为将针对 192.168.42.1:8080 的数据包转发到 dev2,一切都很好。因此,您的 PC 连接到 192.168.42.1:8080,但到达实际上位于不同网络上的 dev2。
    • EXAMPLE2:dev1 和 dev2 在 80 tcp 端口上都有 Web 界面,因此端口冲突。您需要选择不同的端口来转发到 dev2。例如。您将 dev1 配置为将针对 192.168.42.1:8080 的数据包转发到 10.1.1.2:80。因此,您的 PC 连接到 192.168.42.1:8080,但到达实际上位于不同网络上的 dev2。在此示例中,用法略有不同:PC 连接到本地子网中的 IP,但使用的端口号不适用于 dev2。
    【解决方案2】:

    我终于通过一些 NAT 和伪装解决了我的问题。

    我通过在设备 1 上执行以下命令使其工作:

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -d 192.168.42.2 -j DNAT --to-destination 10.1.1.2
    iptables -t nat -A POSTROUTING -d 10.1.1.2 -j MASQUERADE
    ip address add 192.168.42.2/24 dev eth0
    

    然后将设备 1 的 dhcp 服务器配置为不属性 192.168.42.2。

    让我苦苦挣扎最久的原因是需要在设备 1 的 wifi 接口 (eth0) 上设置一个额外的 IP 地址。

    【讨论】:

      猜你喜欢
      • 2021-06-23
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多