V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lopssh
V2EX  ›  宽带症候群

WireGuard 和普通的 VPN 有什么区别,看不太懂…

  •  
  •   lopssh · 2023-05-12 17:33:41 +08:00 · 8064 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了几篇文章没看明白,Wireguard 和 VPN 在工作原理上不一样吗?

    23 条回复    2023-06-20 22:58:16 +08:00
    deorth
        1
    deorth  
       2023-05-12 17:54:02 +08:00 via Android
    没有区别,wireguard 就是一种 vpn
    cnbatch
        2
    cnbatch  
       2023-05-12 18:01:07 +08:00
    其实没太大区别。

    非要说有区别,那就是 WireGuard 可以在内核中运行(仅限 Linux 和 FreeBSD ),性能相对更好一点。
    nkloveni
        3
    nkloveni  
       2023-05-12 18:02:36 +08:00
    wg 主打无状态,在移动设备网络环境来回横跳场景下重连速度快,协议简单对设备资源占用少。但走 UDP 容易被 QoS ,且协议很容易识别,国内的话同运营商的话可以试试。
    neroxps
        4
    neroxps  
       2023-05-12 18:42:25 +08:00 via iPhone
    @nkloveni vpn 不解决识别问题。
    jorneyr
        5
    jorneyr  
       2023-05-12 20:20:10 +08:00
    从平时使用来说吧:
    1. VPN: 大家平时说的 VPN 主要用于翻墙访问 Google 等。
    2. Wireguard: 主要用于自己搭建局域网,使得 2 个不能直接访问的网络能够在 Wireguard 搭建的虚拟局域网内可以自己访问,例如从家里访问公司内网,或者在外面访问家里的机器。
    jorneyr
        6
    jorneyr  
       2023-05-12 20:22:20 +08:00
    例如 PC 电脑原意是指个人电脑,平时使用的 Windows 电脑和 Mac 都是 PC 电脑。
    但是在平时 PC 电脑带上了一些特别的属性,就是指 Windows 的电脑,不是 Mac 电脑。
    flexbug
        7
    flexbug  
       2023-05-12 20:32:31 +08:00 via iPhone
    代理链解锁用,速度没法保障,聊胜于无
    sunnysab
        8
    sunnysab  
       2023-05-12 22:21:50 +08:00   ❤️ 3
    原理上差不多。相对来说,它更轻量、摒弃了很多功能(如 DHCP ),核心代码少(几千行),因为历史短,所以设计可能更加现代,并且 linux 下默认(可以)运行在内核中( Android 部分自带,Linux 发行版大部分自带)。

    从协议上来看,是在 IP 包外加密并且套了一层报头,所以无状态。类似 vmess ,不过 vmess 是针对 tcp/udp 的,和 socks5 比较像。(没详细研究过)

    总之,在我理解中 Wireguard 是作为更底层的通信基础设施存在,更干净、快捷,因为基于网络层,所以可以减少代理本身的逻辑。但以其过于精简,需要手动配置或(对大多数人)需要配合配置软件(如 tailscale )使用。我一般在手机上拿它连回家。
    dcsuibian
        9
    dcsuibian  
       2023-05-12 23:39:07 +08:00
    性能更好:
    不了解底层的逻辑。用它就是因为新、快,而且得到了大佬站台。


    单从使用上来说。之前用 OpenVPN 的时候,就是在路由器上开个 server ,下个配置文件下个客户端就连上了。

    但是 WireGuard ,感觉更像是一种异地组网工具,比如我现住址( home-now )和老家( home-old )都申请了公网 ipv4+DDNS ,我就可以通过 WireGuard 来让两边的网络互通。
    假设我现住址用的 192.168.1.x ,老家 192.168.3.x 。从 192.168.1.2 发往 192.168.3.2 的包就会到 WireGuard 的节点(路由器),然后根据配置封装后发给 home-old 的 WireGuard 节点,再转发给对应设备。

    如果用来企业异地组网应该是最正规的用法了,翻墙应该不合适。
    Earsum
        10
    Earsum  
       2023-05-13 01:36:37 +08:00
    @dcsuibian #9 企业一般会选择 IPSecVPN 实现异地组网互联,因为这套方案更成熟且出口设备基本都支持该协议,而 wireguard 更适合个人
    nkloveni
        11
    nkloveni  
       2023-05-13 10:35:28 +08:00
    @dcsuibian 企业异地组网高端的用 MPLS ,IPSec ,最不济也能用 gre 。wireshark 这种还是给个人玩的。
    fortitudeZDY
        12
    fortitudeZDY  
       2023-05-13 20:01:56 +08:00 via Android
    wireguard 本质上和其他 vpn 没有区别,甚至 ipsec 的性能因为能够更好的利用 cpu 的加速指令性能更好,但是配置上简化了很多,个人用户上手更容易
    elboble
        13
    elboble  
       2023-05-13 20:20:49 +08:00
    但是 wireguard 要装额外的应用程序,ipsec 啥的 mac ,win ,ios 直接支持了。
    K8dcnPEZ6V8b8Z6
        14
    K8dcnPEZ6V8b8Z6  
       2023-05-13 21:00:03 +08:00   ❤️ 1
    @jorneyr 平时说的 VPN 难道不就是用来访问企业等网络的吗
    dude4
        15
    dude4  
       2023-05-13 22:26:06 +08:00
    自己使用来看,WG 做服务器比 softeather 占用资源少的多,在鸡肋的 MT7621 路由上测试。
    cnbatch
        16
    cnbatch  
       2023-05-13 22:38:15 +08:00
    @nkloveni Wireshark 本来就不是组网工具呀
    boris1993Jr
        17
    boris1993Jr  
       2023-05-14 10:28:13 +08:00 via iPhone
    传统 VPN 是多个节点练到一个中心服务器的星型拓扑结构,WG 则是网状拓扑结构
    busier
        18
    busier  
       2023-05-14 12:41:00 +08:00
    @boris1993Jr 没错,这个才是重点! WireGuard 可以实现 NAT 打洞,也就是内网与内网客户端之间直接互连,不通过其它主机中转!
    handshake
        19
    handshake  
       2023-05-15 15:51:20 +08:00
    @nkloveni 什么 CPU
    tiscool
        20
    tiscool  
       363 天前
    @busier 没听说 wireguard 可用打洞,其中一端还是要公网可达。
    lopssh
        21
    lopssh  
    OP
       362 天前 via Android
    @tiscool
    yijiangchengming
        22
    yijiangchengming  
       349 天前
    @busier 我怎么不知道它能打洞,它必须有一端为公网。
    233373
        23
    233373  
       328 天前
    @busier wireguard 默认不支持吧,headscale 这种开源的实现可以做到
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3317 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:42 · PVG 21:42 · LAX 06:42 · JFK 09:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.