OpenVPN可以设置,所以服务器没有接口是VPN的一部分?

我正在寻找build立一个VPN(OpenVPN是我的第一select,但我没有坚持下去),这样一来,承载VPN的服务器在VPN内不可见。 那是; 客户端通过VPN接口发送的任何数据包将被传送到另一个客户端的VPN接口或丢弃。 另一方面,服务器根本不应该有VPN接口,正常的networking操作应该不能在networking上发送数据包。

可以这样做吗?

我发现的所有文档都假定客户端将通过DHCP连接(这要求服务器至less连接到这个范围),但是我不能想到任何VPN不能使用静态IP的原因,或者DHCP服务器无法在VPN(见编辑)服务器内部实现,而无需在服务器上设置VPN接口。

编辑:基于桥梁模式从Phil Hollenback的答案的链接似乎OpenVPN确实有我所想的“内部DHCP服务器”。

我怀疑这是可能的(虽然很奇怪)。 使用tap设备,以便远程计算机通过vpn桥接而不是路由。 OpenVPN允许您将脚本推送到客户端以进行连接,因此您可以使用该function在客户端计算机上configurationnetworking,而不是使用服务器推送指令来configurationdhcp。 相反,直接在客户端上运行相应的ifconfig和route命令,告诉它通过vpn连接到networking。 这可能会变得复杂,因为你必须处理Linux上的不同networkingconfiguration工具与Windows,但它应该是可行的。

然而,我的猜测是,这只会足以避免不经意的检查。 很可能会有信息泄露,使客户端能够检测到它通过特定的openvpn服务器连接到networking。

这里有一些关于openvpn桥接的信息可能是有用的。

这不会回答你的OpenVPN问题,但让我们退后一步,如果你不介意。

你想要一个客户端专用的VPN,是否正确? 你有可能在世界任何地方的客户,你只想通过VPN连接这些客户端? 没有中央资源,你想客户端连接,只是彼此。 疑难杂症。

你看过Hamachi ^ 2吗? 它正是你想要实现的。

如果你所做的是非商业的,而你有16个或更less的客户,Hamachi ^ 2是免费的。 如果您有商业需求和/或您需要超过16个客户,那么每年就是199美元。

每年199美元的收入可能要比获得OpenVPN硬件(如果有必要)花费的时间less,您需要花时间configuration和维护OpenVPN,并花时间为客户/用户提供支持。

当然,如果这个目的是非商业性的,大于16个客户端,你就是在捐助你的时间和硬件已经提供了,我可以肯定地知道为什么Hamachi ^ 2不是你的解决scheme。

既然如此,我不完全确定为什么在OpenVPN的隧道接口上的完全locking防火墙解决scheme不能满足您的需求。

我假设OpenVPN充当虚拟交换机,默认情况下,只是将服务器添加到另一个客户端。 碰巧在同一台机器上的客户端,但完全没有兴趣。 我希望有一些方法可以告诉它甚至不打扰。 但是,似乎(如果我错了,请纠正我),事实并非如此,服务器连接到VPN的连接还有一些特殊之处。


编辑:好吧,我还是错了。 在一个小时左右的时间里,和一些从事这个工作的人聊天(就像在内核模式开发中一样),我想,我发现我对VPN的实现方式存在误解:我假定VPN端点是在一个用户空间进程中处理,这个进程正在侦听某个UDP端口(使隧道协议成为一个应用层协议),真实的情况是隧道协议(至less是常见的)是一个传输层协议, UDP, 所有的数据处理 ,从IP数据包的处理,隧道数据包的解密和转发到内核networking堆栈开始,实际上都是在内核中完成的 。 一旦我指出了这个错误,那么正在使用的devise的合理性变得非常清晰:VPN服务器的用户空间组件只不过是pipe理authentication和设置单独的对称点的configuration工具为每个请求连接的客户端提供点对点链接。

OTOH现在让我想知道为什么大规模设置(比如说IBM或者类似的)需要支持同时向同一个主机同时进行数百到数千个同时活动会话的VPN规模? 他们是否运行了一个拥有数百到数千个networking接口的正常内核(我很难相信相同的内核可以有效地处理大多数情况下的一个,两个,也许三个接口和数千个),还是基于彻底的修改内核,特殊的操作系统,不同的架构甚至特殊的硬件。