OSPFのルートフィルタ その4 For CCIE R&S ラボ試験

(所属カテゴリー:IPルーティング | シスコ---投稿日時:2009年6月19日)

OSPFルートフィルタ実機確認 ネットワーク構成

前回までで解説したOSPFのルートフィルタの動作について、Ciscoルータで実際に確認します。まずは、下記のネットワーク構成で考えます。

ospf_filter05.jpg
図 ネットワーク構成

R1、R2、R3の初期設定を抜粋したものが下記のログです。

R1 初期設定抜粋

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Serial1/0
 ip address 10.1.12.1 255.255.255.0
 clock rate 64000
!
interface Serial1/1
 ip address 10.1.13.1 255.255.255.0
 clock rate 64000
!
router ospf 100
 router-id 1.1.1.1
 log-adjacency-changes
 network 10.1.12.0 0.0.0.255 area 0
 network 10.1.13.0 0.0.0.255 area 0
!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2 初期設定抜粋

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback0
 ip address 172.16.1.2 255.255.255.0
 ip ospf network point-to-point
!
interface Loopback1
 ip address 172.16.2.2 255.255.255.0
 ip ospf network point-to-point
!
interface Loopback2
 ip address 172.16.3.2 255.255.255.0
 ip ospf network point-to-point
!
interface Serial0/0
 ip address 10.1.12.2 255.255.255.0
!
router ospf 100
 router-id 2.2.2.2
 log-adjacency-changes
 network 10.1.12.0 0.0.0.255 area 0
 network 172.16.0.0 0.0.255.255 area 0
!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R3 初期設定抜粋

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback0
 ip address 192.168.1.3 255.255.255.0
 ip ospf network point-to-point
!
interface Loopback1
 ip address 192.168.2.3 255.255.255.0
 ip ospf network point-to-point
!
interface Loopback2
 ip address 192.168.3.3 255.255.255.0
 ip ospf network point-to-point
!
interface Serial0/0
 ip address 10.1.13.3 255.255.255.0
!
router ospf 100
 router-id 3.3.3.3
 log-adjacency-changes
 network 10.1.13.0 0.0.0.255 area 0
 network 192.168.0.0 0.0.255.255 area 0
!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

このネットワーク構成でR1でOSPFのルートフィルタの動作を確認します。フィルタをかけていないときのR1のルーティングテーブルは次のようになります。

R1 ルーティングテーブル

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show ip route
~省略~
Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 3 subnets
O       172.16.1.0 [110/782] via 10.1.12.2, 00:04:21, Serial1/0
O       172.16.2.0 [110/782] via 10.1.12.2, 00:04:21, Serial1/0
O       172.16.3.0 [110/782] via 10.1.12.2, 00:04:21, Serial1/0
     10.0.0.0/24 is subnetted, 2 subnets
C       10.1.13.0 is directly connected, Serial1/1
C       10.1.12.0 is directly connected, Serial1/0
O    192.168.1.0/24 [110/782] via 10.1.13.3, 00:04:21, Serial1/1
O    192.168.2.0/24 [110/782] via 10.1.13.3, 00:04:21, Serial1/1
O    192.168.3.0/24 [110/782] via 10.1.13.3, 00:04:23, Serial1/1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

また、R1のLSDBのサマリーは次の出力です。

R1 LSDBサマリー

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show ip ospf database

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         354         0x80000005 0x0054F1 4
2.2.2.2         2.2.2.2         351         0x80000003 0x000EE0 5
3.3.3.3         3.3.3.3         285         0x80000007 0x009247 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

現在の構成は、シングルエリアでなおかつマルチアクセスのネットワークがありません。そのため、R1のLSDBは各ルータが生成したLSAタイプ1のみで構成されていることがわかります。

インタフェースを対象としたoutのフィルタ

まずは、OSPFでは機能しないインタフェースを対象としたout方向のフィルタの設定を行います。
R1のSerial1/0のoutで、192.168.1.0/24を送信しないようなフィルタを設定します。R1で、次のようにコマンドを入力していきます。


R1 Serial1/0のoutで192.168.1.0/24をフィルタ

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1(config)#access-list 1 deny 192.168.1.0
R1(config)#access-list 1 permit any
R1(config)#router ospf 100
R1(config-router)#distribute-list 1 out serial 1/0
% Interface not allowed with OUT for OSPF
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

outでインタフェースを指定すると、エラーメッセージが出てくることがわかります。そして、コマンドは受け付けられません。次のようにインタフェースを指定しないで設定すれば、コマンド自体は受け付けられます。

R1 インタフェースを指定せずにoutのディストリビュートリスト

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1(config)#router ospf 100
R1(config-router)#distribute-list 1 out
R1(config-router)#do show run
~省略~
router ospf 100
 router-id 1.1.1.1
 log-adjacency-changes
 network 10.1.12.0 0.0.0.255 area 0
 network 10.1.13.0 0.0.0.255 area 0
 distribute-list 1 out
~省略~
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ただし、コマンドが受け付けられても、実際には想定したようなフィルタは一切かかっていません。R2のルーティングテーブルを見ると、192.168.1.0/24のルートが載せられています。

R2 ルーティングテーブル

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ip route
~省略~
Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 3 subnets
C       172.16.1.0 is directly connected, Loopback0
C       172.16.2.0 is directly connected, Loopback1
C       172.16.3.0 is directly connected, Loopback2
     10.0.0.0/24 is subnetted, 2 subnets
O       10.1.13.0 [110/845] via 10.1.12.1, 00:14:59, Serial0/0
C       10.1.12.0 is directly connected, Serial0/0
O    192.168.1.0/24 [110/846] via 10.1.12.1, 00:14:59, Serial0/0
O    192.168.2.0/24 [110/846] via 10.1.12.1, 00:14:59, Serial0/0
O    192.168.3.0/24 [110/846] via 10.1.12.1, 00:15:00, Serial0/0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

インタフェースを省略すると、全インタフェースが対象です。しかし、OSPFではインタフェースを対象としたディストリビュートリストは機能していないことがわかります。

OSPFのディストリビュートリストでoutの後は、ルーティングプロトコルを指定するとこで、再配送時のルートフィルタを行うことができます。このことについては、別途、あらためて解説します。


inのフィルタ

次にディストリビュートリストをinで適用してフィルタします。
R1で172.16.3.0/24のルートをディストリビュートリストのinによって、フィルタします。R1で、次のように設定します。

R1 Serial1/0のinで172.16.3.0/24をフィルタ

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1(config)#access-list 2 deny 172.16.3.0
R1(config)#access-list 2 permit any
R1(config)#router ospf 100
R1(config-router)#distribute-list 2 in serial 1/0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

そして、R1のルーティングテーブルを見ると、172.16.3.0/24のルートがなくなっています。

R1 ルーティングテーブル

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#sh ip route
~省略~
Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 2 subnets
O       172.16.1.0 [110/782] via 10.1.12.2, 00:00:16, Serial1/0
O       172.16.2.0 [110/782] via 10.1.12.2, 00:00:16, Serial1/0
     10.0.0.0/24 is subnetted, 2 subnets
C       10.1.13.0 is directly connected, Serial1/1
C       10.1.12.0 is directly connected, Serial1/0
O    192.168.1.0/24 [110/782] via 10.1.13.3, 00:00:16, Serial1/1
O    192.168.2.0/24 [110/782] via 10.1.13.3, 00:00:16, Serial1/1
O    192.168.3.0/24 [110/782] via 10.1.13.3, 00:00:16, Serial1/1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ただし、LSA自体はフィルタしていません。この状態で、R1のLSDBのサマリーを確認します。

R1 LSDBサマリー

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show ip ospf database

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         1839        0x80000005 0x0054F1 4
2.2.2.2         2.2.2.2         1836        0x80000003 0x000EE0 5
3.3.3.3         3.3.3.3         1770        0x80000007 0x009247 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

「Age」の部分を除いて、初期状態のときとLSDBのサマリーはいっさい変わっていません。前回解説したようにLSAのフィルタではなく、ルーティングテーブルにルートを登録するときにフィルタをかけています。
なお、inでインタフェースを指定したときは、出力インタフェースが指定したインタフェースであるルートが対象です。次のように設定を変更すれば、フィルタはかからなくなります。

R1 インタフェースの変更

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1(config)#router ospf 100
R1(config-router)#no distribute-list 2 in serial 1/0
R1(config-router)#distribute-list 2 in serial 1/1
R1(config-router)#do show ip route
~省略~
Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 3 subnets
O       172.16.1.0 [110/782] via 10.1.12.2, 00:00:30, Serial1/0
O       172.16.2.0 [110/782] via 10.1.12.2, 00:00:30, Serial1/0
O       172.16.3.0 [110/782] via 10.1.12.2, 00:00:30, Serial1/0
     10.0.0.0/24 is subnetted, 2 subnets
C       10.1.13.0 is directly connected, Serial1/1
C       10.1.12.0 is directly connected, Serial1/0
O    192.168.1.0/24 [110/782] via 10.1.13.3, 00:00:30, Serial1/1
O    192.168.2.0/24 [110/782] via 10.1.13.3, 00:00:30, Serial1/1
O    192.168.3.0/24 [110/782] via 10.1.13.3, 00:00:31, Serial1/1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

これは、R1では172.16.3.0/24のルートの出力インタフェースがSerial1/0であるためです。また、インタフェースの指定を省略すれば全インタフェースが対象となります。そのため、172.16.3.0/24のルートはルーティングテーブルに載らなくなります。

R1 インタフェースの省略

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1(config-router)#no distribute-list 2 in serial 1/1
R1(config-router)#distr
R1(config-router)#distribute-list 2 in
R1(config-router)#do show ip rou
~省略~
Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 2 subnets
O       172.16.1.0 [110/782] via 10.1.12.2, 00:00:03, Serial1/0
O       172.16.2.0 [110/782] via 10.1.12.2, 00:00:03, Serial1/0
     10.0.0.0/24 is subnetted, 2 subnets
C       10.1.13.0 is directly connected, Serial1/1
C       10.1.12.0 is directly connected, Serial1/0
O    192.168.1.0/24 [110/782] via 10.1.13.3, 00:00:03, Serial1/1
O    192.168.2.0/24 [110/782] via 10.1.13.3, 00:00:03, Serial1/1
O    192.168.3.0/24 [110/782] via 10.1.13.3, 00:00:03, Serial1/1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


OSPFを本格的に学ぶなら!Gene製作の究めるシリーズ&セミナー教材セットがお勧め!


Google
Web n-study.com

各コンテンツの最新記事

有料コンテンツライブラリ(ITエンジニア教育資料)

ネットワーク技術雑誌レビュー

ベンダ資格受験記

オススメ!ネットワーク技術雑誌・書籍

MindMapでおべんきょ

結果を出せるコーチング

Geneのつぶやき

The Power of Words

スポンサードリンク

スポンサードリンク