WireGuard 组网:5 台 InstaBox 免费机连到 AWS 做中枢

结论先说清楚:5 台 InstaBox 免费机,加一台 AWS 做中枢,WireGuard 内网已经打通了,网段是 10.8.0.0/24。机器之间直接用内网 IP 说话,不用再走公网,也不用给每台机子都开公网端口。这篇就讲这个组网是怎么搭的,以及两个容易踩的坑。
先说拓扑,很简单,一台中枢加五个节点。中枢是一台 AWS EC2,公网 IP 是 3.26.129.49,上面跑内核 WireGuard,网卡 wg0,地址 10.8.0.1/24,安全组只放行了 UDP 51820 这一个端口。五个节点是 myvps 到 myvps5,内网地址从 10.8.0.11 一路排到 10.8.0.15。另外还给 Simular Box 预留了 10.8.0.16,不过那台还没接进来,预留着而已。
组网的方式是经典的星型结构:每个节点都主动连中枢,中枢负责在节点之间转发流量。节点之间不用互相开端口,也不用互相知道对方的公网地址,只要都能连到中枢,内网就通了。节点连中枢用的是中枢的公网地址加 UDP 51820 端口,握手成功之后,节点之间发包就走内网地址,不再经过公网。
有个地方一开始走了弯路,值得单独说一下。这 5 台机子走不了内核 WireGuard,一开始按常规做法配内核模块是行不通的。最后改成了用户态方案:用 wireguard-go,借 /dev/net/tun 这个虚拟网卡跑起来,再配成一个 systemd 服务,开机自己启动。这样做的好处是不用动内核,坏处是性能比内核方案差一点,不过组个内网、传点文件、连个服务,这点损耗感觉不出来,够用了。
中枢还搬过一次家。一开始中枢放在 Oracle 那台机子上,后来在 11 月 8 日搬到了上面说的 AWS EC2,Oracle 上的旧中枢随之删掉了。搬完当天就验证过:5 台机子都跟新中枢握手成功,内网互相能通。搬中枢这件事本身不复杂,改一下每个节点的对端地址,指向新的中枢就行,麻烦的是搬之前要想清楚,搬完旧的就别留着,两边同时跑容易把自己绕晕。
这样组网有什么用?最直接的一点是以后装东西方便了。服务装在内网里,机器之间互相访问走内网地址,不用每台都暴露公网端口,安全上也干净一点。比如以后要在某台机子上装个面板、传个文件、或者从一台机子连另一台的桌面,都走内网,不用再为每台机子单独想办法开端口。顺带提一句,中枢这台 AWS 机子同时还跑着一个 VLESS Reality 节点,但那是另一回事,内网组网和节点互不干扰,别把它们混成一个东西。
有两个注意点,组网之前最好先知道。第一,中枢是单点。它要是挂了,5 台机子之间就互相找不到了,内网等于断了。所以中枢这台机子别乱动,别在上面瞎折腾,改配置、升级系统之前先想想后果,备份也先做好。第二,InstaBox 的机子会休眠,闲置 30 分钟就挂起,最长运行 480 分钟。机子睡着了,内网自然就不通,这不是 WireGuard 断了,是机子本身睡了。访问网关域名可以按需把它唤醒,用之前先确认它醒着,别一上来就怪组网出问题。
最后总结一下。组网本身不难,一台中枢、五个节点、一个网段,配好就通了。难的是定下来之后别反复折腾:中枢定在 AWS 就别再搬来搬去,节点睡了就唤醒,服务走内网,端口能不开就不开。内网搭好是手段,不是目的,目的是让后面装服务、传文件这些事都省点力气。
评论(0)
暂无评论,来抢沙发吧。
发表评论