shadowsocks 和 openvpn 有什么区别?

Dha*_*dan 10 vpn proxy openvpn socks5

我目前在服务器上配置了 openVPN 和 shadowsocks(基于socks5)。我很困惑两者之间的区别是什么,我什么时候应该使用一个而不是另一个。

dav*_*dgo 4

尽管 OpenVPN 和 Shadowsocks 可以执行类似的操作,但本质上它们是完全不同的东西。

OpenVPN 是一个 VPN 服务器。Shadowsocks 是一个代理。

代理可以(可选地使用加密)要求另一台计算机为您获取信息。一般来说,中间系统实际上正在对数据包进行一些处理。这限制了可以在其上运行的程序。

VPN 对点之间发送的数据包进行加密 - 在 VPN 的情况下,除了剥离加密并转发原始数据包外,VPN 服务器还会修改数据包。(*VPN 服务器可能会额外部署 NAT,这将重写数据包的源或目标地址)。VPN 更加灵活。 需要构建一个应用程序来使用 SOCKS。

VPN 服务器通常(但并非总是)更容易被政府检测和阻止,因为它们通常使用自己的协议以使其更通用。 应用程序无需修改即可与 VPN 配合使用。 此外,VPN 的本质是即使在浏览网页时也可以检测到长时间会话,而代理服务器将像网页一样打开和关闭连接。

因此,使用哪一种的答案取决于您使用它的目的。如果使用一组有限的协议/程序时“在雷达下飞行”更有价值,请使用 SOCKS。如果需要更大的协议灵活性或对底层交付机制的更多控制,请使用 OpenVPN。

另一种思考方式是,VPN 在(接近)操作系统级别覆盖实际网络部分之上的“虚拟网络”,而代理创建应用程序以加密方式相互通信,而无需虚拟化底层网络。