路由表Metric值

Posted by FanHao on 2026-03-28

认识路由表Metric值

以下为Linux系统下的路由表,50为默认路由WAN0的Metric值;中文通常翻译为跃点数(Windows)、路由常量或路由开销。

1
2
3
4
5
6
7
root@obc:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.130.250 0.0.0.0         UG    50     0        0 wan0
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 lan
192.168.130.0   0.0.0.0         255.255.255.0   U     50     0        0 wan0
240.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 vnetc

以下为windows下的IPv4路由表;跃点数为路由开销;
默认路由网关为192.168.20.1,接口192.168.20.64,Metric为25

1
2
3
4
5
6
7
8
9
10
11
12
13
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0     192.168.20.1    192.168.20.64     25
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    331
        127.0.0.1  255.255.255.255            在链路上         127.0.0.1    331
  127.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
     192.168.20.0    255.255.255.0            在链路上     192.168.20.64    281
    192.168.20.64  255.255.255.255            在链路上     192.168.20.64    281
   192.168.20.255  255.255.255.255            在链路上     192.168.20.64    281
        224.0.0.0        240.0.0.0            在链路上         127.0.0.1    331
        224.0.0.0        240.0.0.0            在链路上     192.168.20.64    281
  255.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
  255.255.255.255  255.255.255.255            在链路上     192.168.20.64    281

两种系统Metric值相同点

网络主备切换

实例1:两张网卡都有默认路由:网卡 A(有线): 默认路由 Metric 设为 10;网卡 B(Wi-Fi): 默认路由 Metric 设为 30;正常情况下所有流量均会走A网卡(有线较稳定),当A路由失效时(网线断联),系统自动将流量切换至B;

内外网分流

实例2:两张网卡实现内外网分流:外网默认走默认路由,metric值设置10。内网手动添加静态路由规则
route -p add 10.0.0.0 mask 255.0.0.010.26.1.1 metric 5
(假设公司内网网段10.10.10.0/8  内网网关为10.26.1.1)

差异点:

Linux系统可以设置metric值相同的两条默认路由规则实现网速叠加或者负载均衡。windows由于系统差异无法实现:当多条默认路由的 Metric 完全相同时,Windows会触发ECMP(等价多路径路由)机制。但Windows对ECMP的处理并不是完美的逐包或逐连接分流,而是系统会随机或者根据某种哈希算法,锁定其中一张网卡作为当前的主要通道。可能会导致网络不稳定、TCP 连接频繁断开、游戏掉线或网站需要反复登录(因为你的出口 IP 在两个网卡之间来回跳跃)。

应用示例

观察以下IPv4路由表,访问百度等一些流量默认走哪个网卡?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0     192.168.20.1    192.168.20.64     25
          0.0.0.0          0.0.0.0  192.168.130.250   192.168.130.87     30
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    331
        127.0.0.1  255.255.255.255            在链路上         127.0.0.1    331
  127.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
     192.168.20.0    255.255.255.0            在链路上     192.168.20.64    281
    192.168.20.64  255.255.255.255            在链路上     192.168.20.64    281
   192.168.20.255  255.255.255.255            在链路上     192.168.20.64    281
    192.168.130.0    255.255.255.0            在链路上    192.168.130.87    286
   192.168.130.87  255.255.255.255            在链路上    192.168.130.87    286
  192.168.130.255  255.255.255.255            在链路上    192.168.130.87    286
        224.0.0.0        240.0.0.0            在链路上         127.0.0.1    331
        224.0.0.0        240.0.0.0            在链路上     192.168.20.64    281
        224.0.0.0        240.0.0.0            在链路上    192.168.130.87    286
  255.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
  255.255.255.255  255.255.255.255            在链路上     192.168.20.64    281
  255.255.255.255  255.255.255.255            在链路上    192.168.130.87    286

根据metric值大小比较,由于小的Metric值具备更高优先级,默认走192.168.20.1这个网关出去。

1
2
3
4
5
6
7
8
9
root@obc:/data# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.130.250 0.0.0.0         UG    50     0        0 wan0
0.0.0.0         192.168.130.250 0.0.0.0         UG    70     0        0 wan1
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 lan
192.168.130.0   0.0.0.0         255.255.255.0   U     50     0        0 wan0
192.168.130.0   0.0.0.0         255.255.255.0   U     70     0        0 wan1
240.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0  vnetc

linux系统路由表;由表中Metric值可知除匹配路由规则外,其他所有流量默认走WAN0接口。