OSPFを理解したいと思い、
Cisco C841を使って動作を確認したいと思ったが、
自宅にはこれ1台しかないので、
他の機器とのやり取りまで見ることができない。
そう思っていたところ、
Linuxでダイナミックルーティングの動作をさせるソフトがあるらしい。
http://d.hatena.ne.jp/rx7/20140108/p1
というわけで、この「Quagga」を、
VirtualBoxに入れてる仮想Linuxで使ってみる。
●Quaggaをインストールする
debianにて
root@debian:~# aptitude search quagga p quagga - BGP/OSPF/RIP routing daemon p quagga-dbg - BGP/OSPF/RIP routing daemon (debug symbols p quagga-doc - documentation files for quagga root@debian:~# root@debian:~# aptitude install quagga 以下の新規パッケージがインストールされます: quagga ...
インストール成功
とりあえずインストールしたものの、
上記ページは↑↑はCentOS版なので、
ファイルの置き場やコマンドなどが違う。
というわけで、
Ubuntu用の説明載ってるサイト発見
http://www.hongo.wide.ad.jp/exp/2010w/quagga.html
/usr/share/doc/quagga/examples/ 以下のサンプルを、
/etc/quagga/ 以下に confファイルとしてコピー。
root@debian:/etc/quagga# cp /usr/share/doc/quagga/examples/zebra.conf.sample ./zebra.conf root@debian:/etc/quagga# cp /usr/share/doc/quagga/examples/vtysh.conf.sample ./vtysh.conf root@debian:/etc/quagga# cp /usr/share/doc/quagga/examples/ospfd.conf.sample ./ospfd.conf root@debian:/etc/quagga# ls daemons debian.conf ospfd.conf vtysh.conf zebra.conf
“daemons”ファイルを編集→zebraとospfdを有効にして、
quaggaをスタート。
root@debian:/etc/quagga# cat daemons ... zebra=yes bgpd=no ospfd=yes ospf6d=no ripd=no ripngd=no isisd=no babeld=no root@debian:/etc/quagga# /etc/init.d/quagga start [ ok ] Starting quagga (via systemctl): quagga.service.
localhostにtelnetで接続。
→cisco機器のline vtyと同じように使える。
root@debian:/etc/quagga# telnet localhost 2604 (←ospfdはポート2604) ... Password: (←ospfd.conf の設定。デフォルトは"zebra") ospfd> en ospfd# show running-config Current configuration: ! hostname ospfd password zebra log stdout ! ! ! interface eth0 ! interface lo ! line vty ! end
これで使えるっぽい。
●OSPFの基本設定
とりあえず、C841とやり取りできることを確認するために、
neibor検出させるところまでやります。
両者とも、192.168.11.0/24のネットワークに接続してて、
debian : 192.168.11.100 (eth0)
C841 : 192.168.11.50 (GigabitEthernet0/4.1)
に設定してあります。
・C841側の設定
Router#conf t Router(config)#router ospf 1 Router(config-router)#network 192.168.11.0 0.0.0.255 area 0 Router(config-router)#end
・debian側(Quagga)の設定
ospfd# conf t ospfd(config)# router ospf (←プロセスIDの指定はなし) ospfd(config-router)# network 192.168.11.0/24 area 0 (←ワイルドカードマスク指定ではない)
確認
・C841側 Router#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.11.100 1 FULL/DR 00:00:37 192.168.11.100 GigabitEthernet0/4.1 ・debian側 ospfd# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL 192.168.11.50 1 Full/Backup 35.600s 192.168.11.50 eth0:192.168.11.100 0 0 0
neiborの検出までできました。