Quagga@Ubuntu10.04

Quagga + Linuxでルーティング遊びができる
しかもCiscoっぽい操作なので勉強に便利

Quagga

インストール+設定

$ sudo apt-get install quagga
$ sudo cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf
$ sudo cp /usr/share/doc/quagga/examples/vtysh.conf.sample /etc/quagga/vtysh.conf
$ sudo cp /usr/share/doc/quagga/examples/ripd.conf.sample /etc/quagga/ripd.conf
$ sudo cp /usr/share/doc/quagga/examples/ripngd.conf.sample /etc/quagga/ripngd.conf
$ sudo cp /usr/share/doc/quagga/examples/ospfd.conf.sample /etc/quagga/ospfd.conf
$ sudo cp /usr/share/doc/quagga/examples/ospf6d.conf.sample /etc/quagga/ospf6d.conf
$ sudo cp /usr/share/doc/quagga/examples/bgpd.conf.sample /etc/quagga/bgpd.conf
$ sudo cp /usr/share/doc/quagga/examples/isisd.conf.sample /etc/quagga/isisd.conf
sample別にいらないような
$ sudo vi /etc/quagga/daemons

zebra=yes
構成
  • zebra: ルーティングテーブルを操作する
  • vtysh: ciscoライクな端末を提供
  • ripd, ripngd, ospfd, ospf6d, bgpd, isisd: ルーティングデーモンとして働く

QuaggaでRIP

RIPの基本的な設定

$ sudo vi /etc/quagga/daemons

...
ripd=yes
...

$ sudo /etc/init.d/quagga restart

$ sudo vtysh (vtyshへ
# conf t
(config)# int eth1
(config-if)# no ip rip authentication mode (認証なしでRIP受信するように
(config-if)# exit
(config)# router rip
(config-router)# network 172.20.1.0/24 (広告するネットワークを設定
(config-router)# neworkt 172.20.2.0/24
(config-router)# end
# write memory (設定保存

確認

# show ip rip status (設定内容の確認
# show ip rip (RIP情報の確認
# show ip route (ルーティングテーブルの確認

RIPv1で

デフォルトはsendがv2でrecvがv1 2.

  • 全インターフェースで統一

(config)# router rip
(config-router)# version 1

  • インターフェース毎・方向毎で設定

(config)# int eth1
(config-if)# ip rip receive version 1 2

認証付きRIP

# conf t
(config)# key chain hoge (hogeっていうKey-chainを作る
(config-keychain)# key 1 (Key-chain識別子1
(config-keychain-key)# key-string hogehoge (keyを設定
(config-keychain-key)# exit
(config-keychain)# exit
(config)# int eth1
(config-if)# ip rip authenticaiton mode md5 (MD5で.平文ならtext
(config-if)# ip rip authentication key-chain hoge (hogeっていうkeychainを使う
(config-if)# end
Key-chainを細かく設定することで複雑なRIP網が可能.

QuaggaでOSPF

基本的な設定

$ sudo vi /etc/quagga/daemons

...
ospfd=yes
...

$ sudo /etc/init.d/quagga restart

$ sudo vtysh
# conf t
(config)# router ospf
(config-router)# net 172.20.12.0/24 area 0
(config-router)# net 172.20.13.0/24 area 0
(config-router)# end
(config)# write memory

確認

# show ip ospf
# show ip ospf route
# show ip ospf neighbor
# show ip ospf int

tcpdumpでospfパケットを見る方法

$ sudo tcpdump -n ip proto ospf -vv(-vvはおまけ