路由表是什么
路由表决定子网内的流量去哪里:每个子网关联一张路由表,表里既有系统自动生成的本地路由,也有用户手工添加的自定义路由。云上网络问题很大一部分是路由问题——网关建好了但没加路由,或者子网关联了错误的表,流量就走不到预期的地方。
基本信息
| 基本关系 | 子网关联路由表,路由表决定该子网流量的下一跳 |
|---|---|
| 系统路由 | 平台自动生成,负责网段内互通与本地转发,通常不可删除 |
| 自定义路由 | 用户添加,可指向网关、对等连接、隧道或指定实例 |
| 默认路由 | 指向公网出口的那条路由,缺失时实例无法访问公网 |
| 关联数量 | 一张路由表可被多个子网共用,也支持子网级独立表 |
| 生效方式 | 修改后立即生效,回滚需要手动恢复配置 |
典型使用场景
- 配置出网:把默认路由指向网关,让子网内的实例可以访问公网
- 打通对端:为对等连接或隧道添加指向对端的路由条目
- 分流路径:让特定网段的流量走专线,其余走公网出口
- 隔离子网:数据层子网不配默认路由,只保留必要的内部路由
- 排障定位:确认流量实际走的是哪条路径,判断问题在哪一跳
- 架构调整:迁移网关或切换链路时先调整路由,再停用旧链路
常见路由条目
| 目标网段 | 下一跳 | 用途 |
|---|---|---|
| 网段内地址 | 本地 | 系统生成,同网段互通 |
| 默认路由 | 网关或出口设备 | 访问公网或外部网络 |
| 对端网段 | 对等连接或隧道 | 跨网络私网互通 |
| 特定地址段 | 专线网关 | 指定流量走专用链路 |
| 无默认路由 | 不配置 | 仅内网访问的隔离子网 |
查看与核对路由
查看与核对路由
aliyun vpc DescribeRouteTables --RegionId cn-hangzhou # 路由表列表
aliyun vpc DescribeRouteEntryList --RegionId cn-hangzhou --RouteTableId vtb-xxxx # 条目明细
aliyun vpc DescribeVSwitches --RegionId cn-hangzhou # 确认子网关联的表
# 子网不通时先确认它关联的是哪张表,再核对默认路由是否存在多子网共用一张路由表时,改一条默认路由影响的是一整片网络:给不同用途的子网单独建表,变更的爆炸半径才可控。
路由表被误删或改错会让整段子网的流量中断,而且修改立即生效:变更前先导出当前条目作为备份,改完立即验证连通性。
新建子网常常漏配关联:子网创建后如果没有关联到预期路由表,可能拿不到默认路由,表现为能内网互通却上不了公网。
路由与安全组是两层:路由解决能不能到达,安全组解决端口能不能通,两层都正确流量才真正可达。
变更时的安全做法
- 变更前导出当前条目,误改时可以快速比对并恢复
- 先确认子网关联的是哪一张路由表,再决定改哪一条
- 为用途不同的子网分别建表,缩小一次变更的影响范围
- 新网关接入后立刻验证连通性,不要等业务报障才发现
- 删除路由前确认没有业务依赖该路径
- 把路由与网关的对应关系记录下来,避免结构长期失控