服务器 频道

Liunx架站之简易Router架设2:Router架设

  【IT168 服务器学院】Router: 什么是 Router, 为何需要 Router,
  
  
· 什么是 Router ?
  
  还记得我们在 网络基础 里面提过的几个东西吗?『不同网域的资料流,必需要透过 Router 来转译彼此』,也就是说,我们必需要藉由 router 来沟通不同的网域之间的资料啦!通常我们发现 router 的地方,都是在不同的网域之间相互连通的节点上面,好了,那么我们也晓得 Router 是一个『很贵的机器』,呵呵!那么 Linux 可以做成 router 吗?嘿嘿!很好!他可以!
  
  · 为何需要 Router ?

  
  既然 Router 的作用是连通不同的网域,那么我的公司所有的计算机只要都在同一个网域之内,那不就得了!根本就用不着 Router 嘛!不过,不要忘记了我们在 网络基础 里面曾将向大家提过的『封包碰撞』与『节点的最大传输量』限制!举个例子来说好了:
  
  o 当你的公司成长到需要 200 部计算机好了,这个时候假如你还是将所有的 200 部计算机都给他在同一个网域之内,那么当一部计算机要将资料丢出来的时候,嘿嘿!所有的网络卡将会停顿一下等他的广播!这会造成相当大的网络负荷!此外,在 Hub 里头,所有的资料都在里头流窜,你会发现你的资料很容易有损失而无法联机的情况!这会造成内部网络的极大负荷....
  
  o 那或许你会说:『如果 Hub 不行,那么我将他换成 Switch 总可以了吧! Switch 不是可以将封包碰撞的机率降至最低吗?』是的!您说的没错!但是很不幸的,您买的 Switch 应该是 10/100Mbps 的吧!果然如此的话,那么你的 Switch 最大的实时传输量为 12.5 MBytes 左右,如果平均分配给你的 200 部计算机的话,那么每一部的频宽是多少?答案是 60 KBytes 左右!嘿!在局域网络内的计算机流量怎么会这么慢?!尤其当一个人死命的捉某部计算机的资料的时候,那就惨咯!其它人的平均频宽将会降的更低!
  
  这个时候或许 Router 的功能就可以显现出来啰!怎么说呢?因为不同的网域之间不能直接广播,所以你必需要将网域分别开来,而假设以 200 部计算机平均分为 5 个网域好了,这个时候一个网域里面只有 40 部计算机,在这个情况之下,不但布线容易( 针对 40 部计算机来说 ),而且由于不同网域之间不会互相广播,所以你的广播时产生的网络停顿情况将会减少非常的多!如此一来,对于您内部局域网络的网络流量舒缓,将有相当大的助益!『请特别留意,通常比较大的局域网络( 指计算机数量较多的企业 ),如果规划不良,则你对外联机的时候,最大的速度瓶颈可能来自于内部网域!这是因为内部网络的 loading 比起外部网络要『慢的很多!』因为内部网络互连的状况( 例如网络芳邻的资源共享、打印机的分享、档案服务器的分享等等 )就会导致你的 Switch/Hub 的频宽被占用光了! 』
  
  一般不想要管事的网管人员,最喜欢直接将布线设计成类似底下的模样:
  
  

  
  这样做最大的好处就是『简单』,你只要控管一个 服务器 就够了!其它的完全不用去理他,管他什么封包碰撞,反正你内部网络的 loading 太大也没有关系,对于懒惰的网管人员来说,他根本就不痛不痒....这个时候你的内部网络的流量可能真的会负荷很大啦!此时,相当的建议设定成类似底下的模样!
  
  

  
  这样有个好处啦!你的服务器上面有两块网络卡,分别负责不同的网域,那么由于这两个网域之间分隔开来了,因此广播停顿、封包碰撞与 Hub/Switch 流量限制的情况就会比较舒缓一些!而两个不同的网域之间的资料分享呢?嘿嘿!则可以透过服务器架设的 Router 功能来达成呀!这样你可以了解为何需要设定成这个模样了吧?!
  
  · 观察与修改路由:

  
  其实就如同前面说的, Router 的最大用途就是将不同网域的资料互相流通,而要沟通这些资料,必然就需要有所谓的『路由, route』这个东西了!以我的情况为例,我是以 ADSL 拨接上 Internet 的,但是我有个内部网域,192.168.1.0/24 这一个东西,所以在我的 Linux 底下输入 route 时,会得到如下的结果:
  
  

  
  · 上面显示什么意义呢?简单的说,就是:
  
  1. 当我有一个封包要送到 192.168.1.0/24 这个网域时,我的输出接口为 eth0 这个接口;
  
  2. 当我有封包要送到 127.0.0.0/8 ( A Class ) 时,我的输出接口为 lo 这个接口;
  
  3. 当我有资料要送到 140.116.142.253 时,由于他是 p-p-p 的协议,所以是单点对单点,而接口为 ppp0 这个;
  
  4. 至于其它没有规定到的所有网域,则统一由 default 这个 Gateway 140.116.142.253 ,接口为 ppp0 丢出去!由于 ppp0 传送到的这个 140.116.142.253 是 ISP 的接口,该接口通常为 Router ,所以他会自动的将你的封包再往前面送,使之最后可以到达目的地!
  
  这样了解了吗?那个 default 里头的 Gateway 就是我们在 /etc/sysconfig/network 这个档案里面设定的啦!
  好了!那么假设你的网域当中还有另外一个不同的网域,假设为 192.168.0.0/24 好了,而这个网域同样的是接在 eth0 这个网卡上面,所以你要你的 eth0 同时还负责 192.168.0.0/24 这个网域时,可以这样做!
  
  

  
  这样就增加啰!不过,这个时候或许你可以连上人家的机器,但是人家却无法连接到你的机器!因为你的网络并没有 192.168.0.0/24 里面的任何一个 IP ,所以别人的计算机自然无法透过广播来与你进行资料的交流!这个时候就必须要激活 Routing 的功能啦!如何激活呢?继续看下去吧!
  
  注:请特别留意,当你使用 route 来秀出目前的路由表时,如果显示的讯息非常的缓慢,不要怀疑!一定有地方设定错误。请依照 route 所显示的讯息来修改你的网络参数!通常最容易发生 route 问题的地方在于 gateway 的设定啦!或者是重复激活多次的虚拟接口卡时,也会有这样的情况,例如我曾经看过在 route table 上面出现同一个路由状态共三次以上!例如上面 192.168.0.0 .... 那一行,若在 route table 上面竟然重复出现三次!这肯定有问题呀!!处理的方法为:
  
  1. 将该相关的网络接口关闭!使用 ifdown 来关掉;
  
  2. 使用 route 的功能,将该路由删除!
  
  3. 修改相关的接口,将接口符合我们的需求!
  
  4. 重新激活接口,并持续观察 route !
0
相关文章