静态路由配置实战
静态路由是网络工程最基础的操作——手动告诉路由器"去 X 网络,走 Y 方向"。小型网络全靠静态路由,大型网络里静态路由也经常出现在关键路径上。
场景拓扑
办公网络 服务器网络 数据中心
10.0.10.0/24 10.0.20.0/24 10.0.30.0/24
│ │ │
PC-A Server-1 DB-Server
10.0.10.100 10.0.20.100 10.0.30.100
│ │ │
[R1-eth0] [R1-eth1]
10.0.10.1 10.0.20.1
└──────[R1]──────┘
│
[R1-eth2]
10.0.99.1
│ (WAN 链路 /30)
10.0.99.2
│
[R2-eth0]
10.0.99.2
│
[R2-eth1]
10.0.30.1
│
DB-Server
10.0.30.100
目标:让 PC-A (10.0.10.100) 能够访问 DB-Server (10.0.30.100)
Linux 静态路由配置
# === R1 配置 ===
# 查看当前路由表
ip route show
# 添加到 10.0.30.0/24 的静态路由(经由 R2)
ip route add 10.0.30.0/24 via 10.0.99.2 dev eth2
# 添加默认路由(所有未知目标都发往 ISP)
ip route add default via 203.0.113.1 dev eth3
# 验证
ip route show
ping -c 3 10.0.30.100
# 持久化配置(重启后生效)—— 使用 netplan(Ubuntu)
cat /etc/netplan/01-routes.yaml
network:
version: 2
ethernets:
eth2:
addresses: [10.0.99.1/30]
routes:
- to: 10.0.30.0/24
via: 10.0.99.2
- to: default
via: 203.0.113.1
# === R2 配置 ===
# R2 需要知道如何回到 PC-A 所在的办公网络
ip route add 10.0.10.0/24 via 10.0.99.1 dev eth0
ip route add 10.0.20.0/24 via 10.0.99.1 dev eth0
常见静态路由场景
场景 1:添加到特定网段的路由
# 去 192.168.100.0/24,下一跳是 10.0.0.1
ip route add 192.168.100.0/24 via 10.0.0.1
# 指定出口接口(对于点对点链路)
ip route add 192.168.100.0/24 dev eth1
# 设置路由度量值(值越小越优先,多条路由时用于优先级排序)
ip route add 192.168.100.0/24 via 10.0.0.1 metric 100
ip route add 192.168.100.0/24 via 10.0.0.2 metric 200 # 备用路由
场景 2:默认路由(出口到互联网)
# 方法 1:使用 default
ip route add default via 192.168.1.1
# 方法 2:等价写法
ip route add 0.0.0.0/0 via 192.168.1.1
# 查看默认路由
ip route show default
场景 3:黑洞路由(丢弃特定流量)
# 把所有到 10.200.0.0/16 的流量丢弃(如:封锁某段 IP)
ip route add blackhole 10.200.0.0/16
# 或者发到 null0(等价)
ip route add 10.200.0.0/16 dev lo
场景 4:等价多路径(ECMP)
# 两个下一跳等价,流量分摊(负载均衡)
ip route add 10.0.0.0/8 nexthop via 10.0.99.1 dev eth0 weight 1 \
nexthop via 10.0.99.2 dev eth1 weight 1
# 验证
ip route show 10.0.0.0/8
路由排查四步法
# 问题:PC-A ping 不到 DB-Server
# 步骤 1:检查 PC-A 本地路由表
ip route show
# 有没有到 10.0.30.0/24 或 default 的路由?
# 步骤 2:ping 下一跳是否可达
ping -c 3 10.0.99.2 # 先 ping R2,看 WAN 链路是否通
# 步骤 3:追踪路径
traceroute 10.0.30.100
# 在哪一跳停止?
# * * * → 该跳不响应(防火墙丢弃 ICMP TTL Exceeded,或路由黑洞)
# 步骤 4:在中间路由器上检查路由
# 登录 R1
ip route show
ip route get 10.0.30.100 # 显示到达特定目标会走哪条路由
# R2 上检查是否有回程路由
ip route show | grep "10.0.10"
# 如果 R2 没有回程路由 → 能发出去,但回不来(非对称路由)
静态路由 vs 动态路由
特性 静态路由 动态路由(OSPF/BGP)
──────────────────────────────────────────────────────────────
配置复杂度 简单(手动每条) 复杂(协议配置)
维护成本 高(网络变化要手改) 低(自动收敛)
故障恢复 手动 自动(秒级)
CPU/带宽开销 无 有(协议开销)
安全性 高(无路由信息泄露) 需要认证
适用场景 小型网络/末梢路由 中大型网络/多路径
什么时候用静态路由: - 末梢网络(Stub Network):只有一条出口,不需要动态路由 - 默认路由:指向 ISP 的出口 - 安全考虑:不希望某条路由被动态路由协议传播
CCNA 对应考点
考纲位置:Domain 3.3 — Configure and verify IPv4 and IPv6 static routing
高频考题: -
ip route命令格式(目标网络 子网掩码 下一跳) - 浮动静态路由(管理距离大于动态路由,作为备用) - 对称路由要求(去程和回程路由都要配置)
下一节:默认路由与路由汇总——默认路由是所有流量的"兜底",路由汇总减少路由表条目。两者都是优化路由配置的关键技巧。