目前的情况是我有一个机房,有固定公网 IPv4 ,家里也有公网 IP ,需要 DDNS 这两个网络互相直接我用 wireguard 打通了,内网互相访问都是通的 但是我现在需要在外面的时候连回这个网络,主要是 macbook ,但是用了 surge 和官网的客户端,都配不通,貌似 wireguard 是 UDP ,也不知道怎么 debug 大家有什么经验么
1
monkey110 36 天前
nmap 检测端口通不通,通就是自己的问题
|
2
xqzr 36 天前
看 wg 的收/发流量
|
3
dalaoshu25 36 天前
你如果不提供你的配置文件,别人没办法帮你。
你 macbook 上的配置,公钥什么的,放在机房还是家里的配置文件里了? |
4
Ipsum 36 天前
wg 要么看日志,要么只有开内核 debug 。不然就抓包看看。
|
5
dalaoshu25 36 天前
@Ipsum 不需要。wg 的算法不需要去 debug 。不通无非是:
1 、私钥、公钥、密码三个字符串没写对,比如少了末尾的=号 2 、endpoint 的 IP 和端口号没写对 3 、防火墙上的端口没打开 4 、wg 接口本身的 IP 没写对 基本就是几个文本字符串比对一下的事情。 |
6
ursash OP 找到原因了,第一个 peer 的掩码写太大了,网上教程误导人啊
|
7
dalaoshu25 36 天前
@ursash 你写成了什么?
“服务器”那一侧,peer 的 AllowedIPs 里写 peer 的 IP/32 “客户机”这一侧,interface 里 address 写 peer 的 IP/24 |
8
ursash OP @dalaoshu25 你这样是对的,我服务器测的 peer 写了/24 ,所有有问题
|
9
wisetc 36 天前 via iPhone
sudo wg
|
10
kenvix 36 天前
说实话别看一群人天天吹 wg ,如果对计网没有深入了解我根本不推荐这玩意
|
11
Stoney 36 天前 via iPhone
我也想知道如何排查问题,不知道有没有哪里可以看报错信息
|
12
Yadomin 36 天前 via Android
echo 'module wireguard +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
|
13
ursash OP 我大概总结了以下,相对来说确实复杂一点,有几个原因
1. 因为有公私钥对,如果是 A-B 两个设备就有 4 个公私钥,很容易填错 2. Address 的概念,Address 需要自己手动分,设备间不能冲突,也不能和内网冲突 3. AllowedIPs 的概念,这个会涉及到子网掩码,关键是决定了包路由到哪个 peer ,如果没搞清楚的话很容易莫名其妙的问题,我就是这里出了问题 4. Endpoint 的问题,比如说有没有公网 IP ,是不是固定 IP 之类的,都会带来一定的困扰,如果是内网设备还涉及到端口转发 5. 很难 debug ,原因是没有很好的日志,并且是 UDP ,有点烦 但是如果都弄明白了,就还行,异地组网很方便 |
14
enrolls 35 天前 via iPhone
nftable 捕捉 wg 的端口流量
|