异地组网方案怎么选?从 n2n 到 WireGuard,折腾一圈后的真实记录
最近手上管着几台散落在不同地方的机器,为了能让它们像在同一个交换机下那样互访,我决定自己组一个虚拟局域网。
起初我用的是老牌工具 n2n,P2P 二层网络,配置极其简单。可惜项目停更了,NAT 后的设备间偶尔会莫名掉线,可靠性还是打了折扣。
后来全面转向了现在更火的 WireGuard。虽然它默认是三层网络、不带 NAT 穿透,但生态是真的好,配置成星形网络也很简洁。帖子重点记录了我在两个特殊环境下的踩坑经验:
- 红米 AX3000 刷 OpenWrt:内核模块缺失,最后靠
wireguard-go的用户空间方案救急成功。 - openEuler 22.03 LTS:官方源没有包,内核编译时还故意没带模块。我分享了从编译内核源码到成功加载
wireguard.ko的全过程,光是编译就花了一整天。
文章最后也顺便提了 VNT 和 EasyTier 这类新兴 Rust 工具,支持 TCP/WebSocket 且兼容 WireGuard 协议,在特殊网络环境下是个不错的备选。
总之,现在用于异地组网的好方案真的比前几年多太多了。如果你也在纠结怎么选,或者遇到了类似编译报错的问题,欢迎来看看全文,一起交流。
👉 你的环境遇到过什么奇怪的坑吗?欢迎回帖聊聊。