OSPFによる動的ルーティング環境を構築してみた

最近、ルーティング周りの理解が浅く感じたためネットワークの勉強をしています。せっかくイイ感じのルータとL3SWを持っているので、そこそこ理論を頭に入れたうえで実践してみました。

主な使用機材

  • ルータ
    • NEC Univerge IX 2015
    • NEC Univerge IX 2105
  • L3スイッチ

実験環境NW構成

概ね以下の図の通り。
f:id:KLag:20220314235626p:plain
今回の目的は、各L3機器にスタティックルートを設定せずにPC1 <-> PC2間で通信を行うことです。OSPFによる動的ルーティングを利用します。

下準備

まず、3560X <-> IX2015間の通信を行うため、LANケーブルを接続したポート(Gi0/5)をVLAN 2のアクセスポートとして指定します。

---3560X---
Switch(config)# interface GigabitEthernet0/5
Switch(config-if)# switchport access vlan 2

コンフィグの流し込み

各機器に対して、自分が直接つながっているネットワークのアドレスと、それに紐づけるOSPFエリアの値を流し込んでいきます。

---IX2105---
Router(config)# ip router ospf 1
Router(config)# network 192.168.11.0/24 area 0

---IX2015---
Router(config)# ip router ospf 1
Router(config)# network 192.168.30.0/24 area 0
Router(config)# network 192.168.22.0/24 area 0

---3560X---
Switch(config)# router ospf 1
Switch(config)# network 192.168.11.0 0.0.0.255 area 0
Switch(config)# network 192.168.30.0 0.0.0.255 area 0

設定自体はこれでおしまいです。各ルータでshow ip routeを叩いてルートが反映されているかを確認してみます("O"で示される行のエントリがOSPFによって生成された経路情報となります)。

IX2105

f:id:KLag:20220315003648p:plain

IX2015

f:id:KLag:20220315003741p:plain

3560X

f:id:KLag:20220315003614p:plain

さらに、これらの設定を行っている間にWiresharkを用いてパケットキャプチャした結果、次のようにOSPFのリンク状態更新(LS Update)パケットや、リンク状態確認応答(LS Acknowledge)パケットを捕まえることができました。
あわせて、10秒間隔で各ルータからOSPFルータを探索するためのHelloパケットが流されているのもわかります。なお、これらのパケットの宛先224.0.0.5はOSPFルータを指すIPv4マルチキャストアドレスです。
f:id:KLag:20220315004445p:plain

疎通確認

Pingで確認。

192.168.11.0/24 <=> 192.168.30.0/24

f:id:KLag:20220315005428p:plain

192.168.11.0/24 <=> 192.168.22.0/24

f:id:KLag:20220315005810p:plain

traceroute PC2 => PC1

f:id:KLag:20220315010030p:plain このとおり、各L3機器で正しくルーティングされていることがわかります。

おわりに

今後は、各経路への重み付けをしてみたり、RIPでの動的ルーティングも実験してみようかなとも考えています。
また、OSPFパケットに関してもまだ確認できていないもの(リンク状態更新要求など)の確認や、既存のOSPFネットワークに新たなルータを導入した際の挙動確認なども行っていきたいです。