我目前使用 Windows 服务器。此 Windows 服务器从远程数据库检索数据,因此永久连接到远程 VPN 服务器。因此,我们在客户端模式下使用 OpenVPN,并使用远程服务器提供的证书。
现在,我们希望允许员工远程连接。通常是在家办公或在会议期间工作。这就是为什么我们想向此服务器添加一个 openVPN 实例,但这次是在服务器模式下。
从技术角度来看,我认为同时使用两个 openVPN 实例不会有什么问题,因为我们使用两个不同的虚拟网卡。而且两个子网是不同的。默认网关永远不会改变(也永远不会改变)。这可以避免很多问题。
我成功安装了两张 TAP 卡(由 openVPN 使用)。我不知道如何将 openVPN 实例“链接”到特定网卡。两张 TAP 网卡够用吗?如何在同一台机器上同时获得一个 openVPN 客户端和一个服务器?
原始帖子
我正在使用 Windows 服务器。
我必须在同一台机器上同时使用 openVPN 作为客户端和服务器。可以吗?
如果是,限制是什么?
如果没有的话还有其他选择吗?
我知道在 Linux 上可以利用 iptables 的强大功能来实现这一点,但是我不清楚在 Windows 主机上是否可以实现这一点。
答案1
在同一台机器上安装 OpenVPN TLS 服务器和客户端是可能的(我之前在 Ubuntu 下用过这种方法,Windows 应该不会出问题)。只需将它们设置为使用不同的端口和虚拟 TAP-Win32 网卡即可。
最好将客户端实例配置为包含nobind
选项,以便它使用随机动态端口。这将让您轻松避免实例之间的端口冲突(默认情况下,OpenVPN 始终绑定到默认端口 1194,即使在客户端模式下也是如此)。服务器需要绑定到端口,port $PORT
如果默认端口不适合您,您可以选择使用来设置它。在服务器和客户端中,都使用dev-node $GUID
分配单独的、特定于实例的 TAP 适配器。GUID 可以从注册表或使用控制台命令读取openvpn --show-adapters
。