注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

谷搜互联网应用www.iguso.com

谷搜专注企业邮箱十二年

 
 
 

日志

 
 

路由表产生的类型  

2014-11-26 09:16:34|  分类: Linux技术文章 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

每一部主机都有自己的路由表, 也就是说,你必须要透过你自己的路由表来传递你主机的封包到下一个路由器上头。 若传送出去后,该封包就得要透过下一个路由器的路由表来传送了,此时与你自己主机的路由表就没有关系啦! 所以说,如果网络上面的某一部路由器设定错误,那...封包的流向就会发生很大的问题。 我们就得要透过 traceroute 来尝试了解一下每个 router 的封包流向了。

  OK!那你自己主机的路由表到底有哪些部分呢?我们以底下这个路由表来说明:

  [root@www ~]# route -n

  Kernel IP routing table

  Destination Gateway Genmask Flags Metric Ref Use Iface

  192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 <== 1

  169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 <== 2

  0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 <== 3

  首先,我们得知道在 Linux 系统下的路由表是由小网域排列到大网域, 例如上面的路由表当中,路由是由『 192.168.1.0/24 --> 169.254.0.0/16 --> 0.0.0.0/0 (预设路由) 』来排列的。 而当主机的网络封包需要传送时,美国空间就会查阅上述的三个路由规则来了解如何将该封包传送出去。 那你会不会觉得奇怪,为什么会有这几个路由呢?其实路由表主要有这几种情况来设计的:

  依据网络界面产生的 IP 而存在的路由:

  例如 192.168.1.0/24 这个路由的存在是由于我的这部主机上面拥有 192.168.1.100 这个 IP 的关系! 也就是说,你主机上面有几个网络界面的存在时,该网络界面就会存在一个路由才对。 所以说,万一你的主机有两个网络界面时,例如 192.168.1.100, 192.168.2.100 时,那路由至少就会有:

  [root@www ~]# ifconfig eth1 192.168.2.100

  [root@www ~]# route -n

  Destination Gateway Genmask Flags Metric Ref Use Iface

  192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

  192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

  169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0

  0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0

  手动或预设路由(default route):

  你可以使用 route 这个指令手动的给予额外的路由设定,例如那个预设路由 (0.0.0.0/0) 就是额外的路由。 使用 route 这个指令时,最重要的一个概念是:『你所规划的路由必须要是你的装置 (如 eth0) 或 IP 可以直接沟通 (broadcast) 的情况』才行。企业邮箱举例来说,以上述的环境来看, 我的环境里面仅有 192.168.1.100 及 192.168.2.100 ,那我如果想要连接到 192.168.5.254 这个路由器时, 下达:

  [root@www ~]# route add -net 192.168.5.0 \

  > netmask 255.255.255.0 gw 192.168.5.254

  SIOCADDRT: No such process

  看吧!系统就会回应没有办法连接到该网域,因为我们的网络界面与 192.168.5.0/24 根本就没有关系嘛! 那如果 192.168.5.254 真的是在我们的实体网络连接上,并且与我们的 eth0 连接在一起,那其实你应该是这样做:

  [root@www ~]# route add -net 192.168.5.0 \

  > netmask 255.255.255.0 dev eth0

  [root@www ~]# route -n

  Kernel IP routing table

  Destination Gateway Genmask Flags Metric Ref Use Iface

  192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

  192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

  192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

  169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0

  0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0

  这样你的主机就会直接用 eth0 这个装置去尝试连接 192.168.5.254 了! 另外,上面路由输出的重点其实是那个『Flags 的 G 』了!因为那个 G 代表使用外部的装置作为 Gateway 的意思!外贸企业邮箱而那个 Gateway (192.168.1.254) 必须要在我们的已存在的路由环境中。 这可是很重要的概念哦!

  动态路由的学习:

  除了上面这两种可以直接使用指令的方法来增加路由规则之外,还有一种透过路由器与路由器之间的协商以达成动态路由的环境, 不过,那就需要额外的软体支援了.

  事实上,在 Linux 的路由规则都是透过核心来达成的,所以这些路由表的规则都是在核心功能内啊!也就是在记忆体当中哦!

  评论这张
 
阅读(10)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017