【问题标题】:Iptables inside Raspberry to access a device in another subnetRaspberry 中的 iptables 访问另一个子网中的设备
【发布时间】:2020-03-21 14:14:22
【问题描述】:

我有一个 Raspberry PI,我通过 192.168.0.48 通过 Wlan 访问它(见下文) 在那个树莓上,我连接了一个 USB 设备(Adalm Pluto),它创建了一个地址为 192.168.1.2 的虚拟 eth1 端口 USB 设备托管一个网页,我可以在 Raspberry 中通过 192.168.1.1 访问该网页

例如,我如何通过 192.168.0.xx 也通过 Wlan 访问同一网页。 我确信 Iptable 可以做到这一点,但只要让它运行即可。

谢谢

丹尼尔

eth1: flags=4163 mtu 1500

    inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
    inet6 fe80::1b51:bbe:8beb:b4c0  prefixlen 64  scopeid 0x20<link>
    ether 00:e0:22:bf:29:99  txqueuelen 1000  (Ethernet)
    RX packets 212  bytes 141107 (137.7 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 278  bytes 47853 (46.7 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73 mtu 65536

    inet 127.0.0.1  netmask 255.0.0.0
    inet6 ::1  prefixlen 128  scopeid 0x10<host>
    loop  txqueuelen 1000  (Local Loopback)
    RX packets 17  bytes 1004 (1004.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 17  bytes 1004 (1004.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163 mtu 1500

    inet 192.168.0.48  netmask 255.255.255.0  broadcast 192.168.0.255
    inet6 fe80::39f6:81b1:bbba:ea77  prefixlen 64  scopeid 0x20<link>
    ether dc:a6:32:0b:15:31  txqueuelen 1000  (Ethernet)
    RX packets 12406  bytes 7827334 (7.4 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 5956  bytes 2167015 (2.0 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

【问题讨论】:

    标签: routing raspberry-pi iptables


    【解决方案1】:

    这个问题实际上属于另一个社区,因为它与软件开发无关。我投票关闭它。 同时这里是基于following article的答案:

    sudo sysctl net.ipv4.ip_forward=1
    sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
    sudo iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.1 --dport 80 -j SNAT --to-source 192.168.0.48
    
    

    RPI 设备上的 Linux 系统并不特殊,所有基于 debian 的在线教程都适用于它们。 如果您检查教程中的所有步骤,我相信您将能够访问您的网站。

    还有一种用户级方式通过使用 tcp/http 代理来共享您的网站(这不是性能方面的,但更容易理解和设置)。

    sudo apt install balance
    sudo balance 80 192.168.1.1 80
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-11
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多