当前位置: 首页>后端>正文

【路由】route -n 的解读

对 route -n 的输出做一个解读

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.12.1       0.0.0.0         UG    0      0        0 eth0
1.1.1.0         0.0.0.0         255.255.255.0   U     0      0        0 cni0
10.0.12.0       0.0.0.0         255.255.252.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

根据给出的路由表输出,以下是对每一列的解读:

  • Destination:目标网络地址。
  • Gateway:下一跳的网关地址,即将数据包转发到该地址。
  • Genmask:子网掩码,用于确定目标网络地址的范围。
  • Flags:路由表的标志,U表示该路由是有效的,G表示该路由是默认网关。
  • Metric:用于选择最佳路由的度量值,较小的值优先选择。
  • Ref:路由的引用计数。
  • Use:路由的使用计数。
  • Iface:路由通过的接口。

根据这个路由表,可以得出以下解读:

  • 第一行表示默认路由,当目标地址无法匹配其他路由时,将数据包转发到10.0.12.1这个网关,通过eth0接口发送。
  • 第二行表示对于1.1.1.0/24网段的目标地址,直接通过cni0接口发送数据包。
  • 第三行表示对于10.0.12.0/22网段的目标地址,直接通过eth0接口发送数据包。
  • 第四行表示对于169.254.0.0/16网段的目标地址,直接通过eth0接口发送数据包,该路由的度量值为1002。

请注意,该解读基于提供的路由表输出,实际情况可能有所不同。

Flags 可能哪些值?

在Linux系统中,路由表的Flags列可以具有以下值:

  • U:表示路由是有效的(Up)。
  • G:表示路由是默认网关(Gateway)。
  • H:表示该路由是主机路由,即目标地址是具体的主机地址而不是一个网络地址(Host)。
  • D:表示该路由是由动态路由协议(如RIP、OSPF)自动添加的(Dynamic)。
  • M:表示该路由是由静态路由管理程序(如route)手动添加的(Modified)。
  • L:表示该路由是本地路由,即目标地址是本地主机的一个接口(Local)。
  • C:表示该路由是一个缓存的路由(Cache)。
  • !:表示该路由是不可到达的(Reject)。

这些标志可以组合使用,例如,"UG"表示该路由是默认网关且有效。
请注意,不同的操作系统可能会有不同的标志值。

路由条目添加解读

【路由】route -n 的解读,第1张
a1e7b0f4c88bdcf2d702da2183d1b7e0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png
# ip netns exec netns1 ip route add default via 1.1.1.1 dev veth2

这条命令的解读如下:

  • ip netns exec netns1:在名为netns1的网络命名空间中执行后续的命令。
  • ip route add default via 1.1.1.1 dev veth2:将一个默认路由添加到名为veth2的网络接口上,该路由的下一跳地址为1.1.1.1

换句话说,这条命令将在netns1命名空间中的veth2接口上添加一个默认路由,所有未知目标地址将通过1.1.1.1作为下一跳发送。

# ip netns exec netns2 ip route add default via 1.1.2.1 dev veth4

这条命令的解读如下:

  • ip netns exec netns2:在名为netns2的网络命名空间中执行后续的命令。
  • ip route add default via 1.1.2.1 dev veth4:将一个默认路由添加到名为veth4的网络接口上,该路由的下一跳地址为1.1.2.1

换句话说,这条命令将在netns2命名空间中的veth4接口上添加一个默认路由,所有未知目标地址将通过1.1.2.1作为下一跳发送。

参考

flannel UDP模式的实现
https://mp.weixin.qq.com/s/ZhNjVRohuOiijpeFD8voQA


https://www.xamrdz.com/backend/3mw1921197.html

相关文章: