可以装linux的路由器,[转载]linux路由器Quagga的配置(一):安装

部分资料摘自http://blog.chinaunix.net/uid-25513153-id-212328.html

Quagga是一款功能比较强大的开源路由软件,支持rip,ripng,ospfv2,ospfv3,bgp等协议。目前最新版本为Quagga

0.99.17。安装Quagga的目的是使装有linux(我采用的是Ubuntu10.04LTS)系统的电脑变成一台路由器,以便今后的实验。之所以选择Quagga是因为它的操作和Cisco的操作是比较相似的。今天用到的电脑需要多块网卡支持(至少两块)。

安装Quagga

首先下载Quagga

0.99.17到硬盘,然后在终端输入

tar –zxvf quagga-0.99.17.tar.gz

进入目录

#cd quagga-0.99.17

配置

#./configure --enable-vtysh

--enable-user=root

--enable-group=root

--enable-vty-group=root

上述命令为打开vty功能(CLI功能)并给予相应用户权限,另有一些初始化配置见文档中.配置完成后会有一些信息表明quagga安装完成后相关文件所在位置。

此时出现错误:

checking for syslog.h... yes

checking for wchar.h... yes

checking for wctype.h... yes

checking for sys/sysctl.h... yes

checking for sys/sockio.h... no

checking for kvm.h... no

checking for sys/conf.h... no

checking for ucontext.h... yes

checking for special C compiler options needed for large files...

no

checking for _FILE_OFFSET_BITS value needed for large files...

64

checking for perl... /usr/bin/perl

checking for tputs in -ltermcap... yes

checking for main in -lreadline... no

configure: error: vtysh needs libreadline but was not found and

usable on your system.

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$

--enable-user=root

--enable-user=root: command not found

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$

--enable-group=root

--enable-group=root: command not found

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$

注:

①./configure是用来检测你的安装平台的目标特征的(比如它会检查是否有编辑器、函数库,CC或GCC等等),并根据配置信息生产相应的makefile,它是个shell脚本。

②./configure –h

输入此命令会一一列出当前配置环境所有配置选项

③此输入选项含义为,

启用相应服务程序,并对不用的服务程序进行关闭,其中--enable- user=root --enable-group=root

是限定quagg软件的使用权限。

④配置时易出现如下错误:

/usr/local/lib/libreadline.so:

undefined reference to `PC'

/usr/local/lib/libreadline.so:

undefined reference to `tgetflag'

/usr/local/lib/libreadline.so:

undefined reference to `tgetent'

/usr/local/lib/libreadline.so:

undefined reference to `UP'

/usr/local/lib/libreadline.so:

undefined reference to `tputs'

/usr/local/lib/libreadline.so:

undefined reference to `tgoto'

/usr/local/lib/libreadline.so:

undefined reference to `tgetnum'

/usr/local/lib/libreadline.so:

undefined reference to `BC'

/usr/local/lib/libreadline.so:

undefined reference to `tgetstr'

checking for perl...

/usr/bin/perl

checking for tputs in -ltermcap... no

checking for tputs in -ltinfo... no

checking for tputs in -lcurses... no

checking for tputs in -lncurses... no

checking for main in -lreadline... no

configure:

error: vtysh needs libreadline but was not found and usable on your

system

解决方法:

1 看readline软件包是否安装

sudo apt-get install

libreadline5-dev

2 是否安装ncurses安装包

sudo apt-get install

libncurses5-dev

3 是否安装libncurses5-dev

或libncursesw5-dev软件包

sudo apt-get install

libncursesw5-dev

安装完成之后再重新用配置命令

#./configure --enable-vtysh

#./configure --enable-user=root

#./configure --enable-group=root

#./configure --enable-vty-group=root

之后编译与安装

#make

#make install

之后出现错误

/usr/bin/install: cannot create regular file`/usr/local/lib/libprotobuf.so.0.0.0':

Permission denied

make[3]: *** [install-libLTLIBRARIES] Error 1

make[3]: Exit from catalogue

`/home/alexe/downloads/proto2/protobuf-2.0.0beta/src'

make[2]: *** [install-am] Error 2

make[2]: Exit from catalogue

`/home/alexe/downloads/proto2/protobuf-2.0.0beta/src'

make[1]: *** [install] Error 2

make[1]: Exit from catalogue

`/home/alexe/downloads/proto2/protobuf-2.0.0beta/src'

make: *** [install-recursive] Error 1

可以采用

#sudo make

#sudo make install

3.修改文件/etc/services,添加如下内容(某些版本Ubuntu已有,就不用添加了)

zebrasrv 2600/tcp # zebra service

zebra 2601/tcp # zebra vty

ripd 2602/tcp # RIPd vty

ripngd 2603/tcp # RIPngd vty

ospfd 2604/tcp # OSPFd vty

bgpd 2605/tcp # BGPd vty

ospf6d 2606/tcp # OSPF6d vty

ospfapi 2607/tcp # ospfapi

isid 2608/tcp # ISISd vty

之后查看/etc/services,这个文件,发现已经里面有上面这段东西了。

quagga文件夹下/zebra有一个zebra.conf.sample文件,需建立一个zebra.conf文件并把zebra.conf.sample内容copy进去.

启动Quagga

在终端输入zebra -d即可启动quagga。有可能出现以下错误:

zebra: error while loading shared libraries:

libzebra.so.0: cannot open shared object file: No such file or

directory

解决方法:

在/usr/local/lib下有

lrwxrwxrwx 1 root root 17 2010-06-21 01:52

libzebra.so -> libzebra.so.0.0.0

lrwxrwxrwx 1 root root 17 2010-06-21 01:52

libzebra.so.0 -> libzebra.so.0.0.0

-rwxr-xr-x 1 root root 778556 2010-06-21 01:52

libzebra.so.0.0.0

这可能是由于/lib库出现问题:则

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$ cd

/usr/local/lib

zinkin@zinkin-desktop:/usr/local/lib$ cp libzebra.* /lib

zinkin@zinkin-desktop:/usr/local/lib$ sudo rm libzebra.*

在终端输入zebra -d即可启动quagga。

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$ zebra -d

privs_init: could not lookup user quagga

[root@localhost1 quagga-0.99.15]#

zebra

privs_init: could not lookup user quagga

[root@localhost1 quagga-0.99.15]# zebra

--help

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.

-C,

--dryrun Check configuration for validity and exit

-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.

-u, --user User to run

as

-g,

--group Group to run as

-s, --nl-bufsize Set netlink

receive buffer size

-v,

--version Print program version

-h,

--help Display this help and exit

Report bugs to http://bugzilla.quagga.net

[root@localhost1 quagga-0.99.15]# zebra

-d -u root -g root

vty_read_config: failed to open configuration file

/usr/local/etc/zebra.conf: No such file or directory

can't open configuration file [/usr/local/etc/zebra.conf]

[root@localhost1 quagga-0.99.15]# cp -Rf

/usr/local/etc/zebra.conf.sample /usr/local/etc/zebra.conf

[root@localhost1 quagga-0.99.15]# zebra

-d -u root -g root

[root@localhost1 quagga-0.99.15]# telnet

localhost 2601

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

Hello, this is Quagga (version

0.99.15).

Copyright 1996-2005 Kunihiro Ishiguro, et al.

由于自己的程序没有在root下,所以有些语句前面得用sudo

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$ sudo zebra -d -u

root -g root

zinkin@zinkin-desktop:~/quagga/quagga-0.99.17$ telnet localhost

2601

Trying ::1...

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

Hello, this is Quagga (version 0.99.17).

Copyright 1996-2005 Kunihiro Ishiguro, et al.

User Access Verification

Password:

这样就说明已经将quaga安装成功了!

下一篇讲如何配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

管理节点连接不上sql节点_质量成本管理:成本控制、成本分析、费用使用流程与节点说明...

关注【本头条号】更多关于制度、流程、体系、岗位、模板、方案、工具、案例、故事、图书、文案、报告、技能、职场等内容,弗布克15年积累免费与您分享!阅读导航→01 质量成本控制流程与节点02 质量成本分析流程与节点03 质量费用使用控制流程与节点质量部…

linux ipset 流量,linux中ipset命令的使用方法详解

linux中ipset命令的使用方法详解发布时间:2020-10-25 17:07:19来源:脚本之家阅读:97作者:lijiaocn栏目:服务器ipset介绍iptables是在linux内核里配置防火墙规则的用户空间工具,它实际上是netfilter框架的一部分.可能因…

springmvc工作流程_SpringMVC工作原理

买了好多书,但是没有一本是看完的,这是看完的第一本书,虽然页数不多、技术早就用了老多遍了,还是总结一下吧!一、MVC模式MVC是 model、view、和controller的缩写,分别代表web应用程序中的三种职责&#xff…

c语言 vc++6.0集成开发环境的使用,VC6.0集成开发环境的使用.ppt

《VC6.0集成开发环境的使用.ppt》由会员分享,可在线阅读,更多相关《VC6.0集成开发环境的使用.ppt(11页珍藏版)》请在人人文库网上搜索。1、VC6.0集成开发环境,VC6.0集成开发环境,1.建立工作区(一),(1)选择菜单“FileNew”,打开“New”对话框&…

sql查找一个范围的值_销售需求丨查找问题

BOSS:茶,那个,什么茶来着?(递过一杯茶...)BOSS:?!!不是这个,我是说那个白茶啊!白茶:......(懵)咋滴…

怎样用c语言算平均成绩,用C语言编程平均分数

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼当个反面典型,让大家见识下丑陋无比的程序好了,主要是想练练打字,HOHO。应该用二维数组且全部函数化的,rand的%后面或是101或是100,可能和编译器有关,TC2下应写…

pandas输出到excel_学Python还不会处理Excel数据?带你用pandas玩转各种数据处理

开场白以前学习 Python 的 pandas 包时,经常到一些 excel 的论坛寻找实战机会。接下来我会陆续把相关案例分享出来,还会把其中的技术要点做详细的讲解。本文要点:使用 xlwings ,如同 vba 一样操作 excel使用 pandas 快速做透视表注…

cadence设计运算放大器_21.比较器的原理与特性,它与运算放大器的本质区别总结归纳...

1.电压比较器的工作原理电压比较器,顾名思义,就是两个输入端的其中一个作为基准,另外一个与基准作比较,输出只存在高电平和低电平两种状态。通过电压比较器,可以将模拟信号转变为数字信号。输入引脚的电位 > -输入引…

在c语言程序中无论是整数还是实数,C语言基础题及参考答案

C第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时&a…

插入排序最优_排序专题插入排序

今天开始,我计划用几篇专题来集中练习下有关排序的算法,排序算法是算法中最基础的算法了,所以这部分我们是要尽可能的全都掌握了。排序算法最常见的有如下几种:插入排序(Insertion Sort)选择排序(Selection Sort)希尔排序(Shell S…

c语言设计指导实训,C语言程序设计实训指导

与《c语言程序设计(第2版)》配套,给出所有习题及参考答案。按知识点,精选12个典型实训,给出实训目的与要求、实训内容及实训参考程序。附有自测(考试)样卷及参考答案,供读者自测。提供Turbo C 2.0上机环境介绍及常见的Turbo C 2.0…

python程序代码_python基础二

Python基础-注释的引入注释的分类:<1>单行注释:以#开头&#xff0c;#右边的所有文字当作说明&#xff0c;而不是真正要执行的程序&#xff0c;起辅助说明作用多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来&#xff0c;例如:1、单引号&#xff08;…

电气自动化c语言实践操作论文,项目实践论文,关于独立学院电气工程其自动化专业基于CDIO的实践模式相关参考文献资料-免费论文范文...

导读:本文关于项目实践论文范文,可以做为相关论文参考文献,与写作提纲思路参考。(广州大学松田学院 广东广州 511370)摘 要&#xff1a;独立学院作为培养应用型人才的新生力量,要与地方经济社会发展相衔接,培养满足地方经济社会发展需要的、高素质的应用型人才.如何培养符合广东…

c语言 系统 dome,订餐系统(Dome)

import java.util.Scanner;public class OrderingMsg {public static void main(String[] args) throws Exception {Scanner scanner new Scanner(System.in);String[] names new String[6]; // 订餐人姓名String[] dishMsgs new String[6];// 选择菜品int[] numbers new i…

linux里用c实现cat_【案例】用T云做了什么能让企业在工业自动化控制系统行业里实现逆向增长?...

从制造至“智”造&#xff0c;工业正在逐步向自动化、智能化方向深入发展。行业背景&#xff1a;受疫情影响&#xff0c;2020年&#xff0c;上半年雪虐风饕&#xff0c;自动化市场需求下滑&#xff0c;随着后期政策红利推出&#xff0c;市场回暖&#xff0c;上半年的自动化需求…

qt android程序联网死机,qt android开发出现致命错误

启动远端进程。D/dalvikvm( 1387): Late-enabling CheckJNID/dalvikvm( 1387): GC_CONCURRENT freed 256K, 10% free 9307K/10272K, paused 2ms2ms, total 21msD/dalvikvm( 1387): WAIT_FOR_CONCURRENT_GC blocked 11msW/Bundle ( 1387): Key android.app.lib_name expected S…

微软符号服务器 2020年_微软介绍了2020年后它将如何淘汰Edge中的Flash支持

Microsoft Edge微软(通过Bleeping Computer)提供了更多关于它将如何放弃对Flash in Edge的支持以符合Adobe的计划的细节&#xff0c;包括一些值得注意的例外。正如所料&#xff0c;默认情况下&#xff0c;Edge将从2020年12月起禁用闪存。2020年6月之前发布的Flash版本将被完全屏…

android fragment 抽屉,android – 更改Fragment中的导航抽屉项目

我有一个MainActivity启动导航抽屉.也有一些碎片.我需要从片段内部更改导航抽屉列表的标题.我尝试了这个内部片段&#xff1a;navMenuTitles getActivity().getResources().getStringArray(R.array.nav_drawer_items);navMenuTitles[1] username;但到目前为止没有运气.这是我…

深入jvm虚拟机第三版源码_深入JVM虚拟机,阿里架构师直言,这份文档真的是JVM最深解读...

作为一名优秀的 Java 开发程序员&#xff0c;以及想那些想要学习 Java 更深层一点的知识的同学&#xff0c;对 JVM 的熟悉与熟练使用是必不可缺的核心技能了&#xff0c;也是每个 Java 程序员应该要做到的。深入学习 JVM 可以有助于我们掌握 Java 应用程序是如何运作的&#xf…

android 信鸽 自动重启,Android简单集成信鸽推送

添加项目的buid.gradlendk {//选择要添加的对应cpu类型的.so库abiFilters armeabi, armeabi-v7a, arm64-v8a// 还可以添加 x86, x86_64, mips, mips64}manifestPlaceholders [XG_ACCESS_ID:"2100332371",XG_ACCESS_KEY : "ABRD93KT147K",]依赖//采集安装列…