请问大家 wireguard 怎么 debug - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ursash
V2EX    宽带症候群

请问大家 wireguard 怎么 debug

  •  
  •   ursash 2024-10-12 19:49:30 +08:00 1811 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前的情况是我有一个机房,有固定公网 IPv4 ,家里也有公网 IP ,需要 DDNS 这两个网络互相直接我用 wireguard 打通了,内网互相访问都是通的 但是我现在需要在外面的时候连回这个网络,主要是 macbook ,但是用了 surge 和官网的客户端,都配不通,貌似 wireguard 是 UDP ,也不知道怎么 debug 大家有什么经验么

    14 条回复    2024-10-13 07:36:12 +08:00
    monkey110
        1
    monkey110  
       2024-10-12 20:32:58 +08:00
    nmap 检测端口通不通,通就是自己的问题
    xqzr
        2
    xqzr  
       2024-10-12 20:51:11 +08:00
    看 wg 的收/发流量
    dalaoshu25
        3
    dalaoshu25  
       2024-10-12 20:55:23 +08:00
    你如果不提供你的配置文件,别人没办法帮你。

    你 macbook 上的配置,公钥什么的,放在机房还是家里的配置文件里了?
    Ipsum
        4
    Ipsum  
       2024-10-12 21:22:35 +08:00
    wg 要么看日志,要么只有开内核 debug 。不然就抓包看看。
    dalaoshu25
        5
    dalaoshu25  
       2024-10-12 21:28:12 +08:00
    @Ipsum 不需要。wg 的算法不需要去 debug 。不通无非是:

    1 、私钥、公钥、密码三个字符串没写对,比如少了末尾的=号
    2 、endpoint 的 IP 和端口号没写对
    3 、防火墙上的端口没打开
    4 、wg 接口本身的 IP 没写对

    基本就是几个文本字符串比对一下的事情。
    ursash
        6
    ursash  
    OP
       2024-10-12 21:50:02 +08:00
    找到原因了,第一个 peer 的掩码写太大了,网上教程误导人啊
    dalaoshu25
        7
    dalaoshu25  
       2024-10-12 22:00:50 +08:00
    @ursash 你写成了什么?

    “服务器”那一侧,peer 的 AllowedIPs 里写 peer 的 IP/32
    “客户机”这一侧,interface 里 address 写 peer 的 IP/24
    ursash
        8
    ursash  
    OP
       2024-10-12 22:22:33 +08:00
    @dalaoshu25 你这样是对的,我服务器测的 peer 写了/24 ,所有有问题
    wisetc
        9
    wisetc  
       2024-10-12 22:57:05 +08:00 via iPhone
    sudo wg
    kenvix
        10
    kenvix  
       2024-10-12 23:13:29 +08:00
    说实话别看一群人天天吹 wg ,如果对计网没有深入了解我根本不推荐这玩意
    Stoney
        11
    Stoney  
       2024-10-12 23:57:14 +08:00 via iPhone
    我也想知道如何排查问题,不知道有没有哪里可以看报错信息
    Yadomin
        12
    Yadomin  
       2024-10-13 00:00:36 +08:00 via Android
    echo 'module wireguard +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
    ursash
        13
    ursash  
    OP
       2024-10-13 00:19:04 +08:00
    我大概总结了以下,相对来说确实复杂一点,有几个原因
    1. 因为有公私钥对,如果是 A-B 两个设备就有 4 个公私钥,很容易填错
    2. Address 的概念,Address 需要自己手动分,设备间不能冲突,也不能和内网冲突
    3. AllowedIPs 的概念,这个会涉及到子网掩码,关键是决定了包路由到哪个 peer ,如果没搞清楚的话很容易莫名其妙的问题,我就是这里出了问题
    4. Endpoint 的问题,比如说有没有公网 IP ,是不是固定 IP 之类的,都会带来一定的困扰,如果是内网设备还涉及到端口转发
    5. 很难 debug ,原因是没有很好的日志,并且是 UDP ,有点烦
    但是如果都弄明白了,就还行,异地组网很方便
    enrolls
        14
    enrolls  
       2024-10-13 07:36:12 +08:00 via iPhone
    nftable 捕捉 wg 的端口流量
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2711 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 15:14 PVG 23:14 LAX 08:14 JFK 11:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86