请问大家 wireguard 怎么 debug

67 天前
 ursash

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

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

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

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

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

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

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

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

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

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

© 2021 V2EX