Windows的虚拟网络接口

5
我正在开发一款VPN应用程序,需要虚拟网络接口(也称为TUN/TAP)。在Windows上是否有这样的驱动程序可用?
我所知道的唯一驱动程序是OpenVPN,但它是GPL许可的,因此据我所知不能在闭源应用程序中使用。
如果没有现成的解决方案,我会感激一些关于自己编写此类驱动程序的复杂程度的估计(并可能指导开始的方向)。
我发现了这个 类似问题,但它是2008年的。

2
OpenVPN的TAP-Win32采用GPL协议,但你确定这是个问题吗?TAP-Win32实际上只是一个内核驱动器,你不必将其链接到你的程序中;你的程序可以使用通常的Windows API调用来与它进行通信。你(或你的律师)应该调查在未分享你的应用程序代码的情况下,将TAP-Win32与闭源应用程序一起发布的可能性。 - Ambroz Bizjak
是的,我考虑过这个问题。尝试从GPL和GPL FAQ中理解,我的(外行人)结论是不是很清楚 - 很可能是可以的,但我真的担心有人会认为它不可以并将其带到法庭上。我不想处于被动辩护的位置,也不想被指责为试图规避GPL的坏人。 - Sandman4
与驱动程序的通信确实是通过文件 I/O 和 DeviceIOControl 调用进行的。 - Sandman4
就像 one.beat 在下面的问题中评论的那样,你应该问问 OpenVPN 的人们他们的想法。但是你还可以更进一步地向 gpl-violations.org 询问。 - Adrian Ratnapala
2个回答

1
发现这个:wodVPN - 它声称带有虚拟网络适配器。

0

试试AnyTun。 http://www.anytun.org/

它看起来像是一个可用于Linux和Windows的坚固的隧道驱动程序,并声称可以自由再分配。

如果你发现它不能正常工作,或者类似的东西,我会同意你的第一个评论者 - 快速与律师进行一次会议,审查你找到的法律合同......或者更好的办法是,直接打电话给他们的销售部门 - 他们可能会在没有法律问题的情况下说“是”。

像你所说的那样,建造这个“野兽”可能会很麻烦。 我没有做过这件事,所以我不能给出一个确定的估计,但避免此事似乎是明智的选择。


已经检查过了 - 不幸的是,Anytun没有自己的虚拟网络接口驱动程序,在Windows上它只是使用OpenVPN驱动程序。 - Sandman4
1
就像我说的那样,联系OpenVPN团队并询问您的情况是否符合GPL许可证;如果他们说“是”,请要求他们以电子邮件或信函形式确认,以便您得到保障。如果他们说“不是”,您可以花费约100美元与法律顾问进行1小时咨询,以确定他们是否只是在捣乱。除非您有一个团队并愿意持续支持额外的代码,否则在考虑自己开发之前最好这样做。 - one.beat.consumer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接