quagga安装和使用

quagga安装和使用 
分类:  命令行编程


quagga安装和使用
测试环境-Fedora7.0
1.       下载源码
quagga-0.99.10.tar.gz
2.       解压缩
tar xzvf quagga-0.99.10.tar.gz
3.       配置
cd quagga-0.99.10
    ./configure --prefix =/usr
                --sysconfdir=/etc/quagga
                --localstatedir=/var/run/quagga
                --enable-vtysh
                --enable-user='test'
                --enable-group='test'
                 --enable-vty-group='test'
配置输出:
 

Quagga configuration

--------------------

quagga version          : 0.99.10

host operationg system  : linux-gnu

source code location    : .

compiler                : gcc

compiler flags          : -Os -fno-omit-frame-pointer -g -std=gnu99 -Wall -Wsign-compare -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts -Wcast-qual

make                    : make
includes                : 

linker flags            :  -lcrypt   -lcap  -ltermcap -lreadline -lm

state file directory    : /var/run/quagga

config file directory   : /etc/quagga

example directory       : /etc/quagga

user to run as          : test

group to run as         : test

group for vty sockets   : test

config file mask        : 0600

log file mask           : 0600

 

The above user and group must have read/write access

to the state file directory and

to the config files in the config file directory.

4.       编译和安装
make ;make install
5.       添加test组和用户
groupadd test;
    useradd test -g test
6.       改变权限 //最好写入启动脚本

chown test:test /var/run/quagga

chmod 777 /var/run/quagga   
chown test:test /etc/quagga //需要将配置写入操作系统
chmod 777 /etc/quagga/*                    
7.       增加log权限//最好写入启动脚本

Mkdir  /var/log/quagga/

Vi /var/log/quagga/zebra.log
Chmod 777 /var/log/quagga/zebra.log
 
8.       修改 /etc/services  //just for telnet

                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
 
 
9.       编辑配置文件

copy /etc/quagga/zebra.conf.example   /etc/quagga/zebra.conf

! -*- zebra -*-
!

! zebra sample configuration file

!
hostname Router
password zebra

enable password zebra

log file  /var/log/quagga/zebra.log//注意zebra.conf启用log,这样便于查找错误
 
 
10.     启动
zebra –d
如果启动不成功,察看/var/log/quagga/zebra.log
一般由于权限设置会出现以下错误:

2008/10/22 16:59:22 ZEBRA: Could not lock pid_file /var/run/quagga/zebra.pid, exiting

 
11.    登陆
telnet localhost zebra(0r 2601)
[root@localhost quagga-0.99.10]# telnet localhost 2601

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

 

Hello, this is Quagga (version 0.99.10).

Copyright 1996-2005 Kunihiro Ishiguro, et al.

 
 
User Access Verification
 
Password:
Router> enable
Password:
Router# help

Quagga VTY provides advanced help feature.  When you need help,

anytime at the command line please press '?'.

 

If nothing matches, the help list will be empty and you must backup

 until entering a '?' shows the available options.

Two styles of help are provided:

1. Full help is available when you are ready to enter a

command argument (e.g. 'show ?') and describes each possible

argument.

2. Partial help is provided when an abbreviated argument is entered

   and you want to know what arguments match the input

   (e.g. 'show me?'.)
 
Router#
 
12.    使用
具体使用参考 http://sslab.cs.nthu.edu.tw/~welentsai/rip_quagga.htm
 
 
 
 
 

Network Topology Overview


Configure R1
configure zebra.conf

! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname Router
password zebra
enable password zebra

! list Interfaces
interface eth0
ip address 192.168.1.2/24

interface eth2
ip address 192.168.10.2/24

interface lo

!
! Static default route sample.
! null route to consolidate all subnets in this /24
!ip route 192.168.10.0/24 Null0 255
ip route 172.16.71.0/24 eth0

!log file
log file /var/log/quagga/zebra.log

line vty
 

configure ripd.conf

! -*- rip -*-
!
! RIPd sample configuration file
!
! $Id: ripd.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname ripd
password zebra
enable password zebra

!
debug rip events
debug rip packet

!
router rip
network 192.168.1.0/24
network 192.168.10.0/24

!
!log file ripd.log
log file /var/log/quagga/ripd.log
 

Configure R2
configure zebra.conf

! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname Router
password xxx
enable password xxx

! list Interfaces
interface eth0
ip address 172.16.71.121/24

interface eth2
ip address 192.168.1.5/24

interface lo
! Static default route sample
ip route 0.0.0.0/0 192.168.1.2

!log file zebra.log
log file /var/log/zebra/zebra.log

!
line vty
 

configure ripd.conf

! -*- rip -*-
!
! RIPd sample configuration file
!
! $Id: ripd.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname ripd
password zebra
enable password zebra

!
debug rip events
debug rip packet

!
router rip
network 172.16.71.0/24
network 192.168.1.0/24
network 192.168.2.0/24
!
!log file ripd.log
log file /var/log/ripd.log

!
line vty

Hint :
 '!'  for comment
config file is put in 'PREFIX'/etc directory
if you want start ripd daemon, you must start zebra daemon at first
Testing Connectivity
start zebra/ripd daemon
login zebra vty

 $ telnet localhost zebra
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.

Hello, this is Quagga (version 0.98.5).
Copyright 1996-2005 Kunihiro Ishiguro, et al

User Access Verification

Password:
Router> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

K>* 0.0.0.0/0 via 140.114.71.254, eth1
C>* 10.0.0.0/8 is directly connected, eth1
C>* 127.0.0.0/8 is directly connected, lo
C>* 140.114.71.0/24 is directly connected, eth1
R 172.16.71.0/24 [120/2] via 192.168.1.5, eth0, 1d04h26m
S>* 172.16.71.0/24 [1/0] is directly connected, eth0
C>* 192.168.1.0/24 is directly connected, eth0
R>* 192.168.2.0/24 [120/2] via 192.168.1.5, eth0, 1d04h26m
C>* 192.168.10.0/24 is directly connected, eth2
Router>

login ripd vty

[]$ telnet localhost ripd
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.

Hello, this is Quagga (version 0.98.5).
Copyright 1996-2005 Kunihiro Ishiguro, et al.


User Access Verification

Password:
ripd> show ip rip
Codes: R - RIP, C - connected, S - Static, O - OSPF, B - BGP
Sub-codes:
(n) - normal, (s) - static, (d) - default, (r) - redistribute,
(i) - interface

Network Next Hop Metric From Tag Time
R(n) 172.16.71.0/24 192.168.1.5 2 192.168.1.5 0 02:40
C(i) 192.168.1.0/24 0.0.0.0 1 self 0
R(n) 192.168.2.0/24 192.168.1.5 2 192.168.1.5 0 02:40
C(i) 192.168.10.0/24 0.0.0.0 1 self 0
ripd>

你可能感兴趣的:(Linux,C)