办完婚礼搬进新家,终于有时间有空间收拾机柜和selfhost的服务了。从弱电箱穿了根8芯光纤到书房,把OLT移了出来。机柜是4040铝型材做的,加上全向轮和方孔条,标准的42U机柜。

交换机用的Mikrotik CRS326,听网上说三层功能鸡肋不如便宜300块的CSS326,出于体验ROS系统的目的还是买了前者。然而发现开了L3 hardware offload后NAT还是只能跑400Mbps,查了文档发现这个型号CPU不支持硬件加速。好家伙。

虽然跑不满宽带出口,跑个wireguard组网还是够用的,毕竟家宽上行只有可怜的100Mbps。我的情况是这样的,父母家的电信有ipv4+v6双栈公网动态ip,自己家联通死活不肯给ipv4公网,好在wireguard只需一端可以被连接即可。

首先声明我不是专业网工,对网络的理解只有那些三脚猫的功夫,结论不具备专业性,如有错误请各位一笑而过,毕竟博客也没开评论,笑。

wireguard本身的配置极其简单,linux端的话就是一个配置文件指定本机信息和peer信息,起一个虚接口。对于ros来说就是创建一个wireguard对象,会自动生成一个wireguard interface,配上互联网段ip,配上路由,然后创建一个peer。另一端也是一样的配置。

peer的endpoint填域名或者ip都可以,只要一个UDP端口连通。如果是被连接的一端,endpoint填不填都无所谓。如果一个实例上有多个peer,要注意allowd address的CIDR不要重复,不然只有其中的一条peer能够生效。

至此,你的两台ros之间已经可以用wireguard隧道互联,剩下如果想要让两个网络下的设备互通,只需在局域网主机网关上配置静态路由即可。

至于iPhone,需要去美区下载APP,我这里路由的IP段配了全0,意味着全局走wireguard隧道,也可以配置CIDR。这样,手机就可以随时访问父母家和自己家的服务。

Next

由于wireguard是一个三层隧道,你还可以在wireguard的接口上跑路由协议,下一步准备和小伙伴们做peer,有公网ip的互相peer,再尝试跑一个私有的BGP网络。