菜鸟学习网络协议软件Quagga,修改ospfd vty端口和编译安装
2013-07-14 00:24
519 查看
TIP:笔者的系统是红帽6U3,编译安装前记得把gcc各种依赖工具先安装上,避免编译出错
本文目的是为了学习如何编译安装开源软件Quagga,并修改下OSPF模块的vty登录端口号,借此熟悉下,它是一款网络协议软件,支持OSPF、BGP、RIP等路由协议,我工作中主要接触到的是OSPF模块。
1、下载Quagga
我使用的版本是0.99.20,下载地址http://download.savannah.gnu.org/releases/quagga/quagga-0.99.20.tar.gz
2、修改ospfd vty端口号
a)解压源码到/usc/local/src/
b)进入ospfd目前,修改ospfd.h文件的宏“OSPF_VTY_PORT”,默认是2604,改成自己喜欢的数字,比如2609好了
修改完后应该是这样子:
3、编译安装
我们在configure的时候可以配置各种参数,来修改一些属性和安装路径,参数可以在源代码根目录通过“./configure -h”查看;
比如“prefix”可以修改程序安装路径,配置文件默认是安装在程序安装目录“prefix”下的etc目录,当然你想放到"/etc/quagga"下也可以,通过“sysconfdir”来实现;
这次我就只修改"prefix",将程序安装到"/usr/local/quagga"下:
TIP:make -j 16,表示使用16个进程来工作,编译是非常耗CPU的,自然就耗时了,笔者的Server是16核的,所以用16个进程一起来工作会编译的快一些;
4、查看安装成功的程序
如果你足够幸运,那么编译一次就通过了,如果报错请自己检查错误内容,将需要的依赖安装上;
下面看下安装成功的目录结构:
可以看到有5个目录:
etc: 配置文件存放路径,假如你在configure的时候没改变配置文件路径的话;
include:quagga定义的一些头文件;
lib: quagga的库函数存放目录;
sbin: 执行程序所在;
share: 一些文档和帮助信息;
其中我们最关心的也就是“etc”和"sbin"
5、设置配置文件,并以root身份启动zebra和ospfd
TIP:zebra是Quagga用于和其他路由协议传递路由信息,并修改内核路由的模块;
默认程序etc目录下有配置参考,我们只需要将其拷贝一份到该目录下即可运行程序:
6、查看ospfd进程和zebra进程,并验证ospfd vty接口是否被改为2609:
可以看到,osfpd进程的端口号已经是2609,telnet上去试试,密码zebra:
总结:
小小骄傲一下,你已经具备修改开源程序源代码的能力了,哈哈,开个玩笑。万事开头难,从最简单的做起。我目前做的是网络集成测试,和网络协议打交道比较多。Quagga是一款开源的支持众多网络协议的软件,我目前在学习如何看代码,借Quagga来学习一下,一来可以熟悉网络协议,二来可以学习如何看代码,加强自己的代码能力。
本文目的是为了学习如何编译安装开源软件Quagga,并修改下OSPF模块的vty登录端口号,借此熟悉下,它是一款网络协议软件,支持OSPF、BGP、RIP等路由协议,我工作中主要接触到的是OSPF模块。
1、下载Quagga
我使用的版本是0.99.20,下载地址http://download.savannah.gnu.org/releases/quagga/quagga-0.99.20.tar.gz
wget http://download.savannah.gnu.org/releases/quagga/quagga-0.99.20.tar.gz |
a)解压源码到/usc/local/src/
tar -xvzf quagga-0.99.20.tar.gz -C /usr/local/src/ |
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 |
我们在configure的时候可以配置各种参数,来修改一些属性和安装路径,参数可以在源代码根目录通过“./configure -h”查看;
比如“prefix”可以修改程序安装路径,配置文件默认是安装在程序安装目录“prefix”下的etc目录,当然你想放到"/etc/quagga"下也可以,通过“sysconfdir”来实现;
这次我就只修改"prefix",将程序安装到"/usr/local/quagga"下:
./configure --prefix=/usr/local/quagga make -j 16 && make install |
4、查看安装成功的程序
如果你足够幸运,那么编译一次就通过了,如果报错请自己检查错误内容,将需要的依赖安装上;
下面看下安装成功的目录结构:
[root@siwen quagga-0.99.20]# cd /usr/local/quagga [root@siwen quagga]# ls etc include lib sbin share |
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 |
[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 |
[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来学习一下,一来可以熟悉网络协议,二来可以学习如何看代码,加强自己的代码能力。
相关文章推荐
- 菜鸟学习网络协议软件Quagga,修改ospfd vty端口和编译安装
- Greenplum学习4--.bashrc文件的修改(如gp端口、初始数据库、GPCCC安装、master数据地址)
- 一些常用软件的网络端口协议分类介绍
- 菜鸟学习Linux 之五 常用软件的安装(收集)
- linux学习之系统管理、网络配置、软件安装
- 计算机网络----学习协议端口
- 树莓派(raspberry pi)学习3: 下载安装软件包 (下载慢,修改镜像源)
- 《Unity3D网络游戏实战》学习笔记--Unity3D软件安装之error:CS0246The type or namespace name 'PostEffectsBase' could not
- 一些常用的软件网络端口协议分类介绍
- 通常每个套接字地址(协议/网络地址/端口)只允许使用一次 apache24安装443端口占用
- 一些常用的软件网络端口协议分类介绍
- 某台计算机允许域用户修改网络配置,但不允许安装和卸载软件 推荐
- 一些常用软件的网络端口协议分类介绍
- Windows下安装Apache HTTP Server 无法启动遇到OS10048 通常每个套接字地址(协议/网络地址/端口)只允许使用一次 的问题解决方法
- 【神经网络与深度学习】【CUDA开发】服务器(多GPU)caffe安装和编译
- 一些常用软件的网络端口协议分类介绍
- 一些常用软件的网络端口协议分类介绍
- 网络协议分析软件安装部署简介!
- Turtlebot学习指导第二篇_安装Turtlebot软件包,配置主从机网络