在我的 Ubuntu 桌面上
ip route help
对我没有帮助:
Usage: ip route { list | flush } SELECTOR
ip route save SELECTOR
ip route restore
ip route showdump
下面的ip route如何解释:
default via 192.168.0.1 dev wlo1 proto dhcp metric 600
default via 192.168.1.1 dev br0 proto static metric 20100 onlink linkdown
10.42.0.0/24 dev cni0 proto kernel scope link src 10.42.0.1
10.121.173.0/24 dev mpqemubr0 proto kernel scope link src 10.121.173.1 linkdown
169.254.0.0/16 dev virbr1 scope link metric 1000
是10.42.0.0/24
source and 10.42.0.1
desitnation? devcni0 proto kernel scope link src
指的是什么?
ip route add
这些字段大多与;的命令行关键字匹配。看man ip route
。主要值,
10.42.0.0/24
或default
,是路线的目的地。这里没有实际的“源”字段——IPv4 路由通常不按源匹配,仅按目标匹配。(IPv6 路由可以与源和目标匹配,但
from
在这种情况下该字段将被标记,而不是“src”。)src
10.42.0.1 是此系统连接到该目标时使用的“首选源”IP 地址提示。(主要在系统有多个IP时使用。)当系统正在转发来自其他地方的数据包时,它不起作用。via
是目的地可以到达的下一跳网关。dev
表示下一跳设备(接口),如ip link
或所示ip addr
。如果路由有“dev”但没有“via”,则它是“本地子网”路由或“设备”路由或“on-link”路由;无需网关即可到达目的地。对于在“via”中指定网关的路由,“dev”字段是可选的,仅指定网关在哪个接口上(但接口也可以通过以下链接路由确定)。scope link
还表明这是一个“本地子网”路由,它可用于为更高范围的路由解析网关。例如,指定没有“dev”字段的路由将通过仅使用“scope link”路由via 10.42.0.1
自动确定设备为“cni0” (因为根据定义,路由下一跳是链路本地的)。proto
是一个标签,用来表示这个路由安装了什么软件——'proto kernel' 表示它是由内核自己添加的;当您使用子网掩码配置 IP 地址时,您会自动获得它的“子网”路由。(诸如 Bird 或 FRR/Zebra/Quagga 之类的路由守护进程使用 'proto' 字段,以便它们可以可靠地检测和删除自己的路由而不会混淆它们。您可以指定任何您喜欢的 'proto' 值,名称定义在/etc/iproute2; 默认情况下,手动添加的路由会分配 'proto boot'。)
你的路由表中这个条目的解释:
如下:
10.42.0.0
to10.42.0.255