我对现有的OpenVPN服务器设置有一些疑问,并且需要我们扩展访问。
我们目前的设置如下:
对于目前的使用情况,这个设置没有问题。 每个连接的设备/用户获得一个IP,一切都很好。 不过,我们有要求能够连接到iOS / Android设备,我从文档和https://community.openvpn.net/openvpn/wiki/BridgingAndRouting了解到,这需要OpenVPN设置为TUN。 另外,看来每个OpenVPN服务器的实例只能运行在一种模式下,你不能在同一个OpenVPNconfiguration中同时使用TAP和TUN。
这些是问题:
如果我们在当前OVPN服务器上设置另一个OpenVPN实例,并将其设置为TUN模式:连接到该OpenVPN的客户端设备是否将只能看到OVPN服务器上的本地内容? 或者是否能够看到子网上的所有设备,因为已经存在的TAP OVPN设置?
如果上面的答案是客户端设备只能看到OVPN服务器上的内容,那么这个设置是否有其他替代方法,人们用来促进移动设备访问呢? 我们可以在现在通过TAP连接的虚拟机上设置一个OVPN服务器作为客户端,并在那里使用TUN来允许访问那台机器?
不幸的是,由于环境的限制,我们无法将现有的TAP OVPN切换到TUN,并将其保留(除非我误解了TUNconfiguration,并且可以替代当前的设置,并允许当前的所有VM和客户端设备连接以及Android / iOS连接?)。
感谢您提供有关此问题的任何见解。
在TUN模式下,为VPN客户端提供IP的子网在VPN服务器上是“虚拟的”。 TUN模式在第3层工作,并且这个子网没有第2层。 OpenVPN使用自己的机制将stream量定向到客户端的VPN IP到正确的隧道(以便到达客户端)。 因此,在同一个(vpn客户端)子网中不可能混合使用vpn客户端和本地计算机。 他们需要始终处于不同的子网中,并且需要通过路由在两个方向上都可以访问。
所以,除非有适当的本地防火墙规则,否则通过tun连接的vpn客户端应该能够访问openvpn服务器上的路由configuration具有path并且存在path的所有目标。 最后一点是最重要的。 在您要连接的每台本地计算机上,必须存在一个到vpn客户端子网的path。 在本地路由configuration中,必须将VPN服务器称为此子网的网关。
人们用来促进移动设备访问还有其他替代scheme吗?
没有好的。 Play Store中有一个OpenVPN客户端,它模拟了VPN api中不可用的层2,它在一些(大多数情况下)工作。 但这是一种黑客攻击, 官方客户的开发者决定反对 。
我们可以在现在通过TAP连接的虚拟机上设置一个OVPN服务器作为客户端,并在那里使用TUN来允许访问那台机器?
是。 你需要能够从任何你想使用TUN-VPN隧道的地方连接到这个OpenVPN服务器。 所以最有可能你需要一个公共的路由IP。 如果是这样的话,机器上的本地路由应该没有问题。