我正在尝试设置一个没有端口转发的简单 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