最近把家里的全套网络设备换成了Ubnt(Ubiquiti)家的,由于Ubnt的路由器自带WireGuard服务端,因此想要利用一下,直接在路由器上配置WireGuard服务端,来避免在额外设备上运行WireGuard,导致复杂的网络拓扑。
在Unifi控制台配置WireGuard非常简单,直接通过UI进行配置并添加客户端即可(每次添加完客户端记得点击下面的保存按钮,不然不会生效):
比较特殊的点在于,我的NAS将软路由的IP手动设置为了网关,没有采用默认的网关地址。这就导致了遇到来自WireGuard的网段的请求时,NAS无法正确应答。
这需要我们手动在Unifi控制台添加一条NAT记录,使得来自WireGuard客户端的流量进局域网之后被识别为局域网内的流量,而不是WireGuard网段的流量。这样,在NAS看来,流量就来自UBNT路由器的IP,而不是外部的IP:
在这一步之后,就已经完整的在Unifi控制台上配置好了WireGuard服务器。由于我的设备都是Apple的设备,并且统一使用Surge,因此下面需要在Surge中配置客户端。这里主要难点是通过module隔离不同