服务/软件管理(06---Linux查看主机路由(route命令))

案头见蠹鱼,犹胜凡俦侣。这篇文章主要讲述服务/软件管理:06---Linux查看主机路由(route命令)相关的知识,希望能为你提供帮助。


一、命令格式


  • route[-n]
  • -n:将主机名以IP的方式查看



?备注:?


netstat也可以查看路由表通过route命令或者其他工具手动修改路由表,是?静态的路由更新方式?。对于大型路由器,它们通过BGP、RIP、OSRF等协议来发现路径,并更新自己的路由表route命令修改路由表,主机重启之后之前的修改都失效了,所以为了永久保存,应该修改路由表的配置文件



二、查看
  • 路由表包含8个字段,意义如下:
【服务/软件管理(06---Linux查看主机路由(route命令))】?字段?
?含义?
?Destination?
目标网络/主机
?Gateway?
网关地址,*表示目标和本机在同一网络,不需要路由
?Genmask?
网络掩码
?Flags?


路由项标志,常见标志有如下5中

  • U:该路由项是活动的
  • H:该路由项的目标是一台主机
  • G:该路由项的目标是网关
  • D:该路由项是重定向生成的
  • M:该路由项被重定向修改过
  • R:动态路由算法生成的
  • A:该路由被 addrconf 安装
  • C:缓存(cache entry)
  • !:拒绝路由(reject route)。匹配这一条报文将丢弃



?Metric?
路由距离,即到达指定网络所需的中转数
?Ref?
路由项被引用的次数(Linux未使用)
?Use?
该路由项被使用的次数
?Iface?
该路由项对应的输出网卡接口


服务/软件管理(06---Linux查看主机路由(route命令))

文章图片


  • ?第一项的?目标地址是default,即所谓的默认路由项。该选项包含一个“G”选项,说明下一跳目标是网关(192.168.43.1)
  • ?第二项的?目标地址是192.168.43.0,它指的是本地局域网,并且Gateway为“*”,说明数据包不需要路由中专,可以直接发送到目标主机





服务/软件管理(06---Linux查看主机路由(route命令))

文章图片



三、IP数据报的路由机制?IP的路由机制,大致分为下面3个步骤:?

  • ①查找路由表中和数据报的目标IP地址完全匹配的主机IP地址,如果找到,就使用该路由项;否则转到步骤②
  • ②查找路由表中和数据报的目标IP地址具有相同网络ID的网络IP地址(比如上面图中的192.168.43.0)。如果找到就使用该路由项;否则转到步骤③
  • ③选择默认路由项,意味着数据报的下一跳路由是网关

四、路由表的更新


演示案例
服务/软件管理(06---Linux查看主机路由(route命令))

文章图片


  • 第1行:表示添加主机192.168.1.109(机器2)对应的路由项。这样设置之后,所有从本机发送到机器2的IP数据包通过网卡eth0直接发送到目标机器的接收网卡
  • 第2行:删除网络192.168.1.0对应的路由项,这样之后,本机将无法访问192.168.1.0局域网上的任何机器
  • 第3行:删除默认路由项,这样之后将无法访问因特网
  • 第4行:重新设置默认路由项,不过在这里我们将其网关设置为192.168.1.109,而不是能够访问因特网的路由器






    推荐阅读