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

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

  •  
  •   lopssh · 321 天前 · 7709 次点击
    这是一个创建于 321 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    23 条回复    2023-06-20 22:58:16 +08:00
    deorth
        1
    deorth  
       321 天前 via Android
    没有区别,wireguard 就是一种 vpn
    cnbatch
        2
    cnbatch  
       321 天前
    其实没太大区别。

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

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

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


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