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

wireguard 两个节点只能单向通是什么原因

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

    A ( 10.0.0.1 ),B ( 10.0.0.2 )两个 wireguard 节,a 做服务端,b 能正常连接,发送接收流量正常,b 做服务端,a 能连上,只有发送,没有接收流量,两个节点防火墙端口均已开放,都是公网 IPv6 直连,不关注子网,AB 两个本身的 ip 都不通,这是什么原因

    5 条回复    2025-05-13 10:00:11 +08:00
    yinmin
        1
    yinmin  
       132 天前 via iPhone
    加参数 PersistentKeepalive = 25 试试
    catsnl
        2
    catsnl  
       131 天前
    楼上正解,wireguard 是 udp 无状态的,不做心跳间隔防火墙就拦截掉了
    OmoineMie
        3
    OmoineMie  
    OP
       131 天前
    @yinmin 有参数,15 秒
    yinmin
        4
    yinmin  
       131 天前 via iPhone
    wireguard 胡乱写一个服务器 ip 地址,也能连接成功,但是只有发送流量没有接收流量。

    你的问题大概率是:B 的 ipv6 只能访问外网,不允许外网访问 B 的地址,你 B 开一个 http 端口看看外网能正常访问吗?(有些电信运营商会阻断 ipv6 对外提供服务)

    解决方案就是:b 的 wireguard 去连 a 设 PersistentKeepalive ,只要维持 wireguard 连接不断开,从 tcp/ip 层,a 与 b 就能互通。
    OmoineMie
        5
    OmoineMie  
    OP
       130 天前
    @yinmin 问题是 B 做服务端,C 又能正常连接吗,c 和 a 在一个网络下,只是不同终端,所以到底是哪个有问题
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   926 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:05 · PVG 04:05 · LAX 13:05 · JFK 16:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.