请问大家 wireguard 怎么 debug

4 天前
 ursash

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

962 次点击
所在节点    宽带症候群
14 条回复
monkey110
3 天前
nmap 检测端口通不通,通就是自己的问题
xqzr
3 天前
看 wg 的收/发流量
dalaoshu25
3 天前
你如果不提供你的配置文件,别人没办法帮你。

你 macbook 上的配置,公钥什么的,放在机房还是家里的配置文件里了?
Ipsum
3 天前
wg 要么看日志,要么只有开内核 debug 。不然就抓包看看。
dalaoshu25
3 天前
@Ipsum 不需要。wg 的算法不需要去 debug 。不通无非是:

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

基本就是几个文本字符串比对一下的事情。
ursash
3 天前
找到原因了,第一个 peer 的掩码写太大了,网上教程误导人啊
dalaoshu25
3 天前
@ursash 你写成了什么?

“服务器”那一侧,peer 的 AllowedIPs 里写 peer 的 IP/32
“客户机”这一侧,interface 里 address 写 peer 的 IP/24
ursash
3 天前
@dalaoshu25 你这样是对的,我服务器测的 peer 写了/24 ,所有有问题
wisetc
3 天前
sudo wg
kenvix
3 天前
说实话别看一群人天天吹 wg ,如果对计网没有深入了解我根本不推荐这玩意
Stoney
3 天前
我也想知道如何排查问题,不知道有没有哪里可以看报错信息
Yadomin
3 天前
echo 'module wireguard +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
ursash
3 天前
我大概总结了以下,相对来说确实复杂一点,有几个原因
1. 因为有公私钥对,如果是 A-B 两个设备就有 4 个公私钥,很容易填错
2. Address 的概念,Address 需要自己手动分,设备间不能冲突,也不能和内网冲突
3. AllowedIPs 的概念,这个会涉及到子网掩码,关键是决定了包路由到哪个 peer ,如果没搞清楚的话很容易莫名其妙的问题,我就是这里出了问题
4. Endpoint 的问题,比如说有没有公网 IP ,是不是固定 IP 之类的,都会带来一定的困扰,如果是内网设备还涉及到端口转发
5. 很难 debug ,原因是没有很好的日志,并且是 UDP ,有点烦
但是如果都弄明白了,就还行,异地组网很方便
enrolls
3 天前
nftable 捕捉 wg 的端口流量

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1079700

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX