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

133 天前
 OmoineMie

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

1139 次点击
所在节点    问与答
5 条回复
yinmin
132 天前
加参数 PersistentKeepalive = 25 试试
catsnl
131 天前
楼上正解,wireguard 是 udp 无状态的,不做心跳间隔防火墙就拦截掉了
OmoineMie
131 天前
@yinmin 有参数,15 秒
yinmin
131 天前
wireguard 胡乱写一个服务器 ip 地址,也能连接成功,但是只有发送流量没有接收流量。

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

解决方案就是:b 的 wireguard 去连 a 设 PersistentKeepalive ,只要维持 wireguard 连接不断开,从 tcp/ip 层,a 与 b 就能互通。
OmoineMie
131 天前
@yinmin 问题是 B 做服务端,C 又能正常连接吗,c 和 a 在一个网络下,只是不同终端,所以到底是哪个有问题

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

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

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

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

© 2021 V2EX