iproute2 表 0 与表 local 不同

iproute2 表 0 与表 local 不同

我们都知道这些命令会生成相同的输出:

ip route list
ip route list table 254
ip route list table main

该命令还列出了一些与本地地址和广播地址相关的特殊规则:

ip route list table local

但是,替换local为零(如 中所列/etc/iproute2/rt_tables)会生成大量输出:

ip route list table 0

为什么最后一个命令如此不同?

答案1

当地的表是默认表之一:255,可以在上游存储库rt_tables

#
# reserved values
#
255   local
254   main
253   default
0 unspec
#
# local
#
#1    inr.ruhep

表0,这里写的是未指定在内部也称为全部经过ip路由2工具。这实际上不是一张桌子。它代表全部表和方法不特别指定。因此,当您输入其中之一时:

ip route show table 0
ip route show table all
ip route show table unspec # only if present in /etc/iproute2/rt_tables

它将显示全部路由表,包括表 254主要的表(未指定表时使用的表),表 255当地的路由以及您可能创建的任何其他非空表。由于存在不同的表而不是只有一个,因此该命令还将在输出中添加额外的参数table X(表 254/ 除外)主要的)对于每个显示的表 X,因此可以重用其输出以在正确的位置添加表条目。

由于输出将包括当地的主要的表,它总是比其中一个表有更多的行:更长的输出。

相关内容