在 Linux 上构建网络路由器Zebra

Zebra 是一个开源的 TCP/IP 路由软件,同 Cisco Internet网络操作系统(IOS)类似。它灵活而且具有强大的功能,可以处理路由信息协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议以及这些协议的所有变体。本文介绍了作者安装Zebra 并且使之与真正的 Cisco 路由器配合来动态地管理路由。

动态、健壮的路由对于 Internet网络来说极其重要,因此任何一个初涉此领域的网络工程师不仅需要理解路由的概念,而且要有能力在真正的环境下驾驭它。但是,路由领域由高端网络设备供应商(比如Cisco)提供的产品一统天下,这就意味着对于大多数人来说,只能在学校或者实验室环境中才能学习路由,而且还要一直受到实践时间和实践条件的困扰。

我们在组织一门关于 TCP/IP路由的课程时就遇到了这样的困难。在一个小型的测试环境下,我们想演示在使用路由信息协议(RIP)和开放式最短路径优先协议(OSPF)时各种不同的负载平衡情形。但是,我们手头上的Cisco 路由器数量有限。不过我们有一些 PC 机可以使用,于是我们开始想办法用 Linux 来仿真 Cisco路由器以解决这个问题。

开始时我们尝试使用传统的路由和网关守护进程来构建我们的测试网络,但我们很快就发现对它们进行配置比较困难,而且它们的能力有限,我们的工作得不偿失。于是我们决定尝试使用更先进的方法来完成我们的测试网络,很幸运,我们找到了Zebra。

什么是 Zebra?

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

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

Zebra 的设计独特,采用模块的方法来管理协议。可以根据网络需要启用或者禁用协议。

Zebra 最为实用的一点是它的配置形式同 Cisco IOS 极其类似。尽管它的配置与 IOS相比还是有一些不同,但是这对于那些已经熟悉 IOS 的网络工程师来说在这种环境下工作将相当自如。

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

 

 

 

 

 

安装 Zebra

我们的 Zebra 测试平台是一台旧的但是依然很好用的 ThinkPad X20,其运行的是 RedHat 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 文件:

Zebra源代码深度解析与应用 在深入探索 Zebra 软件的源代码结构与工作流程之前,我们需要对 Zebra 软件本身有一个基础的认知。Zebra 是一款广泛应用于网络路由的开源软件,它模仿了真实世界的网络设备,允许开发者构建复杂的路由协议,并进行测试和仿真。Zebra 对于那些希望在不受硬件限制的情况下,深入理解网络协议的网络工程师和开发者来说,是一个不可或缺的工具。 阅读详情

相关推荐

linux下zebra命令行编程

讲述的是动态路由quagga(或者说是之前的zebra)的命令行基本使用

Linux下使用Quagga(Zebra)搭建路由器记录

预习知识 在进行路由器的搭建之前,需要了解一些基本的知识。下面将会一一道来。 1、什么是路由表,路由表产生的类型有哪些? 答:路由表,指的是路由器或者其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。 在Linux系统下的路由表是从有小网络排列到大网络的。我们可以使用route -...

weixin_30412013的博客 838

zebra-quagga-linux-open-router-software

非常好的开源路由协议软件,ospfv3 ipv6 ripng isis bgp ipv6

linux上安装软路由,linux 下的软路由zebra 安装使用

一、安安装zebraConfiguring RIP withQuagga Routing Suite in Fedora1.downloadquagga quagga-0.99.16.tar.gz2.解压缩#tar zxvfquagga-0.99.16.tar.gz3.配置#cd quagga-0.99.16 #./configure--prefix=/usr/local/zebra --ena...

weixin_34737066的博客 696

用 Linux (GNU Zebra) 打造路由器OSPF-BGP

用 Linux (GNU Zebra) 打造路由器OSPF-BGP Linux 作为一种新近崛起的操作系统,由于其性能稳定,源码开放及价格方面的优势而逐渐被广大用户所接受。现在Linux的主要用武之地在于服务器领域,但是,经过适当的配置之后,它还可以担当互联网的物理基石--路由器这一重要角色。 路由器是通信子网中的通信节点,每个路由器都计算并维护一张路由表,并据此指导数据报前往最佳路径中的下一站,这便是所谓的路由。这样,经过互联网上所有路由器的通力合作,数据报就能够沿着一条"最佳"路径到达目的地。在 GNU 软件 Zebra 的协助下,我们可以将 Linux 机器打造成一台功能完备的路由器,它能够同时支持 RIPv1、 RIPv2、RIPng、OSPFv2、OSPFv3、BGP - 4 和 BGP - 4 等诸多 TCP/IP 协议。现在我们首先了解一下 OSPF 和 BGP 协议的运行模式和基本原理,然后介绍 Zebra 的安装配置方法,让你的 Linux 机器变成支持 OSPF 与 BGP 的路由器.

OPTI Toolbox v2.28 安装与 3 个求解器补全:SCIP、SeDuMi、MOSEK 配置详解

本文详细介绍了OPTI Toolbox v2.28在MATLAB环境下的完整安装指南,包括SCIP、SeDuMi和MOSEK三个关键求解器的配置与优化技巧。通过分步指导和实战案例,帮助用户高效搭建强大的优化工具包,提升混合整数规划、二次约束二次规划等复杂问题的求解效率。

weixin_29039773的博客 350

在 Linux 上构建网络路由器

动态、健壮的路由对于 Internet 网络来说极其重要,因此任何一个初涉此领域的网络工程师不仅需要理解路由的概念,而且要有能力在真正的环境下驾驭它。但是,路由领域由高端网络设备供应商(比如 Cisco)提供的产品一统天下,这就意味着对于大多数人来说,只能在学校或者实验室环境中才能学习路由,而且还要一直受到实践时间和实践条件的困扰。我们在组织一门关于 TCP/IP 路由的课程时就遇到了这样的困

软体疯子专栏 1654

使用FileZilla在武汉大学IGS数据分析中心下载GNSS数据

2.依次点击如下图标下载到本地并解压安装(按系统选择要下载的版本)

qq_43381998的博客 6041

Linux下实现路由功能

一:原理:软路由是指利用台式机或服务器配合软件形成路由解决方案,主要靠软件的设置,达成路由器的功能。软路由通常使用普通计算机充当,使用通用的操作系统,如linux或windows,因此路由设置事实上是windows或 linux的设置,或者是对计算机的配置,现在以Linux主机为例实现路由功能。 二:案例:拓扑方案如图所示。 在Linux主机上有双网...

weixin_33714884的博客 393

RT-Thread NANO V4.1.1 在Cortex-M0上移植踩坑记:解决内存分配宏导致的线程创建失败

本文详细记录了RT-Thread NANO V4.1.1在Cortex-M0平台移植过程中遇到的内存分配宏配置问题,导致线程创建失败的解决方案。通过分析内存管理算法宏定义,将RT_USING_SMALL_MEM替换为RT_USING_SMALL_MEM_AS_HEAP,成功解决了线程创建问题,为开发者提供了实用的移植经验。

weixin_29189373的博客 306

LwIP在国产MCU的落地实践:从协议栈优化到网络稳定性实战

本文详细介绍了LwIP协议栈在国产GD32F407 MCU上的移植与优化实践,涵盖硬件平台选择、驱动适配、协议栈调优和网络稳定性提升策略。通过内存管理优化、实时操作系统集成和性能测试,为工业物联网应用提供高可靠性网络通信解决方案,显著提升数据传输效率和系统稳定性。

m2n3b4v5c6的博客 270

在 Linux 上使用Zebra构建网络路由器

在 Linux 上构建网络路由器Zebra 足以成为专用 Cisco 路由器的替代品http://www-900.ibm.com/developerWorks/cn/linux/l-emu/index.shtml顺便收藏一篇VMware的文章,里面介绍了采用Zebra建立一个虚拟网络环境的方法。Vmware 实现一台电脑中的网络http://www-900.ibm.com/developerWor

Aceryt 1935

zynq7020的arm A9核降频实录

zynq arm9 cortex a9 降频

qq_40011737的博客 8764

用 Linux 打造路由器

作者:韩波 Linux 作为一种新近崛起的操作系统,由于其性能稳定,源码开放及价格方面的优势而逐渐被广大用户所接受。现在 Linux 的主要用武之地在于服务器领域,但是,经过适当的配置之后,它还可以担当互联网的物理基石--路由器这一重要角色。 路由器是通信子网中的通信节点,每个路由器都计算并维护一张路由表,并据此指导数据报前往最佳路径中的下一站,这便是所谓的路由。这样,经过互联网上所有...

爱.NET 117

更新|芒果YOLOv8改进182:注意力机制MLLA:即插即用|融合 Mamba 设计精髓的线性注意力视觉Transformer

芒果YOLOv8改进:即插即用,最新注意力机制MLLA:融合 Mamba 设计精髓的线性注意力视觉Transformer

包括YOLOv5、YOLOv7、YOLOv8等模型改进 864

RK3568平台YOLO11模型部署实战:从环境搭建、模型转换到板端性能优化全解析

摘要: 本文详细介绍了在RK3568平台上从零部署YOLO11模型的完整流程。主要内容包括:1) 基于Conda搭建Python 3.8开发环境并安装RKNN-Toolkit2工具链;2) 使用LabelImg工具标注数据并构建YOLO格式数据集;3) 基于Ultralytics框架进行YOLO11模型训练及参数优化;4) 实现PyTorch→ONNX→RKNN的完整模型转换链。文章特别针对RK3568平台的NPU特性提供了关键参数配置建议,并分享了实际开发中的经验总结,最终可达到30FPS的稳定推理性能。

LXY_LOVE36的博客 280

linux网络环境模拟,基于嵌入式Linux系统的路由搭建及网络环境模拟

摘要:任何有一定规模的计算机网络(如企业网、校园网、智能大厦等),都需要路由器。现在虽然有各种硬件路由器可用,但是费用昂贵。用Linux系统构建的zebra软路由器作为替代品,可以支持IPv4、IPv6和其它各式各样的协议,不仅能够满足所有的路由需求,而且价格低廉,因而具有良好的应用前景。 本文的工作主要是以嵌入式为平台架构路由环境,实现路由器的功能。首先介绍了网络架构和路由协议的基本概念,阐明此...

weixin_42521843的博客 153

4、教育数据挖掘:公共数据集与研究进展

本文综述了教育数据挖掘(EDM)领域的研究进展与公共数据集应用情况。从2013年至2020年,EDM在电子学习系统、大规模开放在线课程(MOOC)等方面快速发展,涵盖了多种研究任务、工具与方法。文章梳理了UCI、Mendeley、DataShop等平台的公开数据集,分析了其特点与局限性,并介绍了KDD Cup、Kaggle等竞赛中的教育数据集及其评价指标。同时,探讨了多模态、心理行为等特色数据集的应用场景。最后指出当前EDM面临的主要挑战是缺乏系统性数据集综述、数据预处理复杂及可重复性不足,呼吁加强数据共享

rgv2345678的博客 170

用Zebra打造Linux下小型路由器

用Zebra打造Linux下小型路由器 现在的Internet网络相当庞大,不可能在不同的网络之间建立直接的连接,所以这时就必须用路由器为不同网络之间的通信提供路径选择。Linux下搭建路由器价格非常便宜, 中小型专业服务器甚至不需要钱。Linux路由器具有一定的专业性,如果配置得当,甚至不比Cisco路由器差。下面就来探讨如何在Linux下搭建出工作效率非常高的专业路由器。 一...

145

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

首先编辑ifcfg-eth0,让它的地址为192.168.1.1, 详细内容如下:[root@rhel5~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.1NETMASK=255.255.255.0其次编辑ifcfg-eth1,让它的地址为192....

weixin_42465030的博客 481

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

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

首先编辑ifcfg-eth0,让它的地址为192.168.1.1, 详细内容如下:[root@rhel5~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.1NETMASK=255.255.255.0其次编辑ifcfg-eth1,让它的地址为192....

weixin_39531780的博客 287

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LInux Zebra

本文章摘自linux公社 https://www.linuxidc.com/Linux/2015-07/120224p1.htm 写在前面 从22号中午开始琢磨zebra/quagga的用法,一直到晚上11点多都没有什么头绪。各种Google,百度,几近崩溃。由于网上关于zebra/quagga的配置方法都是在真实的若干台电脑上实现的,一直都没有找到完全在虚拟机上进行测试...

weixin_30825199的博客 1133

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

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

weixin_39624864的博客 740
上一篇: ubuntu中增加和删除用户
下一篇: lamp中打开PHP网站,提示下载PHP文件的解决方法
deepfuture
博客等级 码龄17年 210粉丝 1287原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值