深入解析使用Linux+Zebra构建软路由系统

网络 路由交换
Zebra是一种TCP/IP路由软件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL标准,可以运行在Linux和其它Unix变体系统上。Zebra是最先进的路由软件之一,最新版本可以从GUN Zebra Web站点上下载。

Zebra的基本设置

Zebra无后台交互程序是实实在在的路由管理程序。它控制着其它的软件模块,同时还提供与客户交互的主端口。Zebra RPM套件中包括一个完整的参考设置文件。但是,我们只需要建立一个包括以下内容的/etc/zebra/zebra.conf文件就可以对Zebra进行设置了。

最简单的Zebra设置文件:

以下是代码片段:

  1. hostname speedmetal  
  2.  
  3. password zebra  
  4.  
  5. enable password zebra 

无论何时,当你进入交互式设置模式时,Hostname指令将指定路由器的名称。该名称可以任意设置,不一定和主机的名称相符。Password指令则确定交互式Zebra终端的登陆密码。/etc/zebra/zebra.conf建立后,我们可以执行下列指令来启动zebra无后台交互程序:

以下是代码片段:

  1. # service zebra start 

现在我们可以通过连接机器的2601端口进入Zebra交互对话模式。Zebra对话模式实例:

以下是代码片段:

  1. [root@speedmetal zebra]# telnet 127.0.0.1 2601  
  2.  
  3. Trying 127.0.0.1...  
  4.  
  5. Connected to 127.0.0.1.  
  6.  
  7. Escape character is '^]'.  
  8.  
  9. Hello, this is zebra (version 0.93b).  
  10.  
  11. Copyright 1996-2002 Kunihiro Ishiguro.  
  12.  
  13. User Access Verification  
  14.  
  15. Password: zebra  
  16.  
  17. speedmetal> enable  
  18.  
  19. Password: zebra  
  20.  
  21. speedmetal# ?  
  22.  
  23. configure Configuration from vty interface  
  24.  
  25. copy  Copy configuration  
  26.  
  27. debug Debugging functions (see also 'undebug')  
  28.  
  29. disableTurn off privileged mode command  
  30.  
  31. endEnd current mode and change to enable mode.  
  32.  
  33. exit  Exit current mode and down to previous mode  
  34.  
  35. help  Description of the interactive help system  
  36.  
  37. list  Print command list  
  38.  
  39. no Negate a command or set its defaults  
  40.  
  41. quit  Exit current mode and down to previous mode  
  42.  
  43. show  Show running system information  
  44.  
  45. terminal  Set terminal line parameters  
  46.  
  47. whoDisplay who is on vty  
  48.  
  49. write Write running configuration to memory, network, or terminal  
  50.  
  51. speedmetal# 

我们很容易就能对此了如指掌,因为可以通过点击屏幕上的?键随时了解某一命令的含义。如果有过配置Cisco路由 器的经验,相信对这一设置过程并不陌生。到目前为止,我们只完成了Zebra自身的设置和运行,对各种协议的设置还没有开始,如果你准备好了,就让我们继续吧。

#p#

2. 网络规划

路由器所在的Linux分别有两个网卡,ethO:192.168.1.1和eth1:192.168.10.1。客户端A 所在网段为192.168.1.0/24,IP为192.168.1.2。客户端B所在网段为192.168.10.0/24,IP为192.168.10.2。

3. 配置路由器的网络设置

因为路由器所在Linux必须虚拟出两块网卡, 分别做为两个不同网段的网关,所以在下面的目录中会看到有两个文件,分别是ifcfg-eth0和ifcfgethl。它们分别是两个网卡的配置文件。首先编辑ifcfg-eth0,让它的地址为192.168.1.1, 详细内容如下:

以下是代码片段:

  1. [root@rhel5~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0  
  2.  
  3. DEVICE=eth0 
  4.  
  5. ONBOOT=yes 
  6.  
  7. BOOTPROTO=static 
  8.  
  9. IPADDR=192.168.1.1  
  10.  
  11. NETMASK=255.255.255.0 

其次编辑ifcfg-eth1,让它的地址为192.168.10.1,详细内容如下:

以下是代码片段:

  1. DEVICE=eth1 
  2.  
  3. ONBOOT=yes 
  4.  
  5. BOOTPROTO=static 
  6.  
  7. IPADDR=192.168.10.1  
  8.  
  9. NETMASK=255.255.255.0 

现在重新启动一下网络服务,让网络配置生效。如果以上操作都正确的话,那么下面就来安装和配置路由器。首先我们需要下载一个zebra-0.95b-1.i386.rpm,Linux下的路由器程序, 在RedHat的光盘里有这个RPM包。如果大家用的是别的版本Linux,可以到http://www.findrpm.com 里下载。到此为止,zebra成功安装完毕。下面再检查一下zebra是否真的安装成功:

以下是代码片段:

  1. [root@rhel5 my]#rpm -aq|grep zebra  
  2.  
  3. zebra-0.95b-1 

上面的结果说明已经安装成功了。现在启动zebra:

以下是代码片段:

  1. [rot@rhel5 my]#service zebra start  
  2.  
  3. [rot@rhel5 my]#service ripd start 

ripd进程主要是用来使用zebra配置支持RIP路由协议的,所以不但要启动zebra, 还要同时启动ripd。如果大家想在下次开机后自动运行路由器,那么执行如下命令:

以下是代码片段:

  1. [root@rhel5 my]chkconfig zebra on  
  2.  
  3. [root@rhel5 my]chkconfig ripd on 

下面来看一下zebra的配置文件:

以下是代码片段:

  1. [root@rhel5 zebra]#ls  
  2.  
  3. ripd.conf vtysh.conf zebra.conf 

上面代码中,vtysh.conf是配置zebra所用的Shell配置文件,zebra.conf是zebra的主配置文件。为了使192.168.1.0/24和192.168.10.0/24网段机器能够互相通信,需要进行相关的配置。大家如果用过Cisco路由器的话就会很容易用zebra, 因为它们的命令几乎都是一样的。下面就开始配置客户端。

#p#

4.配置客户端的网络设置

首先配制客户端A 。修改ifcfg-eth0, 内容如下:

以下是代码片段:

  1. DEVICE=eth0 
  2.  
  3. ONBOOT=yes 
  4.  
  5. BOOTPROTO=static 
  6.  
  7. IPADDR=192.168.1.2  
  8.  
  9. netmask=255.255.255.0  
  10.  
  11. GATWAY=192.168.1.1 

需要注意的是, 一定要把网关设置成我们刚才路由器的192.168.1.1网关。

以下是代码片段:

  1. [root@rhel5 my]#service network restart 

重新启动网络服务后,客户A 的配置就算完成了。其次配置客户端B。配置B的方法其实和上面一样,不过有两个区别。客户端B的IP设置成192.168.10.2,网关改成192.168.10.1。就这两点有所不同。

【编辑推荐】

  1. 路由器与光越走越近
  2. 浅谈企业路由器该如何设置
  3. 详细解读无线路由器传输速率
  4. 详解Linux中增加软路由的方法
  5. 防火墙路由器两种设备的综合比较
  6. 解惑:中小企业安全路由器这样选
责任编辑:佚名 来源: 中国IT实验室
相关推荐

2016-05-18 17:15:17

互动出版网

2009-12-23 17:32:35

Linux构建软路由

2011-08-03 09:18:39

RIP路由协议RIP

2011-04-07 10:51:57

路由

2011-04-07 10:35:37

路由

2011-04-07 10:35:11

路由

2011-04-07 10:23:00

路由

2011-04-07 10:34:12

路由

2010-03-02 13:27:17

LinuxXFS文件系

2009-12-09 10:07:19

Linux静态路由

2011-08-05 10:32:48

DHCP服务器宽带路由器DHCP

2015-09-21 11:28:57

使用Linux系统

2009-09-18 11:13:09

.Net CLR

2009-12-17 16:28:07

Linux图形系统

2010-07-13 10:13:35

Perl内部函数

2009-12-03 16:40:30

ADSL软路由

2009-12-02 18:32:48

软路由技术

2023-02-10 08:11:43

Linux系统调用

2010-07-13 14:26:11

Perl数组

2011-01-11 16:11:03

点赞
收藏

51CTO技术栈公众号