公司新上了个专线,想让财务部门的流量走这条稳定线路,其他部门继续用原来的宽带。这时候普通路由就搞不定了,得靠策略路由表项配置来安排。
什么是策略路由表项配置
普通的路由是看目标地址决定走哪条路,而策略路由更聪明,它可以根据源地址、协议类型、端口号等条件来决定数据包的转发路径。比如你可以设置‘来自财务部IP的数据,全部走专线出口’,这就是策略路由在起作用。
配置前先理清思路
动手之前得想明白:你想让谁的流量(源IP)、访问什么服务(目标IP或端口)、通过哪个接口或下一跳出去。就像做饭前得备好料,网络策略也得先规划清楚。
以Linux为例的实际配置
假设财务部的IP段是192.168.10.0/24,专线对应的网关是203.0.113.1,主路由还是走默认的192.168.1.1。
第一步,创建一个自定义路由表,比如叫“finance”:
echo "200 finance" >> /etc/iproute2/rt_tables
第二步,给这个表加一条默认路由:
ip route add default via 203.0.113.1 dev eth1 table finance
第三步,设置策略规则:只要源IP是财务部的,就查finance这张表:
ip rule add from 192.168.10.0/24 table finance
这样,财务部发出的所有流量就会优先匹配这条规则,走专线出去了。
别忘了持久化
上面这些命令重启就没了。要想永久生效,得写进启动脚本或者网络配置文件里。比如在CentOS里可以放到/etc/rc.local,或者用NetworkManager的dispatcher机制。
排查问题的小技巧
如果发现没生效,先检查规则有没有加载:
ip rule show
再看看自定义表里的路由对不对:
ip route show table finance
还可以用tcpdump抓包,看实际走的是不是预期的出口。
策略路由不是拿来炫技的,而是解决特定场景下流量调度的好工具。用得好,能让关键业务更稳;用错了,也可能把自己绕进去。动手前多想两步,比出问题后再查快得多。