在 Raspberry Pi 上加入 2 个子网

在 Raspberry Pi 上加入 2 个子网

我在 3 台设备之间设置了一个小型 Wireguard VPN 网络:

  • 数字海洋VPS(服务器,10.222.0.1)
  • 我的家庭网络上的 Raspberry Pi(对等点,10.222.0.2)
  • iPhone 11(同级,10.222.0.3)

我可以从任何设备上 ping 其他设备。 VPN 可以正常运行。我现在想要的是让 iPhone(在我的家庭网络之外)看到我家庭网络上的 IP 摄像头,其 IP 地址为 192.168.1.64。这超出了我独自完成的能力,因此我正在寻求一些帮助。

最终,我需要将进入 Pi 的 iPhone 从 10.222.0.x 子网连接/路由到 192.168.1.x 子网。

希望有建议,谢谢。

答案1

iPhone 似乎不知道在哪里可以找到网络192.168.1.*。 (也写为192.168.1.0/24其中0指定整个网络和/24网络掩码)

在 iPhone 上的 Wireguard 配置中,您应该有一条AllowedIPs线路。此行配置通过 VPN 到 iPhone 的可用路由。因此,如果这表示AllowedIPs=10.222.0.0/24VPN 上唯一允许的 IP 是10.222.0.0/24子网。您想扩展它以允许您的 LAN 网络通过 VPN 进行更新,如下所示:AllowedIPs=10.222.0.0/24,192.168.1.0/24

如果该行显示AllowedIPs=0.0.0.0/0,则意味着它将通过 VPN 传递所有流量(包括互联网流量)。

除此之外:就像上一篇文章描述的那样,树莓派应该允许路由。可以通过以下命令检查cat /proc/sys/net/ipv4/ip_forward是否返回 1 路由已启用。

要永久启用到 Pi 的路由,您应该取消net.ipv4.ip_forward=1注释/etc/sysctl.conf

应用更改sysctl -p

假设 Pi 上没有运行防火墙,您现在应该能够访问摄像头。

答案2

[根据评论进行编辑]

建立关系网时要做的第一件事就是画一张图,协调好:

10.222.0.*/24                          192.168.1.*/24                 ISP
      |                                     |                          |
      |                                     +-- 192.168.1.1   Router --+
      |                                     |
      +-- 10.222.0.2  RaspPi  192.168.1.? --+
      |                                     |
      +-- 10.222.0.1  D.O.VPS               +-- 192.168.1.64  Camera
      |                                     |
      +-- 10.222.0.3  iPhone 11             |
      |                                     |

您需要回答的下一个问题是“每个 LAN 网段中的默认网关地址由谁设置,是哪一个?”。

如果这两个网段都是 RaspPi,答案很简单:在 RaspPi 上启用转发,完成。

如果不是 RaspPi,请编辑您的问题并包含此信息(可能是您家庭网络的家庭路由器?)。在这种情况下,您需要设置路线在默认网关上(这在您的家庭路由器上可能可行,也可能不可能),或在网段的每个成员上设置静态路由,或通过 DHCP 分发路由。

基本原则是:在从源到目的地(以及返回)的链上,每台计算机都需要知道下一步将数据包路由到哪里。这是一个网络设计练习,而不是只能在 RaspPi 上完成的事情。


因此,您的路由器是 的默认网关192.168.1.*/24,并且还为此网段运行 DHCP。没有 DHCP 10.222.0.*/24(静态地址),也没有默认网关。

因此一种可能的解决方案是将 RaspPi 设置为默认网关10.222.0.*/24.您可以静态地执行此操作,就像 IP 地址一样,详细信息取决于操作系统。例如这里是如何使用 systemd 来做到这一点。验证与ip route.

接下来调查您是否可以在 Unify 路由器上设置路由。您需要一条通过 RaspPi 地址到达的路由10.222.0.0/24(如果是 a /24,那是猜测),并且 RaspPi 需要始终获取相同的地址192.168.1.*/24(这是您可以在大多数路由器上配置的内容)。

最后,确保 RaspPi 上启用转发。你可以检查一下

cat /proc/sys/net/ipv4/ip_forward

(1 已启用),或手动设置

echo "1" > /proc/sys/net/ipv4/ip_forward

如果默认情况下未启用,则再次使其永久化的方法取决于操作系统。

相关内容