RIPの設定 - Catalyst

CatalystでRIPを設定するコマンドの使い方について説明したページです。RIPの動作や意味については「RIP」をご参照下さい。

RIPv1の基本設定

 以下の図を例に設定を説明します。

RIPの設定1

 スイッチAでは172.16.3.0のサブネット、スイッチBでは172.16.1.0のサブネットの経路がRIPで受信出来るようにスイッチA、BでRIPの設定を行います。

 最初にスイッチAの設定ですが、RIPの設定をする前にVLANにアドレスを設定したり、インターフェースにVLANを割り当てたり、ルーティングを有効にする必要があります。

【VLAN間ルーティングの設定】
Switch# configure terminal
Switch(config)# interface vlan 10
Switch(config-if)# ip address 172.16.1.1 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface vlan 20
Switch(config-if)# ip address 172.16.2.1 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface gigabitethernet1/0/2
Switch(config-if)# switchport
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# ip routing

 上記は「スタティックルーティングの設定」で示した通り、VLAN間でルーティング出来るようにする設定です。

 スイッチAのRIPv1の設定は以下の通りです。

【RIPv1の設定】
Switch(config)# router rip
Switch(config-rouer)# network 172.16.0.0
Switch(config-rouer)# exit

 network 172.16.0.0の部分はRIPを使うネットワークを指定します。例えば192.168.1.0のネットワークも使う場合は別途network 192.168.1.0を指定します。指定は複数可能です。

 スイッチBでも設定は同様です。

ルーティングテーブルの確認

 ルーティングテーブルはshow ip routeコマンドで確認出来ます。

【ルーティングテーブルの確認】
Switch# show ip route
Codes:L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
      N1 - OSPF NSSA external type 1, N2 - OSPF external type 2
      E1 -OSPF external type 1, E2 - OSPF external type 2
      i IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
      ia - IS-IS inter area, + - candidate default, U - per-user static route
      o - ODR, P - periodic downloaded static route, H -NHRP, l - LISP
      + - replicated route, % - next hop override

      Gateway of last resort is not set

    172.16.0.0 is variably subnetted, 3 subnets, 2 masks
C       172.16.1.0/24 is directly connected, Vlan10
L       172.16.1.1/32 is directly connected, Vlan10
C       172.16.2.0/24 is directly connected, Vlan20
L       172.16.2.1/32 is directly connected, Vlan20
R       172.16.3.0/24 [120/1] via 192.168.2.2, 00:00:20 Vlan20

 上記で赤字部分のRがRIPで受信した経路を示しています。RIPを設定した後は、このRの経路が表示されている事を確認します。

 因みに、Cは自身が接続されているサブネット、Lは自身に設定されたIPアドレスを示します。

 ルーティングテーブルに表示されない場合、原因は様々ですが、フィルタリングによりRIPが遮断されている可能性もあります。大丈夫と思っても一旦フィルタリングを外してみると反映される事も多いと思います。

RIPv2の基本設定

 RIPv1の図と同じネットワークでスイッチA〜B間をRIPv2にする場合、スイッチAの設定は以下の通りです。

【RIPv2の設定】
Switch# configure terminal
Switch(config)# interface vlan 10
Switch(config-if)# ip address 172.16.1.1 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface vlan 20
Switch(config-if)# ip address 172.16.2.1 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface gigabitethernet1/0/2
Switch(config-if)# switchport
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# ip routing
Switch(config)# router rip
Switch(config)# version 2
Switch(config-rouer)# network 172.16.0.0
Switch(config-rouer)# exit

 RIPv1と殆ど同じですが、versionコマンドが追加されています。デフォルトではRIPv1を送受信し、RIPv2は受信だけします。このため、RIPv1では設定は不要でRIPv2を使う時だけversionコマンドで指定します。

 RIPv1の時もRIPv2を受信したくない場合はversion 1と指定出来ます。

 又、以下のようにVLANインターフェースに対しても設定出来ます。

【VLANインターフェースへのRIPv2設定】
Switch(config)# interface vlan 10
Switch(config-if)# ip rip send version 2
Switch(config-if)# ip rip receive version 2
Switch(config-if)# exit

 上記のように設定すると、VLAN10はRIPv2で送受信し、他のVLANはRIPv1を使います。

ホップ数の設定

 以下の図のようにスイッチAからスイッチDに至る経路が2通りあり、スイッチBの経路を優先したい場合を例にホップ数を追加する設定を示します。

RIPの設定2

 インターフェースやVLAN、RIPの設定はこれまでと同じです。スイッチAではホップ数を追加するために以下の設定を追加します。

【受信時のホップ数追加の設定】
Switch(config)# access-list 1 permit 172.16.1.0 0.0.0.255
Switch(config)# router rip
Switch(config-router)# offset-list 1 in 1 vlan20
Switch(config-rouer)# exit

 access-listコマンドの後に指定した1はアクセスリストの番号を示すため、1〜99で好きな番号を指定します。permitの後の172.16.1.0はホップ数を追加するサブネット番号、0.0.0.255はワイルドカードといってサブネットマスクのビットを反転させたものです。

 offset-listに続く1はアクセスリストの番号を示すため、access-listコマンドで指定した番号と合わせる必要があります。1の後のinはRIP受信時にホップ数を追加する事を示し、inの後の番号は追加するホップ数を示しています。最後のvlan20は指定したインターフェースから受信した場合にホップ数を追加するよう設定しています。

 RIPでは受信時にホップ数を1追加してルーティングテーブルに反映させますが、上記設定で更に1追加する事になります。つまり、VLAN20で受信したRIPでサブネット172.16.1.0/24はホップ数が2となり、スイッチCの経路はホップ数が多いためスイッチBの経路が優先されます。

 スイッチDでも同様の設定をすればスイッチA〜D間は行きも帰りもスイッチBの経路が優先されます。

 又、スイッチAではなくスイッチCで設定する方法もあります。設定方法は以下の通りで、インターフェースやVLAN、RIPの初期設定は同様に省略します。

【送信時のホップ数追加の設定】
Switch(config)# access-list 1 permit any
Switch(config)# router rip
Switch(config-router)# offset-list 1 out 1
Switch(config-rouer)# exit

 今度はaccess-listでanyを設定しています。これは全てのサブネットに適用される事を示しています。又、offset-listでoutが指定されています。これはRIPで送信する際にホップ数を1追加して送信する事を意味しています。又、今回はインターフェースを指定していないので全てのインターフェースに対して適用されます。このため、スイッチA、D共にスイッチCからホップ数が追加されたRIPを受信し、スイッチC側の経路がスイッチBより遠いと判断します。

経路情報をフィルタリングする設定

 例えば以下の図でスイッチBからスイッチAには172.16.4.0の経路を教えたくないとします。

RIPの設定3

 この場合はフィルタリングでスイッチBからのRIPで172.16.4.0を流さないように出来ます。設定はスイッチBで以下を追加します。

【RIP送信時の経路のフィルタリング(deny)】
Switch(config)# access-list 1 deny 172.16.4.0 0.0.0.255
Switch(config)# access-list 1 permit any
Switch(config)# router rip
Switch(config-router)# distribute-list 1 out vlan10
Switch(config-rouer)# exit

 アクセスリストでは172.16.4.0のサブネットを不許可にし、それ以外をanyで許可しています。

 このアクセスリストをdistribute-listの後の数字1で指定し、VLAN10のRIPの送信時に適用する設定をしています。

 つまり、172.16.4.0/24はスイッチBからVLAN10に流さないという設定になるため、スイッチAではスイッチBから172.16.3.0だけ経路を受信します。

 この設定ではスイッチBに172.16.5.0のサブネットが追加された時、スイッチAはRIPで172.16.5.0の経路を知る事が出来ます。

 他の設定方法として上の例とは逆に172.16.3.0だけ流れるようにするにはスイッチBで以下を追加します。

【RIP送信時の経路のフィルタリング(permit)】
Switch(config)# access-list 1 permit 172.16.3.0 0.0.0.255
Switch(config)# router rip
Switch(config-router)# distribute-list 1 out vlan10
Switch(config-rouer)# exit

 この設定ではスイッチBに172.16.5.0のサブネットが追加された時、スイッチAにRIPで172.16.5.0の経路を送信しません。

 又、スイッチBはルーティングテーブルを簡単にしたいため、スイッチAからの経路はデフォルトルートだけ反映させたい場合は以下の設定をスイッチBに追加します。

【RIP受信時の経路のフィルタリング(in)】
Switch(config)# access-list 1 permit 0.0.0.0
Switch(config)# router rip
Switch(config-router)# distribute-list 1 in vlan10
Switch(config-rouer)# exit

 上記でスイッチBはvlan10から受信したRIPでは0.0.0.0というデフォルトルートだけルーティングテーブルに反映するようになります。

スタティックルートやOSPFの経路を再配布する設定

 以下の図のようにスイッチBで172.16.1.0/24への経路をスタティックルートで設定しているとします。

RIPの設定4

 スイッチAとの間ではRIPでやりとりしているため、このスタティックルートもRIPで配信したい場合はスイッチBで以下の設定を追加します。

【経路の再配布(スタティックルート)】
Switch(config)# ip route 172.16.1.0 255.255.255.0 172.16.2.1
Switch(config)# router rip
Switch(config-router)# redistribute static metric 1
Switch(config-rouer)# exit

 緑の文字はスタティックルートの設定です。宛先172.16.1.0のネットワークのゲートウェイを172.16.2.1と設定しています。

 赤字の部分がスタティックルートを再配布する設定で、上記ではスタティックルート172.16.1.0をホップ数1でRIPの送信を行う設定をしています。metricの後の数字を変える事でホップ数を変更出来ます。

 デフォルトルートも同様にスタティックルートで設定していれば再配布可能です。

 スタティックルートをRIPに再配布する場合はスプリットホライズンに注意して下さい。詳細はトラブル対応の「サブネット追加で通信不可」をご参照下さい。

 又、OSPFの経路をRIPで再配布するためには以下のように設定します。

【経路の再配布(OSPF)】
Switch(config)# router ospf 1
Switch(config-router)# network 172.16.0.0 0.0.255.255 area 0.0.0.0
Switch(config-rouer)# exit
Switch(config)# router rip
Switch(config-router)# redistribute ospf 1 metric 1
Switch(config-rouer)# exit

 緑の文字はOSPFの設定です。赤字がOSPFをRIPに再配布する設定で、スタティックルートの時と殆ど同じです。redistribute ospfの後の1はプロセス番号で、router ospfの後の番号と合わせる必要があります。

 又、OSPFで受信した経路をRIPで流す際にフィルタリングしたい場合は以下のように設定します。

【経路の再配布時のフィルタリング(ospf)】
Switch(config)# access-list 1 permit 172.16.3.0 0.0.0.255
Switch(config)# route-map ospf-to-rip deny 10
Switch(config-route-map)# match ip address 1
Switch(config-route-map)# exit
Switch(config)# route-map ospf-to-rip permit 20
Switch(config-route-map)# exit
Switch(config)# router rip
Switch(config-router)# redistribute ospf 1 metric 1 route-map ospf-to-rip
Switch(config-rouer)# exit

 上記の設定でOSPFで受信した内、172.16.3.0/24の経路を除きRIPで送信するようになります。

 留意点としてはaccess-listでpermitになっていてroute-mapでdenyになっている点です。access-listでは172.16.3.0/24をpermitして限定し、route-mapではそれを拒否する事でその経路を除く設定になっています。

RIPの設定5

 これはスタティックルートに対しても設定可能で以下のようになります。

【経路の再配布時のフィルタリング(スタティック)】
Switch(config)# access-list 2 permit 172.16.4.0 0.0.0.255
Switch(config)# route-map static-to-rip deny 10
Switch(config-route-map)# match ip address 2
Switch(config-route-map)# exit
Switch(config)# route-map static permit 20
Switch(config-route-map)# exit
Switch(config)# router rip
Switch(config-router)# redistribute static metric 1 route-map static-to-rip
Switch(config-rouer)# exit

 上記の設定でスタティックルートからの再配布は172.16.4.0/24を除き再配送されます。

デフォルトルートを常に送信

 ルーティングテーブルにデフォルトルートがあればRIPで送信しますが、デフォルトルートがない場合でも送信したい場合があります。

 例えば以下の図のようにスイッチBのデフォルトルートはスタティックルーティングやOSPF等でスイッチAに向いており、スイッチCへはスイッチBから再配送によりRIPでデフォルトルートだけを送信しているとします。

RIPの設定6

 この場合、スイッチCからスイッチDへの通信でもデフォルトルートを使っていて、スイッチAがダウンするとスイッチBのデフォルトルートがルーティングテーブルからなくなり、スイッチCのデフォルトルートも消えてしまう可能性があります。スイッチCのデフォルトルートが消えるとスイッチDとの間で通信不可になってしまいますが、これを防ぐ為にスイッチBからスイッチCに常にデフォルトルートを配信する事が出来ます。

 スイッチBの設定は以下の通りで、インターフェースやVLAN、RIPの初期設定は同様に省略します。

【デフォルトルートを常に送信する設定】
Switch(config)# router rip
Switch(config-router)# default-information originate
Switch(config-rouer)# exit

 この設定でスイッチAがダウンしてスイッチBのデフォルトルートがルーティングテーブルからなくなっても、スイッチBからスイッチCに対してデフォルトルートが送信されます。

RIPを送信しないインターフェースの設定

 RIPを送信したくないインターフェースがある場合は以下のコマンドを追加します。

【RIPの送信停止】
Switch(config)# router rip
Switch(config-router)# passive-interface vlan10
Switch(config-rouer)# exit

 上記はvlan10にRIPを流さない設定ですがRIPの受信は行います。受信も止めたい場合はdistribute-listを使う必要がありますが、OSPFでやりとりするインターフェース等、RIPが不要なインターフェースに対してフィルタリングの設定をする事なく簡単にRIPを事実上停止出来ます。

アドレスの集約をしない設定

 以下の図のようにサブネットが分断されたネットワークがあるとします。172.18.1.0/24と172.18.2.0/24はクラスBの172.18.0.0という同じネットワークアドレスで間に172.17.0.0のネットワークが挟まっています。

 このためRIPではルート集約されてしまい、スイッチBからもスイッチCからも172.18.0.0というネットワークアドレスがRIPで流れます。スイッチAのルーティングテーブルで172.18.0.0という経路に対するゲートウェイは1つだけ反映されるため、スイッチAからは172.18.1.0か172.18.2.0のどちらかのサブネットしか通信出来ません。

RIPの設定7

 RIPv1ではこれを防げませんが、RIPv2では以下の設定を追加する事でアドレスの集約をしないように出来ます。

【RIPv2でのアドレスの集約の停止】
Switch(config)# router rip
Switch(config-router)# no auto-summary
Switch(config-rouer)# exit

 上記の設定により、スイッチBからは172.18.1.0/24、スイッチCからは172.18.2.0/24というサブネットでRIPが送信され、スイッチAのルーティングテーブルで2つのサブネットに対する経路が反映されます。

RIP設定時の考慮点

 RIPを動作させるだけであれば、最初に示した基本設定を行い、RIPv2を使う時はバージョンを設定すれば動作します。

 ある程度の規模になると、コアスイッチを2台でアクティブ、スタンバイにするためホップ数の変更が必要であったり、OSPFやスタティックルーティングと併用している場合もあり、上記で説明したオプション設定のどれか、又は複数が必要になります。

サイト関連1

応用編「RIP
  • このエントリーをはてなブックマークに追加