使用 Raspberry Pi 和 VPS 实现无需端口转发的 VPN

使用 Raspberry Pi 和 VPS 实现无需端口转发的 VPN

我正在尝试设置一个没有端口转发的简单 VPN。

我有:

  • 树莓派连接到局域网(eth0 - 192.168.1.0/24)
  • 互联网可访问的 vps 服务器
  • 需要使用 VPN 访问 LAN 的笔记本电脑和 Android 设备

我读到我可以使用 tinc 在 raspberry pi 和 VPS 服务器之间建立点对点连接。这很有效,所以现在我在 dev tun0 上的 10.0.0.0/32 上创建了 vps 和 raspberry 之间的网络:

  • 运行 tinc 服务器 10.0.0.1 的 VPS
  • 运行 tinc 客户端 10.0.0.2 的 Raspberry pi(子网 10.0.0.0/32 和子网 192.168.1.0/24)

从 VPS 我可以通过 ssh 访问 LAN(例如 192.168.1.1),这很棒。但现在的问题是通过新的 VPN 连接连接到 VPS。为此,我在 VPS 上安装了 openvpn。

这在 VPS 上创建了一个 dev tun1,我的 VPS 有 10.8.0.1。当我通过 openVPN 连接到 VPS 时,我的客户端上会显示 10.8.0.2。

我的问题是无法从客户端 ping 192.168.1.1 或 10.0.0.2,但我可以 ping 10.0.0.1。

知道我可能做错了什么吗?

提前致谢!

答案1

我找到了解决方案。我只需要从 tun1 到 tun0 添加后路由和转发链规则。

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun1 -o tun0 -j ACCEPT

相关内容