我正在尝试在两个 Debian 8 上使用 openvpn 2.3.4 设置双 VPN。假设我有这个“图表”:
客户端 -> A (vpn 服务器 1) -> B (vpn 服务器 2)
接口:
- 在 A : eth0 与公共 ip & tun0 10.8.0.1
- 在 B 上:带有公共 ip 和 tun0 10.8.1.1 的 eth0
客户端与 A 之间以及 A 与 B 之间的连接分别工作。此外,每当连接到服务器 vpn B 时,我都无法连接到服务器 A。
我的猜测是我需要 A 上的第二个接口才能拥有:
- 客户端使用由 A 发起的 vpn 连接将其网络接口绑定到 tun0
- 服务器 A 有一个接口 eth1,它为服务器端 VPN 部分提供服务,并通过接口 eth0 与 openvpn 客户端连接到 vpn 服务器 B
- 服务器 B 管理来自 A 的连接,因此管理来自客户端的连接
我的问题是:我在这里思考是否正确?除了理论,我还没有找到任何关于配置双 VPN 的实际解释......
此外,是否可以将一个接口(在 A 上)“拆分”为 2 个新的虚拟接口(例如 eth0:0 和 eth0:1),并如前所述将它们用作 eth0 和 eth1 的替代品?
谢谢您的帮助 !
编辑1: 为了回答qasdfdsaq并使我的问题更清楚,我想要:客户端通过VPN隧道从A连接-> A通过VPN隧道连接到B-> B管理客户端连接
最后,客户端应该在互联网上拥有服务器 B 的 ip。
编辑 2: 我想我实际上可以这样总结我的问题:A 和 B 是 Debian 8 服务器,其中 B 正在运行 openvpn 服务器。A 有一个带有公共 IP eth0 的网络接口,我可以在该网络接口上进行 ssh。我 ssh 到 A 并启动 openvpn 客户端。
A 通过隧道正确连接到 B,并且可以通过 B 访问网络,但是,我无法再通过 ssh 连接到 A(因为我猜这一切,意思是我唯一可用的接口,都绑定到 VPN 连接。
有没有办法解决这个问题?
我在这里的帖子中详细介绍了我如何制作双 VPN: http ://www.optionull.com/2017/01/29/routing-traffic-through-openvpn-multiple-hops/
我使用的设置是:
正确的。您可以通过添加到 VPN 配置文件来指定 TUN/TAP 接口的名称:
dev tapX
或dev tunX
在客户端使用:
no bind
选项或通过添加到服务器指定其他端口:port 119X
和客户端remote address:119X
启用 ip forward @ server 1 & 2。
设置路由,网络的每个片段都必须知道子网的存在。
我完全失去了这种感觉。