route命令用于显示和操作IP路由表,它允许用户查看当前系统的路由信息,添加新的路由、删除已有的路由等。
Linux 系统内核维护着一个路由表,其中包含了关于如何到达不同网络的信息。这些路由信息可以手动配置,也可以通过动态路由协议(如 RIP、OSPF、BGP 等)自动学习。route -n命令的输出包括目标网络、目标网络的网络掩码、网关地址、使用的网络接口等信息,这些信息都是从系统的路由表中获取。使用route -n命令一般的返回格式如下:
root@orangepizero2:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
172.20.247.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0
其中:
Flags有多种情况:
对于“UG”则表示该路由既需要通过网关发送数据,又是激活的。
添加一条到192.168.1.0/24网络的路由,使用以下命令,表示将192.168.1.0/24网络的数据包发送到网关192.168.1.1.进行转发。
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
删除已有的路由,使用以下命令,删除刚才添加的路由。
route del -net 192.168.1.0 netmask 255.255.255.0