我应该使用 tap 还是 tun 来使用 openvpn?

我应该使用 tap 还是 tun 来使用 openvpn?

对于 openvpn,使用 dev tap 和 dev tun 有什么区别?我知道不同的模式不能互操作。除了第 2 层和第 3 层操作之外,还有哪些技术差异。它们是否具有不同的性能特征或不同的开销级别。哪种模式更好。每种模式中独有的功能是什么。

答案1

如果可以在第 3 层创建 vpn(子网之间再多一跳) - 那就选择 tun。

如果您需要在两个不同位置桥接两个以太网段 - 那么请使用 tap。在这样的设置中,您可以在 vpn 的两端拥有同一个 ip 子网(例如 10.0.0.0/24)中的计算机,并且它们能够直接“交谈”而无需更改其路由表。vpn 将充当以太网交换机。这可能听起来很酷,并且在某些情况下很有用,但除非您真的需要它,否则我建议不要这样做。如果您选择这样的第 2 层桥接设置 - 您的 vpn 中会有一些“垃圾”(即广播数据包)。

使用 tap 的话,除了 ip 头之外,开销会稍微大一些38B 或以上以太网报头将通过隧道发送(取决于您的流量类型 - 它可能会引入更多碎片)。

答案2

我在为一位经营小型企业的朋友设置 VPN 时选择了“tap”,因为他的办公室使用了大量 Windows 计算机、商用打印机和 Samba 文件服务器。其中一些使用纯 TCP/IP,一些似乎只使用 NetBIOS(因此需要以太网广播数据包)进行通信,还有一些我甚至不确定。

如果我选择了“tun”,我可能会面临很多服务中断的问题 — — 很多东西在你亲自在办公室时可以正常工作,但是当你离开办公室时,这些东西就会中断,而你的笔记本电脑无法再“看到”以太网子网上的设备。

但是通过选择“tap”,我告诉 VPN 让远程机器感觉就像在 LAN 上一样,广播以太网数据包和原始以太网协议可用于与打印机和文件服务器通信,并为它们的网络邻居显示提供支持。它工作得很好,我从未收到过有关异地无法正常工作的报告!

答案3

我总是设置 tun。Tap 是 OpenVPN 中以太网桥接所使用的,它带来了前所未有的复杂性,根本不值得费心。通常当需要安装 VPN 时,需要现在并且复杂的部署并不会很快完成。

OpenVPN 常见问题解答以太网桥接指南出色的关于此主题的资源。

答案4

如果你计划使用 OpenVPN 连接移动(iOS 或 Android)设备,那么你应该使用 TUN 作为当前的 TAPOpenVPN 不支持在他们:

TAP 的缺点:.....不能与 Android 或 iOS 设备一起使用

相关内容