软路由的作用是把一条进线分给多台设备,并且让每台设备走不同的IP线路。这件事本身不复杂,结构就三层,上游的线路、中间的转发、下游的设备。把三层分清楚,配置的时候就不会乱,出问题也知道该查哪一层。三层里任何一处配错,现象都是某几台设备对不上,很少出现全都不通,这一点决定了排查要从下游往上找。
- 上游
- 云服务器上的多个公网IP,是真正对外的线路
- 中间
- 软路由上的转发规则,决定哪个设备走哪条线路
- 下游
- 各台设备的网关指向软路由,由它统一分配
- 确认上游每个地址都能单独连通
- 在软路由上给每条线路建一个转发组
- 把设备按用途分到不同的组里
- 逐台验证,查到的地址与分配的组一致
三层里最容易出错的是第二层,规则写重了会互相覆盖。
为什么要用软路由
直接在每台设备上装客户端也能实现,但设备一多,配置和维护的量就上来了。软路由把配置集中在一处,改一次全部生效,出问题也只查一个地方。代价是所有设备共用一条进线,带宽要提前算好,进线不够的时候,再好的转发规则也救不回来。
三层结构的好处是改动可控。要给某几台设备换线路,只动中间那一层的分组,下游设备不用碰;上游加一个IP,也只是多建一个组。知道改动落在哪一层,就不至于每次调整都把设备重配一遍,也不会因为一处改动把别的设备带偏。
带宽会不会成为瓶颈
会。所有设备共用一条进线,上行跑满之后所有设备一起变慢。上多少台设备,要按峰值流量算,不是按平均流量算。算下来不够的,要么提高进线带宽,要么把一部分设备分流到另一台软路由上。按峰值算出来还留三成余量,用起来才不慌。
先把三层画在纸上,标清每层用了什么,再动手配置,返工能少一大半。
