路由表可以是由系统管理员固定设置好的(静态路由表),也可以是根据网络系统的运行情况而自动调整的路由表(动态路由表),它是根据路由选择协议提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径.路由器的另外一个作用是连通不同网络.一般来说,异种网络互联与多个子网互联都应采用路由器来完成.
方法1:通过netstat命令
netstat命令一直是Linux中打印路由表信息一种广泛使用的方法。然而,它被ip route命令正式取代。无论如何,我们都需要它,因为它仍然是检索所需信息的一种方法。
以下是使用此命令的方法:
$ netstat -rn
-r此标志用于显示内核路由表
-n此标志用于显示数字地址
这是输出的结果:
Destination 此列指示目标网络。 Gateway 此列指示网络的已定义网关。 如果在此列中看到*,则表示指定的网络不需要转发网关。 Genmask 此列指示网络的网络掩码。 Flags 此列中的U输出表示路线已启动。 G输出表示应该为此路由使用指定的网关。 D代表动态安装,M代表修改,R代表恢复。 MSS 此列指示此路由的TCP连接的默认最大段大小(MSS)。 Window 此列指示此路由上TCP连接的默认窗口大小。 Irtt 此列指示此路线的初始往返时间。 Iface Iface列显示网络接口。 如果您有多个接口,您会看到lo(用于环回),eth0(第一个以太网设备)和eth1(用于第二个以太网设备),依此类推您已安装的接口数量。
方法2:通过route命令
route命令也属于曾经广泛使用但现在过时的命令来查看路由表。 此命令的手册页还提到该命令现在已被ip route命令替换。
通过此命令,您可以通过netstat命令查看完全相同的信息。 以下是如何使用它:
内核 IP 路由表 目标 网关 子网掩码 标志 跃点 引用 使用 接口 0.0.0.0 192.168.182.2 0.0.0.0 UG 20100 0 0 ens33 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 ens33 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 192.168.182.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
-n此标志仅用于显示数字地址
方法3:通过ip route命令
最后但同样重要的是,这是在Linux中打印路由表信息的最佳方法。 以下是使用此命令的方法:
虽然这些信息不像前面提到的命令那样对读者友好,但是它仍然足够您配置路由器。
这是几个在Ubuntu中查看路由表信息的命令。虽然ip route命令在外观上不是很整洁,但它仍然是查找相关路由表信息的推荐方法。虽然其他命令被认为是过时的,但它们有时确实有助于导出需要提取的内容。