目前Linux中已经逐渐使用ip route命令替代route命令。但是route命令仍然十分有用

操作命令

  • route add -net 192.168.3.0 netmask 255.255.255.0 dev eth0
  • 添加一条指向网络192.168.3.x的路由,发送接口为eth0
  • route add -host 192.168.3.16 dev eth0
  • 添加一个主机路由,也就是说目的地址为192.168.3.16的数据包从转发到eth0
  • rotue add default gw 192.168.3.1 dev eth0
  • 添加一个默认网关,发送接口为eth0
  • route del -host 192.168.1.8 gw 192.168.166.1 dev wlan0
  • 增加一个目的地址为192.168.1.8的默认网关,使用wlan0发送数据
  • route del -net 192.168.3.0 netmask 255.255.255.0 dev eth0
  • 删除192.168.3.0的路由
  • route del default gw 192.168.3.1 eth0
  • 删除默认路由

route命令输出

  • Destination:目标网络或目标主机
  • Gateway:网关地址或 '*' (如未设置)
  • Genmask:目标网络的子网掩码;'255.255.255.255'为主机,'0.0.0.0'为缺省路由
  • Flags:路由标志Metric:通向目标的距离(通常以跳来计算)
    • U (route is up) :路由正常
    • H (target is a host) :主机路由
    • G (use gateway) :使用网关的间接路由
    • R (reinstate route for dynamic routing) :为动态选路恢复路由
    • D (dynamically installed by daemon or redirect) :该路由由选路进程或重定向动态创建
    • M (modified from routing daemon or rederict) :该路由已由选路进程或重定向修改
    • ! (reject route) :阻塞路由
  • Ref:使用此路由的活动进程个数(Linux内核并不使用)
  • Use:查找此路由的次数。根据-F 和 -C的使用,此数值是路由缓存的损失数或采样数
  • Iface:使用此路由发送分组的接口(网卡名字)

route 和 ip route的区别

  • ip route以其最简单的形式可用于显示输出主路由表。该命令的输出与route的输出明显不同。
  • 可以通过ip route show table local命令查看本地路由表,而route命令无法查看。
  • ip route add与route add一样,可以用于添加路由,但是ip route add 提供了更多route命令无法实现的选项