网络背景

寝室一个路由器(Dorm-1),其直接接入校园网,假设 IP 是 172.17.2.2(虽然 IP 会不断变化,但是有 DDNS 以及为了方便描述,始终以这个作为说明)

该路由器使用网段为 192.168.8.1/24,内部有一个旁路网关(Dorm-2LAN: 192.168.8.2 WAN: 192.168.8.3(为什么旁路还要接俩口,因为一个网口没配置上,最后又加了个虚拟网卡连一块了)

在学校某个教室存在一个路由器网络环境,假设其 IP 是 172.20.3.3172.20.0.0/16172.17.0.0/16 是互通的)

该网络接入同样是路由器(192.168.1.1/24,其中有一个台式机是 192.168.1.36

该台式机内存在一个虚拟机 OpenWrt(记为 Router-VM),LAN 口接入虚拟机 VMnet9,使用网段 192.168.9.1/24,作为网关和路由器,广播 DHCP。WAN 口直接桥接到宿主网络,即 192.168.1.37

网络需求

  1. 在寝室除了寝室网络环境(192.168.8.1/24 外),可以访问虚拟机网络192.168.9.1/24,在该台式机同样可以访问到寝室网络
  2. 因为Dorm-1 路由器性能太差,因此考虑将大部分组网负担分担到Dorm-2 上,Dorm-1 将到达对方的流量转发到Dorm-2
  3. (可选)在校园网其他地方随时接入到这两个网络(为什么可选,因为端口转发、代理,以及台式机远程桌面可以解决大部分需求)

本来考虑 ZeroTier 或者 Wireguard,但是因为 Wireguard 没有配置成(x),以及非校园网访问的需求,所以采用了 Zerotier

ZeroTier 在配置完成的情况下,可以很简单的认为就是一个接口,这个接口对应了它的一个子网段。子网内设备彼此互联。不需要考虑任何其他细节。具体如何连接等细节,是其自动进行的(在学校这个例子,似乎是走的 ipv6 组网)

简要方案

ZeroTier 两侧路由器组网,双方互通

ZeroTier 网络使用 192.168.192.0/24,给两个路由器分别分配 192.168.192.1192.168.192.2

之后在 ZeroTier 添加路由表,将到达 ZeroTier 的流量进行分流

Network             Dest
192.168.8.0/24      192.168.192.1
192.168.9.0/24      192.168.192.2

这样保证了首先到达 ZeroTier 的流量被正确处理

路由器添加路由,路由到达对方网络的流量

之后路由器进行配置,将到达对方网段的流量进行路由(这里没有路由到达 192.168.192.0/24 的流量)

Dorm-1(192.168.8.1

Network             Dest
192.168.9.0/24      192.168.8.3

Dorm-2(192.168.8.2192.168.8.3192.168.192.1

Network             Dest
192.168.9.0/24      192.168.192.2

Router-VM(192.168.9.1192.168.192.2

Network             Dest
192.168.8.0/24      192.168.192.1

台式机(192.168.9.2

Network             Dest
192.168.8.0/24      192.168.9.1

任意地方的网络接入

在笔记本上安装 ZeroTier 客户端即可。

会自动路由到达 192.168.8.0/24192.168.9.0/24 的流量

如果觉得我的文章对你有用,请随意赞赏