用Zebra在Linux操作系统上构建路由器

  前两天无聊逛IBM网站,看见一篇在LINUX下构建CISCO路由器的文档,然后试了一下感觉不错,现在我把他转贴过来大家一起分享。

  什么是 Zebra?

  Zebra 是一个 TPC/IP 路由软件,支持 BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2 和 RIPng。它的发行遵循 GNU 通用公共许可协议,可以运行于 Linux 以及其他一些 Unix 变体操作系统上。Zebra 是那些系统最新的发行版本中的路由软件。最新版本的 Zebra 以及文档可以从 GNU Zebra 网站上下载(参阅参考资料中的链接)。

  最初的 Zebra 软件包由 Kunihiro Ishiguro 和 Yoshinari Yoshikawa 于1996年完成。现在,这个软件包主要由 IP Infusion――CTO 是 Ishiguro 先生――在多名网络工程师以及开源志愿者的帮助下来维持。

  Zebra 的设计独特,采用模块的方法来管理协议。可以根据网络需要启用或者禁用协议。 Zebra 最为实用的一点是它的配置形式同 Cisco IOS 极其类似。尽管它的配置与 IOS 相比还是有一些不同,但是这对于那些已经熟悉 IOS 的网络工程师来说在这种环境下工作将相当自如。

  虽然 Zebra 的版本还没有到 1.0――作者完成本文时版本到了 0.93b――但这个产品对于需要核心路由器的小型网络来说已经足够了。[请注意本文中所用到的是版本 0.93b,新的版本的安装与配置可能会有所差异。-编辑注]

  安装 Zebra

  我们的 Zebra 测试平台是一台旧的但是依然很好用的 ThinkPad X20,其运行的是 Red Hat Linux 9。ThinkPad 有一个内置的以太网接口,我们又给它加了一块 PCMCIA 以太网卡,使之可以完成路由器的功能。在安装 Zebra 之前,我们确认两块网卡都已经被 Linux 认出并且正常工作。

  在 Red Hat 9 中已经附带了 Zebra-0.93b 的 RPM 安装包。这个版本与 Zebra 网站上提供的版本相同,因此我们决定直接使用它,而不再去从网上下载并自己编译。Zebra RPM 将安装二进制文件、脚本和配置文件,以及必需的手册、例子和文档文件。

  Zebra 基本配置

  zebra 守护进程是实际的路由管理者,控制着其他模块;而且用户主要通过它进行交互。我们最先需要配置 Zebra 守护进程,对应的配置文件是 /etc/zebra/zebra.conf。

  Zebra RPM 包中有一个完整的配置文件样例。不过,就最简化的情形来说,我们实际上只需要创建一个包含以下几行的 /etc/zebra/zebra.conf 文件:

  hostname speedmetal
  password zebra
  enable password zebra

  hostname 指定了当您进入交互式配置方式时的路由器名。它可以是任何一个标识,不一定要和机器的主机名相同。

  password 指定了登录进入交互式 Zebra 终端时需要的密码。enable password 指定了当您想要改变配置时以较高级别身份访问 Zebra 所需要的密码。 创建了 /etc/zebra/zebra.conf 文件以后,我们现在可以执行下面的命令来启动 zebra 守护进程:

  # service zebra start

  现在通过 telnet 到我们的机器的 2601 端口就可以进入 Zebra 交互式会话。