V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
villivateur
V2EX  ›  WireGuard

为什么我 ping 同一个 WireGuard 子网内的设备,还需要经过网关?

  •  
  •   villivateur · 2023-01-05 11:33:36 +08:00 · 1850 次点击
    这是一个创建于 467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有两台设备(一台 Windows ,一台 Android 手机),连接了同一个 WireGuard 服务,都处于 192.168.3.0/24 网段内,其中 Windows 设备的信息如下:

    Unknown adapter wg:
    
       Connection-specific DNS Suffix  . :
       IPv4 Address. . . . . . . . . . . : 192.168.3.50
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . :
    

    然后我在 Windows 上执行 tracert ,输出如下:

    $ tracert 192.168.3.21
    
    Tracing route to 192.168.3.21 over a maximum of 30 hops
    
      1    16 ms    16 ms    15 ms  192.168.3.1
      2   309 ms    51 ms    47 ms  192.168.3.21
    
    Trace complete.
    

    发现这个包会经过网关 192.168.3.1 。

    我的理解是,既然本机的子网掩码是 /24 ,然后对方的 IP 处于同一个子网内,应该就不需要经过网关了。难道 Wireguard 并没有真正完全将数据链路层虚拟化?

    5 条回复    2023-01-05 15:31:05 +08:00
    rrfeng
        1
    rrfeng  
       2023-01-05 11:39:32 +08:00
    wireguard 是个『应用层』协议的 VPN ,怎么能做到『数据链路层』虚拟化……
    villivateur
        2
    villivateur  
    OP
       2023-01-05 11:41:46 +08:00
    @rrfeng 理解了,我以为这个跟 L2TP 是一样的
    bingfengfeifei
        3
    bingfengfeifei  
       2023-01-05 13:45:18 +08:00
    @rrfeng
    zerotier 也是应用层的,但是 tracert 时就不需要经过网关啊。

    tracert 192.168.200.3

    通过最多 30 个跃点跟踪
    nas.io [192.168.200.3] 的路由:

    1 14 ms 6 ms 5 ms nas.io [192.168.200.3]
    rrfeng
        4
    rrfeng  
       2023-01-05 15:12:08 +08:00
    @bingfengfeifei
    你是端到端直连吧,op 那个两个终端连同一个节点,肯定要中转。

    就算能通,端到端的隧道也不能称为『数据链路层虚拟化』,你看看 arp 能不能过去就行了……
    leonshaw
        5
    leonshaw  
       2023-01-05 15:31:05 +08:00
    wireguard 是三层隧道,L2TP 顾名思义是二层的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3782 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:37 · PVG 12:37 · LAX 21:37 · JFK 00:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.