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