表Linux下查看路由表的方法(linux查看route)

Linux下查看路由表是网络管理人员需要工作中经常遇到的任务之一。有必要对其有一定的了解,以便更好的处理网络问题。本文章将介绍在Linux下查看路由表的方法。

### 一、常用查看路由命令

在Linux下查看路由表有两个命令`route`和`ip route`,它们的执行效果基本相同,都可以查看系统路由表的情况,只是前者来自最小的net-tools包,后者来自更为完善的iproute2包,同时也是该机器上惊天一角。另外,它们之间也不兼容,即当系统上只有route命令时,必须使用route命令来查看网络路由,而当只有iproute命令时,必须使用iproute命令查看。

### 二、查看操作

通过`route`和`ip route`可以查看路由表中的详细信息。例如,查看IPv4路由表可以使用如下命令:

“`shell

route -n


或者

```bash
ip route

两条命令的输出结果如下:

“`txt

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

default 10.100.1.254 0.0.0.0 UG 0 0 0 ens9

10.100.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens9

172.19.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens19

192.168.150.0 0.0.0.0 255.255.255.0 U 0 0 0 ens20

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

default 10.100.1.254 0.0.0.0 UG 0 0 0 ens9

10.100.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens9

172.19.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens19

192.168.150.0 0.0.0.0 255.255.255.0 U 0 0 0 ens20


从结果中可以看出,"Destination"为目的IP地址,"Gateway"为下一跳的网关地址,"Genmask"为目的IP和子网掩码的比较结果,"Flags"指该条目的特殊属性,"Metric"网关到达目的地的链路代价,以及"Iface"网关接口。

### 三、添加删除路由表

当我们希望添加一条路由表时,可以使用`route add`命令,例如:

```shell
route add -net 192.168.1.0/16 dev ens9

若要删除路由表,可以使用`route del`命令,它可以删除系统中的指定路由条目,例如:

“`shell

route del -net 192.168.1.0/16


同样,还可以通过`ip route`命令添加/删除路由表。添加新表项如下:

```shell
ip route add 192.168.1.0/24 via 172.16.1.254 dev ens19

添加完成后,使用`ip route`查看路由表,确认可以看到新添加的路由条目。

### 四、更新路由表

路由表一旦更改,就必须更新所有系统的表,使之生效。在Linux下可以使用`route`和`ip route`命令来更新路由表。

首先,执行命令`ip route flush`可以立即清空主机所有路由表项目,同时更新剩下表项。如果系统中只需要更新某一个路由表项,可以使用 `ip route change` 命令,其格式为:

“`shell

ip route change


其中``指定要更新的IP地址或IP范围, ``指定路由表项中的下一跳,而``指定链路代价。
### 五、小结

上述就是如何在Linux下查看、添加、删除和更新路由表的方法,主要通过`route`和`ip route`命令完成,这些命令可以帮助网络管理员更加简便地管理网络,排解

数据运维技术 » 表Linux下查看路由表的方法(linux查看route)