基本的なOSPFの設定方法 - TechRepublic

基本的なOSPFの設定方法 - TechRepublic

OSPF(Open Shortest Path First)は、オープンスタンダードに基づくルーティングプロトコルです。つまり、どのベンダーでもその機能を実装できます。Cisco、Juniper、その他の主要ネットワークベンダーは長年にわたり、自社のプラットフォームにOSPFを組み込んできました。OSPFを設定する際には、ルーティング情報を交換するためにいくつかの基本的な要件があります。まず、OSPFはHelloメカニズムを使用して、OSPFを実行している隣接デバイスを検出します。検出されると、OSPFは隣接関係の形成を試みます。隣接関係が確立されると、リンクステートアドバタイズメント(LSA)を使用してルーティング情報が交換されます。

Helloパケットは、まずしっかりと理解しておくべきものの一つです。次の図は、Helloパケットのフォーマットを示しています。

このパケットは、ネイバー関係の確立と維持を担うHelloプロトコルによって使用されます。Helloプロトコルは、ネイバー間の双方向通信も保証します。これらのパケットは、OSPFが有効になっているインターフェースから定期的に送信されます。ルータがパケットを受信し、自身のアドレスがリストされていることを確認すると、双方向通信が存在することを認識します。双方向通信が確立されると、マルチアクセスネットワークの場合は指定ルータ(DR)が選択されます。この記事ではこのプロセスについては説明しませんが、OSPFの不可欠な部分であるため、ここで強調しておきます。2つのデバイスがネイバーアップすると、リンクステートデータベースが同期されます。

参照: Linuxネットワークを簡単にする20の簡単なヒント

Cisco ルータ上でネイバー隣接関係を形成するように基本的な OSPF を設定するには、次の手順を実行します。

  1. OSPF を実行する必要があるネットワーク インターフェイスを特定します。
  2. OSPFエリアを特定する
  3. OSPFを有効にするために必要なコマンドを発行します

OSPFエリア5を使用し、ABR5とR5が事前に設定されている以下のトポロジを想定します。R6でOSPFを有効にする必要があります。

まず、OSPF設定モードに入ります。OSPFをプロセスIDで識別する必要があります。この場合は1です。

R6>en
R6#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R6(config)#router ospf 1
R6(config-router)#

次に、OSPFを実行する各インターフェースに対してネットワークステートメントを実行します。ネットワークトポロジに基づき、インターフェースg0/1とg0/2でOSPFを有効にします。ネットワークステートメントの形式は次のとおりです。

ネットワーク XXXX WWWW エリア A

この構文では、XXXXはネットワークアドレスを示します。WWWWはワイルドカードマスクです。AはエリアIDです。

R6(config-router)#network 10.0.0.80 0.0.0.3 area 5
R6(config-router)#network 10.0.0.84 0.0.0.3 area 5
R6(config-router)#

ワイルドカード マスクを識別する簡単な方法は、最後のオクテットのサブネット マスクを 255 から減算することです。この場合、255 - 252 - 3 となるため、ワイルドカード マスクは .3 で終わります。

次に、OSPFがネイバー接続を確立し、データベースが同期されていることを確認する必要があります。そのためには、show ip ospf neighborsコマンドを発行します。

R6#sh ip ospf neighbor
`
Neighbor ID Pri State Dead Time Address Interface`
192.168.0.10 1 FULL/DR 00:00:35 10.0.0.85 GigabitEthernet0/2`
192.168.0.9 1 FULL/BDR 00:00:31 10.0.0.81 GigabitEthernet0/1`
R6#`

出力からわかるように、2つのネイバーがあります。ネイバーIDは、ネイバー接続したIPアドレスではありません。OSPFプロトコルが有効になった際にOSPFによって選択されたルータIDです。この値は自動的に選択されるか、手動で設定できます。

次に、R6 上のリンク ステート データベースを見てみましょう。

R6#show ip ospf database

OSPF Router with ID (10.0.0.86) (Process ID 1)

Router Link States (Area 5)

Link ID ADV Router Age Seq# Checksum Link count
10.0.0.86 10.0.0.86 164 0x80000003 0x00EFF7 2
192.168.0.9 192.168.0.9 165 0x80000006 0x00A12F 2
192.168.0.10 192.168.0.10 229 0x80000006 0x00CC76 3

Net Link States (Area 5)

Link ID ADV Router Age Seq# Checksum
10.0.0.78 192.168.0.10 1598 0x80000004 0x004B3D
10.0.0.82 10.0.0.86 164 0x80000001 0x00C7E5
10.0.0.85 192.168.0.10 229 0x80000001 0x008313

Summary Net Link States (Area 5)

Link ID ADV Router Age Seq# Checksum
10.0.0.4 192.168.0.9 1630 0x80000004 0x00A217
10.0.0.8 192.168.0.9 1630 0x80000004 0x007046
10.0.0.12 192.168.0.9 1630 0x80000004 0x00486A
10.0.0.16 192.168.0.9 1630 0x80000004 0x00208E
10.0.0.20 192.168.0.9 1630 0x80000004 0x00F7B2
10.0.0.24 192.168.0.9 1630 0x80000004 0x00C5E1
10.0.0.28 192.168.0.9 1630 0x80000004 0x00A7FA
10.0.0.32 192.168.0.9 1630 0x80000004 0x007F1F
10.0.0.36 192.168.0.9 1630 0x80000004 0x005743
10.0.0.40 192.168.0.9 1630 0x80000004 0x002572
10.0.0.44 192.168.0.9 1630 0x80000004 0x00078B
10.0.0.48 192.168.0.9 1630 0x80000004 0x00DEAF
10.0.0.52 192.168.0.9 1630 0x80000005 0x00B4D4
10.0.0.56 192.168.0.9 1630 0x80000004 0x008EF7
10.0.0.60 192.168.0.9 1630 0x80000004 0x007011
10.0.0.64 192.168.0.9 1630 0x80000004 0x00344B
10.0.0.68 192.168.0.9 1630 0x80000005 0x001465
10.0.0.72 192.168.0.9 1630 0x80000004 0x00E393
192.168.0.1 192.168.0.9 1630 0x80000004 0x0099C1
192.168.0.2 192.168.0.9 1630 0x80000004 0x0099BF
192.168.0.3 192.168.0.9 1630 0x80000004 0x008FC8
192.168.0.4 192.168.0.9 1630 0x80000004 0x007BDC
192.168.0.5 192.168.0.9 1630 0x80000004 0x0071E5
192.168.0.6 192.168.0.9 1630 0x80000004 0x0071E3
192.168.0.8 192.168.0.9 1630 0x80000005 0x005102
192.168.0.9 192.168.0.9 1630 0x80000004 0x003F15
R6#

データベースを R5 と比較すると、具体的にはシーケンス番号で、同期されていることがわかります。

R5#sh ip ospf database

OSPF Router with ID (192.168.0.10) (Process ID 1)

Router Link States (Area 5)

Link ID ADV Router Age Seq# Checksum Link count
10.0.0.86 10.0.0.86 193 0x80000003 0x00EFF7 2
192.168.0.9 192.168.0.9 194 0x80000006 0x00A12F 2
192.168.0.10 192.168.0.10 257 0x80000006 0x00CC76 3

Net Link States (Area 5)

Link ID ADV Router Age Seq# Checksum
10.0.0.78 192.168.0.10 1626 0x80000004 0x004B3D
10.0.0.82 10.0.0.86 193 0x80000001 0x00C7E5
10.0.0.85 192.168.0.10 257 0x80000001 0x008313

Summary Net Link States (Area 5)

Link ID ADV Router Age Seq# Checksum
10.0.0.4 192.168.0.9 1658 0x80000004 0x00A217
10.0.0.8 192.168.0.9 1658 0x80000004 0x007046
10.0.0.12 192.168.0.9 1658 0x80000004 0x00486A
10.0.0.16 192.168.0.9 1658 0x80000004 0x00208E
10.0.0.20 192.168.0.9 1658 0x80000004 0x00F7B2
10.0.0.24 192.168.0.9 1658 0x80000004 0x00C5E1
10.0.0.28 192.168.0.9 1658 0x80000004 0x00A7FA
10.0.0.32 192.168.0.9 1658 0x80000004 0x007F1F
10.0.0.36 192.168.0.9 1658 0x80000004 0x005743
10.0.0.40 192.168.0.9 1658 0x80000004 0x002572
10.0.0.44 192.168.0.9 1658 0x80000004 0x00078B
10.0.0.48 192.168.0.9 1658 0x80000004 0x00DEAF
10.0.0.52 192.168.0.9 1658 0x80000005 0x00B4D4
10.0.0.56 192.168.0.9 1658 0x80000004 0x008EF7
10.0.0.60 192.168.0.9 1658 0x80000004 0x007011
10.0.0.64 192.168.0.9 1658 0x80000004 0x00344B
10.0.0.68 192.168.0.9 1658 0x80000005 0x001465
10.0.0.72 192.168.0.9 1658 0x80000004 0x00E393
192.168.0.1 192.168.0.9 1658 0x80000004 0x0099C1
192.168.0.2 192.168.0.9 1658 0x80000004 0x0099BF
192.168.0.3 192.168.0.9 1658 0x80000004 0x008FC8
192.168.0.4 192.168.0.9 1658 0x80000004 0x007BDC
192.168.0.5 192.168.0.9 1658 0x80000004 0x0071E5
192.168.0.6 192.168.0.9 1658 0x80000004 0x0071E3
192.168.0.8 192.168.0.9 1658 0x80000005 0x005102
192.168.0.9 192.168.0.9 1658 0x80000004 0x003F15

最後に、R6 のルーティング テーブルに OSPF ルートが設定されているかどうかを確認しましょう。

R6#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
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
a - application route
replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 23 subnets, 2 masks
O IA 10.0.0.4/30 [110/4] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.8/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.12/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.16/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.20/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.24/30 [110/2] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.28/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.32/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.36/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.40/30 [110/2] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.44/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.48/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.52/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.56/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.60/30 [110/4] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.64/30 [110/2] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.68/30 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 10.0.0.72/30 [110/2] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O 10.0.0.76/30 [110/2] via 10.0.0.85, 00:06:30, GigabitEthernet0/2
[110/2] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
C 10.0.0.80/30 is directly connected, GigabitEthernet0/1
L 10.0.0.82/32 is directly connected, GigabitEthernet0/1
C 10.0.0.84/30 is directly connected, GigabitEthernet0/2
L 10.0.0.86/32 is directly connected, GigabitEthernet0/2
192.168.0.0/32 is subnetted, 9 subnets
O IA 192.168.0.1 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 192.168.0.2 [110/4] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 192.168.0.3 [110/4] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 192.168.0.4 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 192.168.0.5 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 192.168.0.6 [110/4] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 192.168.0.8 [110/3] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O IA 192.168.0.9 [110/2] via 10.0.0.81, 00:05:24, GigabitEthernet0/1
O 192.168.0.10 [110/2] via 10.0.0.85, 00:06:30, GigabitEthernet0/2
R6#

ご覧の通り、OSPFルートを受信して​​います。実際には、トポロジーに表示されていない宛先へのルートがさらに受信されています。これは、トポロジーのごく一部にしか注目していないためです。ABR5は他の複数のルータに接続され、バックボーンを形成し、他のエリア間でルートを交換していますが、実際には表示されていません。当然のことながら、これはOSPFに関するさらなる疑問を生じさせますが、現状では基本的なOSPFの設定が完了しており、R6でトラフィックをルーティングできるようになりました。

こちらもご覧ください:
LinuxマシンのDNSキャッシュをdnsmasqで高速化する方法
Synology NASをVMwareラボに統合する方法
VMware NSX: 賢い人のためのガイド
NGINXでgzip圧縮を構成する方法

Tagged: