linux下zebra之vtysh命令行编程入门,Zebra-VTYSH源码分析和改造(一):Zebra软件架构...

1. Zebra 功能认识

ZEBRA 提供了一个类Cisco命令行的分级多用户命令解析引擎--VTY(Virtual Terminal)。它是类似于Linux Shell的虚拟终端接口,负责对访问的安全验证、数据缓冲、命令解析、模式切换和命令调用。

用户通过VTYSH的每一次接口访问都会发起一个对应的VTY。VTY会根据用户优先级初始化并挂载相应的命令集Command Node。Command Node中以链表的形式包含了该用户可以访问和使用的Command。

用户通过各种接口访问VTY,VTY解析用户的每个命令,并且通过命令集链表找到并执行Command相应函数。这样,通过访问VTY实现基于命令集的管理功能。

2. Zebra 架构

0818b9ca8b590ca3270a3433284dd417.png

Zebra采用模块化的架构,,整个程序由一系列的守护进程构成,每个路由协议都有自己单独的路由处理进程,同时,它提供一个管理内核路由表的zebra 守护进程。路由处理程序通过zebra 守护程序管理内核路由表。

由图示可知,在Zebra中,总共有五个路由守护进程,和一个管理进程。这些路由进程可以和管理进程分布在不同的机器上,每一个进程可以分别监听从不同的端口来的VTY连接。

3. 编译Zebra为我所用

一般的路由产品都可以拿来Zebra稍加改动就可以使用了。如果你只需要VTY连接功能,通过接口增、改、删命令的话,Zebra是支持模块的删除和屏蔽的。

比如只需要VTY,那么你编译的时候可以在congfigure的时候加上如下参数就可以了。

...

cd ../zebra-vtysh && (test -e config.status ||(touch config.status && ./configure --disable-ipv6 --disable-bgpd --disable-ripngd  --disable-ospf6d --disable-bgp-announce --enable-vtysh --disable-ospfd --disable-ripd --disable-zebra --prefix=/ --with-cflags="-O2 -Wall" --build=i386 --host=mips-linux --target=mips)) &&

...

(其中,config.status是configure的状态记录信息,以备下次使用)

这样,编译完zebra后,就可以运行vtysh了,查看它的各种模式(下篇文章会讲),就可以开始你的快乐之旅了。

参考:http://www.zebra.org

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
zebra-vtysh是一个命令行工具,用于管理和配置Linux上的Zebra守护进程。它提供了一种交互式的方式来管理和配置Zebra守护进程,使用户能够更方便地进行相关设置。 在使用zebra-vtysh之前,我们首先需要确保已经安装了Zebra守护进程,并且它已经在系统中运行。接下来,我们可以使用以下命令来启动zebra-vtysh: ```shell sudo vtysh ``` 启动之后,将进入zebra-vtysh的交互式界面。在这个界面下,我们可以执行各种命令来管理和配置Zebra守护进程。以下是一些常用的命令: - show:用于显示各种信息,如路由表、邻居表等。 - configure terminal:进入配置模式,可以进行各种配置操作。 - exit:退出当前模式或zebra-vtysh交互式界面。 - enable:进入特权模式,以获取更高的权限。 - interface:配置接口相关的设置,如IP地址、子网掩码等。 - router:配置路由器相关的设置,如路由协议、路由策略等。 在进入配置模式后,用户可以进行更加详细的配置操作。比如,我们可以使用以下命令来配置一个接口的IP地址: ``` interface eth0 ip address 192.168.1.1/24 ``` 配置完成后,可以使用以下命令保存配置并退出: ``` write exit ``` 通过以上的介绍,我们可以看出,zebra-vtysh使用手册主要介绍了该工具的基本使用方法和常用命令。用户可以根据需要,进一步学习和掌握更高级的配置操作。希望这个回答对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值