您当前的位置:首页 > 计算机论文>计算机网络论文

Linux平台上网络路由器的构建探讨

2015-11-19 10:01 来源:学术参考网 作者:未知

摘 要:将 Linux 机器打造成一台功能完备的路由器,能同时支持 RIPv1、OSPFv2、OSPFv3、BGP - 4 和 BGP - 4+ 等诸多 TCP/IP 协议。文章首先了解一下 OSPF 和 BGP 协议的运行模式和基本原理,然后介绍 Zebra 的安装配置方法。

关键词:Linux系统;路又器;配置
  Linux 作为一种新近崛起的操作系统,由于其性能稳定,源码开放及价格方面的优势而逐渐被广大用户所接受。现在Linux的主要用武之地在于服务器领域,但是,经过适当的配置之后,它还可以担当互联网的物理基石--路由器这一重要角色。
  一、BGP/OSPF 概述
  路由器是与两个或两个以上的网络连接的计算机,它根据路由协议生成并维护一个路由表,并按照该路由表中的信息转发包。这些路由器对公司内部的网络结构了如指掌,知道将分组送到目的地的全部细节,但对于其他公司的网络结构并不了解。像这样“在同一机构下管理的一系列路由器和网络”被称为自治系统(AS)。由不同机构掌管的自治系统,可以采用不同的路由选择算法;但同一自治系统内的所有路由器都使用同一路由协议,以便于自治系统内部各个路由器互换路由信息来维持相互的连通性。每一个自治系统都有一个16位的“自治系统(AS)编号”作为标志,就像 IP 地址一样,它是由专门机构来分配的。
  自治系统内的路由器称为“内部网关”,所用的协议称为“内部网关协议”。内部网关协议大体上分为两类,一类是距离向量协议,如 RIP,EIGRP 协议;另一类是链路状态协议如 OSPF 协议。链路状态路由协议与距离向量协议的不同之处在于,采用链路状态路由协议的路由器不是交换到达目的地的距离,而是维护一张网络拓扑结构图。然后用数据库表示该图,其中的表项对应网络的一条链路。路由器根据数据库的信息计算出“最佳路由”,由此指导包的转发。当网络拓扑结构发生变化时,只需将相应纪录而非整个数据库通知其他节点。各路由器做出相应修改并重新计算路由后,就可以继续正常工作。
  OSPF 具有支持多重度量制式和多重路径等诸多优点,因此成为因特网上推荐使用的内部网关协议,RIP 却由于自身的局限性而被打入冷宫。现在,在性能上唯一能够与 OSPF 相匹敌的内部网关协议便是 EIGRP--Cisco 的一个专有协议,但 OSPF 的“开放”本身就是一个响亮的招牌,因为谁也不想受制于某家供应商。
  二、建立路由器
  (1)安装 Zebra
  既可以从 Zebra.org 网站下载 Zebra 的最新源程序,也能从 Redhat 和 Debian 中获得它,但不一定是最新版的。从源代码中进行软件安装,就会发现使用的是一些普通的安装过程。
  配置脚本会搜索系统上已经安装的 IP 栈并且自动地设置成支持他们。当前,IP 栈很可能仅仅是指 IPv4,但是 IPv6 用户也不用担心,因为 Zebra 也会发现并且支持它。
  程序安装之后,还可能必须在 /etc/services 中增加一些命令行。Zebra 的守护程序在他们自己的虚拟终端连接(VTY)下运行,所以的系统必须知道这些虚拟终端连接。
  (2)配置 Zebra
  如果已经熟悉 Cisco IOS,就能在短时间内掌握 Zebra,因为会发现两者极为相似。Zebra 的每个守护程序使用一个单独的 VTY,这些 VTY 可以通过一个远程登录会话进行动态配置。所以,如果需要设置 OSPF,简单地远程登录到该 Linux 上 2604 端口;为了修改内核的路由表或设置路由协议间的再分发,可以远程登录到端口 2601,该 Zebra 守护程序充当内核管理器,管理其他的守护程序和系统本身之间的通信。
  现在介绍如何在一个服务器上创建和运行 OSPF 和 BGP。Zebra 的守护程序运用纯文本文件储存它们的配置。对于 OSPF/BGP 路由器,将用到三个文件∶zebra.conf、ospfd.conf 和 bgpd.conf。
  这里的感叹号充当注解标识或分隔符。尽管存在大量不同的网络接口类型(Ethernet、ISDN 等等),但只要是 Linux 内核能够辨认的网络接口类型,Zebra 都可以使用。
  (3)设置OSPF
  接下来,我们还需要告诉守护程序将通过 OSPF 广播哪些网络以及相关的域(area)。OSPF 的可伸缩性允许它支持多个域。键入 router ospf 开始配置 OSPF,然后键入 network 192.168.66.0/24 area 0。这告诉路由器,我们将使用 OSPF 广播一个子网掩码为 255.255.255.0 的 192.168.66.0 网络。
  在本例中,我们让 eth0 接口变成一个被动(passive)接口,以便使它不能发送路由更新。这对于实验是非常重要的,因为在那个方向上的其他的路由器可能监听到发送的路由更新,将接口变成一个被动(passive)接口,从而有效的避免扰乱网络的正常运行。为此,键入命令 passive - interface eth0。如果打算将此路由器作为工作路由器使用时,就没有这个必要了。一旦完成修改,用 end 命令从配置模式中退出,然后用 write file 命令保存。为了让 OSPF 或 BGP 在某接口上工作,那么该接口必须处于""运行""状态。为手工运行一个接口,登录到端口 2601 并且在该接口上执行 no shut 命令。
  三、结束语
  在网络中,路由通信流的方法有若干种。就路由器而论,虽然有用各种硬件可用,但是费用较高--人们自然就会想到运行一个用 Linux 系统构筑的功能丰富的路由器作为代替。Zebra 路由守护程序已经使这一切变为现实。因为支持 IPv4、IPv6 和其它各式各样的协议,所以 Zebra 能够满足我们所有的路由需求。

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页