近来把 家和公司三处地方的网络(2个家,乡下老家嘛)通过 tunnel 手段连接到了一起, 三个地方的 LAN 分配不同的私网网段,因此配置好路由表后,三处内网的机器就可以互相访问了。
最初我使用的是添加静态路由,但是因为 vpn 是使用的点对点互联,而不是首先集中连到一个转发服务器上,所以需要配置路由表的路由器数量达到了4台,比较麻烦,关键是期间我还修改过私网使用的网段,结果每台路由器都要登录上去修改路由表, 非常麻烦。
更为麻烦的是, 其中公司访问老家的 vpn 丢包比较大,如果通过家中的网路跳转访问, 反而更快。但是如果公司到家里的网络断开,还要希望自动的让他们之间的直链线路接手, 于是就折腾上了 OSPF 路由协议。
当然,最开始我是使用的 bgp 协议, 让3台路由器相互建立邻居,但是bgp的邻居要手动配置,稍微麻烦了点,所以改用 ospf 协议。
顺便还修改了 EdgeOS (Ubnt 的路由器使用的系统)让它支持配置 zerotier —— 是通过他内置的 configure 命令配置, 而不是 zerotier-cli 命令, 这样就可以在 Web GUI 上为 zerotier 虚接口建立 ospf。
基本上 EdgeOS 就是 Debian Linux + Perl configure script.
所以,其实 EdgeOS 是可以移植到 x86 软路由上的。不过x86软路由可以直接使用 VyOS。^_^
有了 动态路由协议,我只要设定老家到公司的vpn链路开销是 200, 而老家到家的开销是 80 , 家到公司的开销是 80, 通过家中转访问的开销则只有 160,于是 ospf 的选路算法就会使用中转代替直联的那条vpn线路。如果中转的线路不可用, 则回退到直联模式。
这样我顺便又加了一台在海外的VPS进入这个网络,形成4点的 mesh 网络。
这个就是我自己折腾出来的,在折腾的过程中,还发现了 dn42 这个网络。
dn42 就是一个全球性的,像我折腾手里私人网络一样的,通过 vpn 把多个节点连起来,不同的节点是由不同的人管理的,这样一个大型的虚拟网络。
目前已经拥有 400+ 个自治域网络。
于是我也去申请加入了。 搞到了 AS4242420571 这个 AS 号。然后分配了 172.21.87.128/25 172.21.87.64/26 两段共 196 个IP。
然后和 burble 建立了第一个 peer。顺便学习了 bgp 协议。
然后 burble 一下子给我 push 了四百多条路由。不过我只给他 push 了2条。
然后通过他的Transit我就能访问 dn42 里其他人了。
当然,还得建立更多的 peer 才行。
然后顺便就把家里的 IP 网段给换到 dn42 分配的 ip 里了。
下面记录下分配的 IP 列表:
- 172.21.87.64/29 -> 分配给所以设备的 Loopback IP , 用 /32 子网, 用于点对点的网络
- 点对点连接为如 PPTP, WG
- 172.21.87.66/32 分配给 HOME
- 172.21.87.67/32 分配给 Gaofeng
- 172.21.87.64/32 分配给 Office
- 172.21.87.65/32 给 zhangrui pptp 拨入对接
- 剩下还有 4 个 IP 保留。
- 172.21.87.72/30 -> 用于 peer 的 zerotier 网络。
- 172.21.87.76/30 分配给家里第二个LAN, NAS 独享的点对点以太网链接
- 172.21.87.80/30 分配给 a0cbf4b62a4ab103 (OFFICE 2 VPS)
- 172.21.87.84/30 分配给 1c33c1ced03e1a5a (OFFICE 2 HOME)
- 172.21.87.88/30 分配给 35c192ce9b758b54 (Gaofeng 2 HOME)
-
172.21.87.92/30 分配给 d3ecf5726d7bf5a7 (HOME 2 VPS)
- 172.21.87.96/27 -> 办公室 LAN 网络
- 172.21.87.128/26 -> 家里主要网络
- 172.21.87.192/26 -> 丈母娘家网络