このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
演習ファイルのダウンロード
ファイルは Packet tracer Version 8.2.0 で作成しています。古いバージョンの Packet Tracer では、ファイルを開くことができませんので、最新の Packet Tracer を準備してください。
ネットワークの構成を Packet Tracer で一から設定していくのは大変かと思います。「ダウンロード」から演習で使用するファイルのダウンロードができます。ファイルは、McAfee インターネットセキュリティでウイルスチェックをしておりますが、ダウンロードは自己責任でお願いいたします。
マルチエリアOSPF(仮想リンク設定)
OSPFでは、すべてのエリアがエリア0と接続しなけらばならないというルールがあります。別のエリアと通信するには、エリア0を経由して通信を行わなけれなりません。
仮想リンクを使えば、エリア0と直接接続できないエリアでもエリア0と接続することができます。

使用するネットワークは、下図の構成となります。

ルータID(Router_ID)
ルータIDは、OSPFネットワークにおいて、DR、BDRを選出する際の判断基準となりました。仮想リンクの設定においても、ルータIDは、設定において重要になってきます。
ルータIDは、アクティブなインターフェイスのIPアドレスの内で最も大きいIPアドレスになります。ループバックアドレスが設定された場合は、ループバックアドレスが優先されます。
ルータIDは、管理者が静的に設定することもできます。ルータIDを静的に設定するには、以下のコマンドを使用します。
Router(config)#router ospf [プロセス番号]
Router(config-router)#router-id [IPアドレス]
今回は、ループバックアドレスを使用します。
仮想リンクについて
仮想リンクを設定するには、仮想リンクを張る相手側のルータのルータIDを指定します。

今回、使用するネットワークでは、
・R2ルータが仮想リンク用に、R3ルータ(相手側)のルータIDである「3.3.3.3」を指定
・R3ルータが仮想リンク用に、R2ルータ(相手側)のルータIDである「2.2.2.2」を指定
して、お互いに相手のルータIDを指定します。
基本設定
まずは、仮想リンクを用いないOSPFネットワークの設定を行います。
●R1のコンフィグ
Router>enable
Router#conf t
Router(config)#hostname R1
R1(config)#int Lo0
R1(config-if)#ip address 1.1.1.1 255.255.255.255
R1(config-if)#int g0/0
R1(config-if)#ip address 172.16.0.1 255.255.0.0
R1(config-if)#no shutdown
R1(config-if)#int g0/1
R1(config-if)#ip address 172.17.0.1 255.255.0.0
R1(config-if)#no shutdown
R1(config-if)#router ospf 1
R1(config-router)#passive-interface g0/0
R1(config-router)#network 172.16.0.0 0.0.255.255 area 0
R1(config-router)#network 172.17.0.0 0.0.255.255 area 0
R1(config-router)#end
R1#copy run start
●R2のコンフィグ
Router>enable
Router#conf t
Router(config)#hostname R2
R2(config)#int Lo0
R2(config-if)#ip address 2.2.2.2 255.255.255.255
R2(config-if)#int g0/0
R2(config-if)#ip address 172.17.0.2 255.255.0.0
R2(config-if)#no shutdown
R2(config-if)#int g0/1
R2(config-if)#ip address 172.18.0.1 255.255.0.0
R2(config-if)#no shutdown
R2(config-if)#router ospf 1
R2(config-router)#network 172.17.0.0 0.0.255.255 area 0
R2(config-router)#network 172.18.0.0 0.0.255.255 area 1
R2(config-router)#end
R2#copy run start
●R3のコンフィグ
Router>enable
Router#conf t
Router(config)#hostname R3
R3(config)#int Lo0
R3(config-if)#ip address 3.3.3.3 255.255.255.255
R3(config-if)#int g0/0
R3(config-if)#ip address 172.18.0.2 255.255.0.0
R3(config-if)#no shutdown
R3(config-if)#int g0/1
R3(config-if)#ip address 172.19.0.1 255.255.0.0
R3(config-if)#no shutdown
R3(config-if)#router ospf 1
R3(config-router)#passive-interface g0/1
R3(config-router)#network 172.18.0.0 0.0.255.255 area 1
R3(config-router)#network 172.19.0.0 0.0.255.255 area 2
R3(config-router)#end
R3#copy run start
ルーティングテーブルの確認:仮想リンク設定前
R1ルータのルーティングテーブルを確認してみます。
●R1ルータのルーティングテーブル
R1#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 NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, 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
Gateway of last resort is not set
1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1/32 is directly connected, Loopback0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/16 is directly connected, GigabitEthernet0/0
L 172.16.0.1/32 is directly connected, GigabitEthernet0/0
172.17.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.17.0.0/16 is directly connected, GigabitEthernet0/1
L 172.17.0.1/32 is directly connected, GigabitEthernet0/1
O IA 172.18.0.0/16 [110/2] via 172.17.0.2, 00:01:00, GigabitEthernet0/1
エリア2の「172.19.0.0」のエントリがありません。それは、エリア2がエリア0と直接つながっていないからです。
仮想リンクの設定
R2ルータ、R3ルータで仮想リンクの設定を行います。
仮想リンクの設定を行うには以下のコマンドを使用します。
Router(config-router)#area {area_id} virtual-link {router_id}
「area_id」には、仮想リンク上のエリア番号を指定します。

今回指定する「area_id」は、R2ルータ、R3ルータ間のエリア1を指定します。
「Router_id」は、対向ルータのルータIDを指定します。
・R2ルータ ・・・ 「3.3.3.3」
・R3ルータ ・・・ 「2.2.2.2」
R2ルータ、R3ルータで以下の設定を追加します。
R2(config)#router ospf 1
R2(config-router)#area 1 virtual-link 3.3.3.3
R3(config)#router ospf 1
R3(config-router)#area 1 virtual-link 2.2.2.2
ルーティングテーブルの確認:仮想リンク設定後
R1ルータのルーティングテーブルを確認します。
●R1ルータのルーティングテーブル
R1#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 NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, 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
Gateway of last resort is not set
1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1/32 is directly connected, Loopback0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/16 is directly connected, GigabitEthernet0/0
L 172.16.0.1/32 is directly connected, GigabitEthernet0/0
172.17.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.17.0.0/16 is directly connected, GigabitEthernet0/1
L 172.17.0.1/32 is directly connected, GigabitEthernet0/1
O IA 172.18.0.0/16 [110/2] via 172.17.0.2, 00:56:45, GigabitEthernet0/1
O IA 172.19.0.0/16 [110/3] via 172.17.0.2, 00:01:34, GigabitEthernet0/1
エリア2の「172.19.0.0」のエントリがあります。
このように、仮想リンクを使えば、エリア0と直接接続できないエリアでもエリア0と接続することができます。
仮想リンクは、OSPFで構築された企業同士が統合する時などに、一時的に使うものです。例えば、2社が合併する場合を考えてみると、両者ともエリア0を持っていることになります。この場合、統合が完全に完了するまで、暫定的に離れたエリア0と接続するために、仮想リンクを利用します。
仮想リンクは、あくまで、暫定的なものです。積極的に用いる手法ではありません。
次の「マルチエリアOSPF(集約ルートの設定)」では、エリア内のルートをルート集約してルーティングテーブルのエントリー数を少なくする方法を紹介します。