关键在于让每类流量“走对门、回对路”:分三表承载内网互访、跨云私有通信、互联网出口,成对配置from/to规则确保双向路径一致,禁用main表防绕行,并验证回程对称性。

混合云网络割接中,用策略路由表实现内网与公网流量隔离,关键不在多配几张表,而在于让每类流量“走对门、回对路”。核心是把内网互访、跨云私有通信、互联网出口这三类路径彻底分开,不混用默认路由。
明确三类流量边界,分表承载
先在 /etc/iproute2/rt_tables 中定义三张专用表:
- 100 table_intranet:承载所有内网段间(如 10.10.0.0/16 ↔ 172.16.100.0/24)和跨云私有连接(如通过高速通道对接的IDC网段)的路由
- 200 table_cloudlink:仅用于混合云边缘加密隧道(如IPSec/SSL)的下一跳,不包含任何公网路由
- 300 table_internet:只放一条默认路由指向互联网出口网关,且必须排除内网地址段(用 ip route add default via X.X.X.X dev eth1 table table_internet + ip route add unreachable 10.0.0.0/8 table table_internet 等拒绝规则兜底)
用 from + to 规则绑定源和目的双向路径
单靠 from 规则只能控制出向,割接时常见问题就是服务响应包走错表导致连接中断。必须成对配置:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 对内网业务服务器 IP(如 10.10.5.100),加两条规则:
ip rule add from 10.10.5.100 table table_intranet priority 90
ip rule add to 10.10.5.100 table table_intranet priority 95 - 对公网出口接口的本地地址(如 203.0.113.10),加:
ip rule add from 203.0.113.10 table table_internet priority 80
ip rule add to 203.0.113.10 table table_internet priority 85
禁用 main 表参与关键路径,防止“漏网”
Linux 默认的 main 表极易成为策略绕行通道。割接前执行:
- ip route flush table main —— 清空 main 表所有非直连路由
- ip route add 127.0.0.0/8 dev lo scope link table main —— 仅保留必要本地路由
- 确保所有业务接口的直连子网路由只存在于对应策略表中(如 10.10.0.0/16 dev eth0 src 10.10.0.1 table table_intranet)
验证回程对称性,避免割接后丢包
从任一节点发起测试,必须同时验证去向和回向路径一致:
- 用 ip route get 172.16.100.50 from 10.10.5.100 iif eth0 查看出向选表
- 在目标节点执行 tcpdump -i eth0 host 10.10.5.100 and port 22,确认响应包确实从同一接口发出
- 重点检查 NAT 设备或防火墙是否因未识别策略表路由而丢弃回包 —— 此时需在设备上同步配置静态路由或关闭反向路径过滤(net.ipv4.conf.all.rp_filter = 0)










