两台 RouterOS 之间使用 OSPF 推送路由
作为一个不怎么懂网络的人,我的主路由是搭载了 RouterOS 的 MikroTik 路由器 RB5009。但因为它只是个路由器,所以没能负载很多沉重的工作。而我的 VPN 网关是另一台 x86 的 RouterOS 虚拟机,上面用 WireGuard、L2TP 或者 PPTP 打通了我各地的内网。
此前,我在 VPN 网关上新连上一个内网之后,总是要复制一下静态路由到我的主路由上,这样才能让我的电脑能连上这些网络。不过手动管理路由表实在是有点烦,在稍微学习了一下网络协议之后,我发现 OSPF 可以解决这个问题。
首先在 Routing/Router ID 下面添加一个 Router ID,名字随便选。这是用来区分网络里不同路由器的标识,所以两台路由器要用不一样的标识。为了方便起见,ID 用路由器的内网 IP 就可以。
然后打开 Routing/OSPF,两台路由器新建一个 instance,版本2(3是v6),Router ID 选刚创建的,其他都默认。这个是用来建立 OSPF 连接使用的。
然后打开 Areas,新建一个,两个路由器起同样的名字,其他还是默认。这个应该是同一个接口或者配置里面,可以分不同区域来推送路由的意思吧。
然后打开 Interface Templates,这里也在两个路由器上同样创建,接口选两个路由器之间内网的接口,Area 选刚创建的,其他也不用动。可以加个密码,这样更安全。我感觉这个是用来控制 OSPF Instance 都监听在哪些接口上的。
这个时候看 Neighbor,两边都是 Full,说明连上了。
回到 VPN 路由器的 OSPF instance 里,勾上 Redistribute 下面的 static,这样应该就是可以发布静态路由的意思。如果想过滤的话,这里也有一些过滤器可以用,不过我不太需要,也不是很会写语法,就无视了。
然后看主路由的路由表,可以看到静态路由都推过来了。
这样一来,在 VPN 路由上,编辑静态路由,就能自动推送到主路由上面。
不过话又说回来,为什么我不在主路由上直接拨这些 VPN 呢?我已经忘记了。