菜鸟学习 络协议软件Quagga,修改ospfd vty端口和编译安装

wget  http://download.savannah.gnu.org/releases/quagga/quagga-0.99.20.tar.gz

2、修改ospfd vty端口     a)解压源码到/usc/local/src/

tar -xvzf quagga-0.99.20.tar.gz -C /usr/local/src/

    b)进入ospfd目前,修改ospfd.h文件的宏“OSPF_VTY_PORT”,默认是2604,改成自己喜欢的数字,比如2609好了          

cd /usr/local/src/quagga-0.99.20/ospfd [root@siwen ospfd]# pwd /usr/local/src/quagga-0.99.20/ospfd [root@siwen ospfd]# ls -lh ospfd.h -rw-rw-r– 1 jian.du devops 21K Jul 13 22:42 ospfd.h

    修改完后应该是这样子:

[root@siwen ospfd]# cat ospfd.h |grep “OSPF_VTY_PORT” #define OSPF_VTY_PORT          2609

3、编译安装     我们在configure的时候可以配置各种参数,来修改一些属性和安装路径,参数可以在源代码根目录通过“./configure -h”查看;
    比如“prefix”可以修改程序安装路径,配置文件默认是安装在程序安装目录“prefix”下的etc目录,当然你想放到”/etc/quagga”下也可以,通过“sysconfdir”来实现;

    这次我就只修改”prefix”,将程序安装到”/usr/local/quagga”下:

./configure –prefix=/usr/local/quagga make -j 16 && make install

     TIP:make -j 16,表示使用16个进程来工作,编译是非常耗CPU的,自然就耗时了,笔者的Server是16核的,所以用16个进程一起来工作会编译的快一些;
4、查看安装成功的程序     如果你足够幸运,那么编译一次就通过了,如果 错请自己检查错误内容,将需要的依赖安装上;
    
    下面看下安装成功的目录结构:

[root@siwen quagga-0.99.20]# cd /usr/local/quagga [root@siwen quagga]# ls etc  include  lib  sbin  share

    可以看到有5个目录:
        etc:        配置文件存放路径,假如你在configure的时候没改变配置文件路径的话;
        include:quagga定义的一些头文件;
        lib:        quagga的库函数存放目录;
        sbin:     执行程序所在;
        share:   一些文档和帮助信息;
    其中我们最关心的也就是“etc”和”sbin”

5、设置配置文件,并以root身份启动zebra和ospfd      TIP:zebra是Quagga用于和其他路由协议传递路由信息,并修改内核路由的模块;

    默认程序etc目录下有配置参考,我们只需要将其拷贝一份到该目录下即可运行程序:

cd /usr/local/quagga/etc cp ospfd.conf.sample ospfd.conf cp zebra.conf.sample zebra.conf ./zebra -d -uroot ./ospfd -d -uroot

6、查看ospfd进程和zebra进程,并验证ospfd vty接口是否被改为2609:

[root@siwen etc]# netstat -ntpa| grep -E “zebra|ospfd” tcp        0      0 0.0.0.0:2601                0.0.0.0:*                   LISTEN      26953/./zebra        tcp        0      0 0.0.0.0:2609                0.0.0.0:*                   LISTEN      26955/./ospfd

         可以看到,osfpd进程的端口 已经是2609,telnet上去试试,密码zebra:

[root@siwen etc]# telnet 127.0.0.1 2609 Trying 127.0.0.1… Connected to 127.0.0.1. Escape character is ‘^]’.
Hello, this is Quagga (version 0.99.20). Copyright 1996-2005 Kunihiro Ishiguro, et al.

User Access Verification
Password:  ospfd> en ospfd> enable  ospfd# show ip rou ospfd# show ip os  ospfd# show ip ospf rou ospfd# show ip ospf route   OSPF Routing Process not enabled ospfd# exit Connection closed by foreign host. You have new mail in /var/spool/mail/root

总结:     小小骄傲一下,你已经具备修改开源程序源代码的能力了,哈哈,开个玩笑。万事开头难,从最简单的做起。我目前做的是 络集成测试,和 络协议打交道比较多。Quagga是一款开源的支持众多 络协议的软件,我目前在学习如何看代码,借Quagga来学习一下,一来可以熟悉 络协议,二来可以学习如何看代码,加强自己的代码能力。

文章知识点与官方知识档案匹配,可进一步学习相关知识 络技能树跨区域 络的通信学习 络层的作用22225 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年6月11日
下一篇 2013年6月12日

相关推荐