vyattaのOSPFの設定

公開日:2013/08/29 更新日:2013/08/29
vyattaのOSPFの設定のサムネイル

KVM上で構築した複数の仮想ネットワーク間で通信できるようにするためには、vyattaA、vyattaB、vyattaCそれぞれにルーティングプロトコルを動作させる設定を行う必要があります。ルーティングプロトコルは、各ルータがどのネットワークに接続されているか、どの経路への情報を持っているかなどをルータ間で交換するためのプロトコルです。各ルータはルーティングプロトコルを使用することでネットワーク状態を把握し、ネットワークの地図にあたる経路制御表を作成します。

そして今回はいくつかあるルーティングプロトコルのうち、OSPFを使用して、図1のKVM上の仮想ネットワーク間での通信をできるようにします。具体的には、図1中のvyattaA、vyattaB、vyattaCにそれぞれOSPFの設定を行うことで、「isolate_net1」、 「isolate_net2」、「WAN1」、「default」、そしてインターネット間の通信をできるようにします。

virtual_net_configure.png 図1 KVM上の仮想環境構成図

OSPFについて

OSPFは、リンク状態型のルーティングプロトコルで、ネットワーク全体の接続状態(トポロジー情報など)を調査して経路制御表を作成します。そのため、ネットワークが大きくなると、ネットワーク全体の接続状態を調査する処理が負荷になります。そこで、OSPFでは、接続状態を調査する範囲(エリア)を限定して負荷を軽減する仕組みが実装されています。

1. vyattaのOSPFの設定手順

図1中の各仮想ネットワーク間で通信できるようにするために、各vyattaにOSPFの設定を行います。まずvyattaAについては以下のコマンドを実行することでOSPFを設定できます。

vyatta Aの場合

vyatta@vyatta# set protocols ospf parameters router-id 127.0.0.1
vyatta@vyatta# set protocols ospf area 0.0.0.0 network 172.16.10.0/24
vyatta@vyatta# set protocols ospf redistribute connected

・1行目では、ルータIDを設定しています。OSPFでは、OSPFを扱うルータを一意に識別するために、このルータIDというものを設定する必要があります。また、ルータIDは、IPアドレスと同じように、32ビットで記述した値を設定します。上の設定では、vyattaAのルータIDとして、「127.0.0.1」を設定しています。

・2行目では、接続情報を交換するエリアのIDとそのエリアに属するネットワークを設定しています。2行目の場合、エリアが0.0.0.0で、ネットワークが172.16.10.0/24です。2行目の設定によって、vyattaAはネットワーク172.16.10.0/24に属する他のルータと接続情報を交換しあいます。 ちなみに、vyatta Aはネットワーク「192.168.100.0/24」にも接続されていますが、「192.168.100.0/24」はいわゆるローカルエリアネットワークであり、「192.168.100.0/24」内に接続されているルータはvyatta A以外にありません。そのため、「192.168.100.0/24」の接続情報は交換する必要がなく、そもそも交換する他のルータがいません。よって、上のコマンドでは「172.16.10.0/24」のネットワーク情報のみを交換する情報として指定しています。もし、「192.168.100.0/24」に接続された他のルータがある場合は、上の2行目同様に、以下のコマンドを実行する必要があります。

vyatta@vyatta# set protocols ospf area 0.0.0.0 network 192.168.100.0/24

・3行目では、ルータ(vyattaA)が接続されているネットワークに接続情報を再配布しています。

以上の設定をvyattaB、vyattaCに同様に行えば、OSPFの設定は完了し、各仮想ネットワーク間での通信が可能になります。以下に、vyattaB、vyattaCで実行したコマンドを載せておきます。

vyattaBの場合

vyatta@vyatta# set protocols ospf parameters router-id 127.0.0.2
vyatta@vyatta# set protocols ospf area 0.0.0.0 network 172.16.10.0/24
vyatta@vyatta# set protocols ospf redistribute connected         

vyattaCの場合

vyatta@vyatta# set protocols ospf parameters router-id 127.0.0.3
vyatta@vyatta# set protocols ospf area 0.0.0.0 network 172.16.10.0/24
vyatta@vyatta# set protocols ospf redistribute connected         

vyattaA、vyattaB、vyattaCに接続されているネットワークのうち、複数のルータが接続されているネットワークは「172.16.10.0/24」のみであるため、各vyattaではルータIDの設定のみが異なるだけで、同じコマンドを実行することで設定が完了しています。

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。