wireguard 组网问题的咨询--NAT 后的两个节点如何设置才能够打洞成功

239 天前
 cruisetian

首先说明当前的配置:

整体的网络结构和 peer 设置如下

目前 A 和 B 可以互相 ping 通,但是看了下 trace 发现是通过 server 做了中转,没有直接打洞成功,想请问各位大佬如何设置才能让 A 和 B 直接打洞成功呢。求大佬们指点迷津!

2762 次点击
所在节点    宽带症候群
25 条回复
f165af34d4830eeb
239 天前
如果不是有特别的需求,个人建议换 zerotier/tailscale ( vps 可以改造成自建 controller 辅助打洞/中继),不需要自己操心打洞的事情了。
superhack
239 天前
wg set peer xxxxxx endpoint yyyy
cruisetian
239 天前
@superhack 请问这个命令是在 server 上执行吗
qsnow6
239 天前
建议换 tailscale ,更新配置、打洞、配子网啥的非常方便
cruisetian
239 天前
@qsnow6 希望可以在手机上同时回家和出国,手机又不允许两个 vpn 同时开,只能用 wireguard 打洞把 wireguard 配到出国软件上了
qsnow6
239 天前
@cruisetian #5 家里开个 socks5 代理,当访问子网 IP 时,通过小火箭设置使用代理连接。
qsnow6
239 天前
这个 socks5 需要暴露在公网,设置好密码。
thsun
239 天前
没公网不行,走 IPv6 就可以不走中转
SuzutsukiKaede
239 天前
你的需求需要用到 Wireguard 的 full mesh 模式,建议使用现成的方案 Tailscale 。
SuzutsukiKaede
239 天前
cruisetian
239 天前
@SuzutsukiKaede 好的,我去看下研究下,不行就 tailscale 了
server
239 天前
不折腾 tailscale ,记得把 mtu 该下,TS_DEBUG_MTU="1420"
diskerjtr
239 天前
你 2 边都是 nat 后面,如果 2 边都没有公网 IP ,只能靠中转。
chancat
237 天前
推荐 tailscale
ysc3839
237 天前
WireGuard 不支持打洞,要自动打洞的话可以考虑 ZeroTier 。
或者如果 A 或 B 其中之一有 fullcone NAT 的话,可以考虑使用 natmap 开端口,另一端连接,不过端口很可能是随机的。
https://github.com/heiher/natmap
dangyuluo
237 天前
你要理解 Wireguard 的原理,peer to peer
gps949
237 天前
@cruisetian #5 你回家出国不就可以既回家又出国了?
mcsonger
237 天前
至少有一台机器是公网
mantouboji
236 天前
纯 IPv4 情况下,你目前的使用方式和现象是正常的。
如果你有强迫症,那么要打开 IPv6 ,B 那个设备去连 A 的 IPv6 地址。这个地址因为每三天要变一次,可以用 dynv6 的动态域名。这也是我目前用的方式。只不过我是移动的宽带,光猫拨号,你那个 A 我这里是一台 Mikrotik AX2
lovelylain
236 天前
@cruisetian 目标是手机上打洞配合原生 wireguard 的话难搞,因为 nat 打洞工具要 root 权限。有公网 ip(包括 IPv6)的话可以给家里 ddns ,然后手机上设置 endpoint 为家里域名,对 wg 网段、家里网段、fakeip 网段连家里。没公网 ip 或者手机端只有 v4 访问不了家里的 v6 就很难搞了。

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

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

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

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

© 2021 V2EX