" /> quagga 0.96.5

quagga 0.96.5

こちらは古いです

quagga-0.99.7を参照してください。

quagga(zebra)とは

絶滅したシマウマのこと(ぉぃ。もとい、ルーティングソフトウェア。
一般に利用されているルーティングプロトコルのほとんどを網羅している。IPv6用のそれとしては RIPng BGP4+ OSPFv3 があるが、ここでは RIPng を使用する。ルーティングプロトコル毎にdaemonが分かれているのが特徴。

RPMのビルド

RPMを作成しませう。

$ tar zxvf quagga-0.96.5.tar.gz
$ cp -a quagga-0.96.5/redhat/quagga.spec ~/rpm/SPECS
$ cp -a quagga-0.96.5.tar.gz ~/rpm/SOURCES
$ rpmbuild -ba --target=i686 ~/rpm/SPECS/quagga.spec

インストール

RPMをインストールする。

$ cd ~/rpm/RPMS/i686
$ sudo rpm -ivh quagga-devel-0.96.5-1.i686.rpm quagga-contrib-0.96.5-1.i686.rpm quagga-0.96.5-1.i686.rpm

インストールの確認

RPMをインストールすると、/etc/quagga というディレクトリが作成される。このディレクトリは一般ユーザは参照できない。quagga:quagga だけが参照可能である。(このユーザ/グループの設定もRPMをインストールしたときに追加される)

設定ファイルの作成

まず、zebra の設定ファイルを作成する。zebra はルーティングプロトコル毎の処理を統合し、種々の判断を行うdaemonである。ゆえに、zebra daemonは各種ルーティングdaemonを起動する際には、あらかじめ起動しておく必要がある。

sampleファイルをそのまま使用する。但し、hostname, password は変更しておいたほうがよい(かもしれない)。

# cp -a /etc/quagga/zebra.conf.sample /etc/quagga/zebra.conf
# vi /etc/quagga/zebra.conf
# cat /etc/quagga/zebra.conf
! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: quagga-0.96.5.html 9 2007-11-25 13:40:58Z noguchi $
!
hostname Router
password zebra
enable password zebra
!
! Interface's description.
!
!interface lo
! description test of desc.
!
!interface sit0
! multicast

!
! Static default route sample.
!
!ip route 0.0.0.0/0 203.181.89.241
!

!log file zebra.log
#

続いて、ripngd の設定ファイルを作成する。最低限設定が必要なのは、network route である。それぞれ適切な値に変更する。また、hostname, password は適当に修正すること。

# cp -a /etc/quagga/ripngd.conf.sample /etc/quagga/ripngd.conf
# vi /etc/quagga/ripngd.conf
# cat /etc/quagga/ripngd.conf
! -*- rip -*-
!
! RIPngd sample configuration file
!
! $Id: quagga-0.96.5.html 9 2007-11-25 13:40:58Z noguchi $
!
hostname ripngd
password zebra
!
! debug ripng events
! debug ripng packet
!
!
router ripng
! network sit1
! route 3ffe:506::0/32
! distribute-list local-only out sit1
network sit1
route 2001:0240:050a::/48
!
!ipv6 access-list local-only permit 3ffe:506::0/32
!ipv6 access-list local-only deny any
!
log stdout
#

daemon起動

zebra ripngd を起動する。

$ sudo /etc/rc.d/init.d/zebra start
$ sudo /etc/rc.d/init.d/ripngd start