用Zebra 在Linux 上构建路由器实战手册
一、Zebra 介绍
Zebra 是一个 TPC/IP 路由软件,支持 BGP-4、BGP-4+、OSPFv2、
OSPFv3、RIPv1、RIPv2 和 RIPng。它的发行遵循 GNU 通用公共许可
协议,可以运行于 Linux 以及其他一些 Unix 变体操作系统上。
Zebra 是那些系统最新的发行版本中的路由软件。最新版本的 Zebra
以及文档可以从 GNU Zebra 网站上下载:[url]http://www.zebra.org/[/url]
Zebra 的设计独特,采用模块的方法来管理协议。可以根据网络需要
启用或者禁用协议。
Zebra 最为实用的一点是它的配置形式同 Cisco IOS 极其类似。尽
管它的配置与 IOS 相比还是有一些不同,但是这对于那些已经熟悉
IOS 的网络工程师来说在这种环境下工作将相当自如。
二、安装
1、下载
[url]ftp://ftp.zebra.org/pub/zebra/zebra-0.95a.tar.gz[/url]
2、安装过程
# gunzip zebra-0.95a.tar.gz
#tar xvf zebra-0.95a.tar
会在当前目录下自动生成一个zebra-0.95a 子目录, 进入
zebra-0.95a 目录后执行以下命令安装:
# ./configure
# make
# make install
安装完成后执行文件位于/usr/local/sbin,如下所示:
# ls -l /usr/local/sbin
total 6480
-rwxr-xr-x 1 root root 1891727 Jan 31 23:37 bgpd
-rwxr-xr-x 1 root root 1090742 Jan 31 23:37 ospf6d
-rwxr-xr-x 1 root root 1398401 Jan 31 23:37 ospfd
-rwxr-xr-x 1 root root 824695 Jan 31 23:37 ripd
-rwxr-xr-x 1 root root 713611 Jan 31 23:37 ripngd
-rwxr-xr-x 1 root root 677048 Jan 31 23:37 zebra
配置样本文件位于/usr/local/etc,如下所示:
# ls -l /usr/local/etc
total 44
-rw------- 1 root root 572 Jan 31 23:37 bgpd.conf.sample
-rw------- 1 root root 2801 Jan 31 23:37 bgpd.conf.sample2
-rw------- 1 root root 1110 Jan 31 23:37 ospf6d.conf.sample
-rw------- 1 root root 180 Jan 31 23:37 ospfd.conf.sample
-rw------- 1 root root 412 Jan 31 23:37 ripd.conf.sample
-rw------- 1 root root 396 Jan 31 23:37 ripngd.conf.sample
-rw------- 1 root root 375 Jan 31 23:37 zebra.conf.sample
三、运行
各个zebra 模块运行时需要事先定义一个配置文件(*.conf),可直
接使用样本配置文件。
# cd /usr/local/etc
# cp zebra.conf.sample zebra.conf
可通过-h 参数查看help:
# zebra -h
Usage : zebra [OPTION...]
Daemon which manages kernel routing table management and
redistribution between different routing protocols.
-b, --batch Runs in batch mode
-d, --daemon Runs in daemon mode
-f, --config_file Set configuration file name
-i, --pid_file Set process identifier file name
-k, --keep_kernel Don't delete old routes which installed by
zebra.
-l, --log_mode Set verbose log mode flag
-A, --vty_addr Set vty's bind address
-P, --vty_port Set vty's port number
-r, --retain When program terminates, retain added route
by zebra.
-v, --version Print program version
-h, --help Display this help and exit
Report bugs to [email]bug-zebra@gnu.org[/email]
可使用-d 参数以后台进程模式启动各模块,比如zebra:
# zebra –d
查看zebra 进程是否运行:
# ps -ef | grep zebra
root 3039 1 0 14:52 ? 00:00:00 zebra -d
root 3131 2963 0 15:31 pts/3 00:00:00 grep zebra
检查后台进程监听端口:
# lsof -i:2601
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
zebra 3039 root 10u IPv6 9912 TCP
*:discp-client (LISTEN)
zebra-0.95a 安装好后会自动往系统/etc/service 中添加定义:
四、配置
zebra 是基本进程,诸如路由器hostname、接口IP 等基本信息都在
这个模块中配置。
可通过以下命令进入zebra 模块:
# telnet localhost 2601
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Hello, this is zebra (version 0.95a).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Password:
密码缺省为zebra,输入密码后进入到以下配置界面,是不是感觉进
入到了一台真正的Cisco 路由器?
操作模式及命令跟Cisco IOS 很相似,如查看配置也是使用show
running-config,如下所示:
Router# sh run
Current configuration:
!
hostname Router
password zebra
enable password zebra
!
interface lo
!
interface eth1
ipv6 nd suppress-ra
!
interface peth0
ipv6 nd suppress-ra
!
interface sit0
ipv6 nd suppress-ra
!
interface vif0.0
ipv6 nd suppress-ra
!
interface eth0
ipv6 nd suppress-ra
!
interface vif0.1
ipv6 nd suppress-ra
!
interface veth1
ipv6 nd suppress-ra
!
interface vif0.2
ipv6 nd suppress-ra
!
interface veth2
ipv6 nd suppress-ra
!
interface vif0.3
ipv6 nd suppress-ra
!
interface veth3
ipv6 nd suppress-ra
!
interface xenbr0
ipv6 nd suppress-ra
!
line vty
!
end
下面是为接口eth1 配置一个ip 过程:
查看接口eth1 配置:
五、案例
案例网络拓朴如下:
说明:在Redhat linux 服务器和Cisco 2610 路由器上启用RIP 动态
路由器协议,实现个人PC 机(10.200.51.202/8)能访问到Cisco 2610
路由器Loopback 1(172.16.1.1/24)。
1、Cisco 2610 配置
2、Redhat linux 服务器配置:
确保zebra 和ripd 模块已运行:
# ps -ef | grep zebra
root 3039 1 0 14:52 ? 00:00:00 zebra -d
root 3314 2901 0 17:02 pts/1 00:00:00 grep zebra
# ps -ef | grep ripd
root 3052 1 0 14:54 ? 00:00:00 ripd -d
root 3316 2901 0 17:02 pts/1 00:00:00 grep ripd
配置Reahat linux 服务器Eth1 网卡ip:
配置Redhat linux 服务器RIP 动态路由协议:
3、查看
在Cisco 2610 路由器检查RIP 是否生效:
从sh ip route 输出结果(白色加显部分)可知,Cisco 2610 路由
器已成功学习到Redhat linux 服务器广播过来的RIP 路由条目。
在Redhat linux 服务器检查RIP 是否生效:
从sh ip rip 输出结果(白色加显部分)可知,Redhat linux 服务
器已成功学习到Cisco 2610 路由器广播过来的RIP 路由条目。
4、测试
在个人PC 机上添加一条到172.16.1.1/32 的静态路由:
从个人PC 机通过ping/tracert/telnet 测试网络:
从以上测试可知,Redhat linux 服务器运行的RIP 动态路由协议能
成功和Cisco 2610 路由器运行的RIP 动态路由协议配合工作。
5、特别说明
Redhat linux 服务器必须启用路由转发功能:
# echo “1” > /proc/sys/net/ipv4/ip_forward
六、结尾语
1、对于小型公司来说,可能没这么多资金购买硬件路由产品,低成
本的PC 机+linux+zebra 提供了一个可行的解决方案;
2、现在很多培训机构,特别是小型培训机构,为了节省投资,也会
采取这种架构搭建实验环境。

用Zebra 在Linux 上构建路由器实战手册

转载于:https://blog.51cto.com/rhcss/139475

用Zebra 在Linux 上构建路由器实战手册相关推荐

  1. 用Zebra打造Linux下小型路由器

    用Zebra打造Linux下小型路由器 现在的Internet网络相当庞大,不可能在不同的网络之间建立直接的连接,所以这时就必须用路由器为不同网络之间的通信提供路径选择.Linux下搭建路由器价格非常 ...

  2. linux wap,在 Linux 上构建 WAP 网关(初级)

    Webme09.cublog.cngoogle 在 Linux 上构建 WAP 网关(初级) | 2005-01-27 14:09         实现移动服务的最热门技术是无线应用协议(Wirele ...

  3. linux 赚钱游戏服务器,在Linux上构建游戏服务器所需的一切

    与多个玩家玩游戏一直以来都比较有趣.它始于Atari 2600和街机机柜.当互联网时代到来时,游戏服务器使远程多人游戏成为现实. 使用当前一代的PC游戏,您可以连接到服务器或自己运行.Minecraf ...

  4. linux 路由器软件,用Zebra打造Linux下小型路由器(图)

    首先编辑ifcfg-eth0,让它的地址为192.168.1.1, 详细内容如下: [root@rhel5~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0 ...

  5. linux下动态路由软件,用Zebra打造Linux下小型路由器(图)

    首先编辑ifcfg-eth0,让它的地址为192.168.1.1, 详细内容如下: [root@rhel5~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0 ...

  6. 在Linux上构建ASP.NET环境-asp.net关注

    在Linux上安装mono,xsp,mod_mono后,可以构建一个ASP.NET环境,Mono项目是由Novell支持的. mono官网地址: mono下载页面:/mono-downloads/do ...

  7. Linux上构建一个RADIUS服务器详解

    作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息.但是网络设备通常只支持有限的用户管理功能.学习如何使用Linux上的一个外部RADIUS服务器来验证用户,具体来说是通过一个 ...

  8. 如何借助vsftpd在Linux上构建安全的FTP服务?

    FTP(文件传输协议)是互联网上广泛使用的服务之一,主要用于将文件从一个主机传输到另一个主机.FTP本身当初不是作为一种安全协议而设计的;正因为如此,典型的FTP服务很容易遭受诸如中间人***和蛮力* ...

  9. linux so 发布,如何在Linux上构建发布包含.so动态库的snap安装包

    Linux上要发布源码包比较容易,只要做个压缩包.tar.gz就可以.但是如果要做一个包含库和可执行文件的安装包,就比较麻烦.Linux的版本很多,需要做不同格式的安装包,比如.deb和.rpm,同时 ...

最新文章

  1. 以下哪一个不属于python语言的特点-Python语言的特点有哪些
  2. InsecureRequestWarning: Unverified HTTPS request is being made to host(requests证书警告)
  3. s4-8 虚拟局域网
  4. 2018 多校联合训练 10
  5. colab加载google drive并且调试时跳过不运行
  6. Cookie 与Session 的区别
  7. 双向链表的创建和相关操作
  8. java 多目录 编译jar_javac编译多个包下的、依赖其他jar包的java文件
  9. 结对项目 刘静 201303014059 计科高职13-2
  10. ibmt41 安装linux系统,哥我决意为IBM T41 装WIN7的决心已经到了全人类都无法阻止的地步!...
  11. windows 安装 mongodb
  12. 机器学习UCI数据库
  13. 电商微商已死、视商来袭
  14. 网络精英赛模拟练习(8)
  15. 在Excel里快速插入目录
  16. 网络连接不正常是什么原因
  17. 如何用 Node.js 爬虫?
  18. 闰年的计算方法及程序算法的实现
  19. 如何使用Python轻松解决TSP问题(遗传算法)
  20. PDF和CDF图的区别

热门文章

  1. 串口接收标志位语句_如何获取串口的发送和接收的标志位?
  2. 神策数据丨IPTV/OTT 精细化运营体系构建指南
  3. 视频 + PPT | 数字化运营,从理论到实践
  4. 三年0故障是如何做到的?
  5. 绿色数据中心将惠及众生
  6. [20160813]12c开启附加日志问题.txt
  7. Hibernate commit() 和flush() 的区别
  8. loj 1316(spfa预处理+状压dp)
  9. FAT AP和FIT AP 区别 (无线篇)
  10. Apache Log4j 学习笔记