UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Cisco - Cisco OSPF



■OSPFの設定


実際のOSPFの設定例です。


(config)# router ospf [ProcessID]


上記のコマンドでospfを有効にします。プロセスIDは1~65535から選択可能であり他のルータと一致させる必要はありません。


(config)# router ospf 110
(config-router)# router-id 192.168.1.1
(config-router)# auto-cost reference-bandwidth 10000


上記でルータIDを192.168.1.1に指定しています。

そしてコストを算出するための100Mを10Gにauto-costコマンドで変更しています。注意すべきなのは1台だけのルータで設定するのではなくOSPFに参加しているルータ全てで同一の設定を行う必要があります。この設定を行うことにより帯域幅に応じたコスト値は次のようになります。


帯域 コスト
10M 10G÷10M=1000
100M 10G÷100M=100
1G 10G÷1G=0.1=10
10G 10G÷10G=0.01=1


明示的な指定をしなければ上記のコストがインターフェイスに適用されますが次のコマンドで上書きすることもできます。


(config)# interface VlanX
(config-if)# ip ospf cost 50


OSPFはセグメントごとにDR/BDRが選出されます。プライオリティ値が最も高いものがDRに選出されますがそのプライオリティをインターフェイスごとに設定するコマンドが下記です。


(config)# interface VlanX
(config-if)# ip ospf priority 15


OSPFで動作させるネットワークを以下のコマンドで指定します。ネットマスクではなくワイルドカードマスクが利用されます。これに指定したネットワークはOSPFドメインの全てのネットワークにアドバタイズ(広報)されます。


(config)# router ospf 110
(config-router)# network 192.160.0.0 0.0.0.255 area 0
(config-router)# network 192.168.1.0 0.0.0.255 area 0


そのOSPFルータからデフォルトルートをOSPFに配信する場合は以下のコマンドを投入します。alwaysキーワードは常にデフォルトルートを配信し、つけなければルーティングテーブルにデフォルトルートが存在する場合のみ配信します。]他のルータからみたデフォルトルートの最終的なネクストホップは下記を設定したルータのアドレスになります。


(config)# router ospf 110
(config-router)# default-information originate [always]


Helloパケット送出を以下のコマンドで抑制できます。接続しているセグメントにOSPFルータが自身しかいない場合、Helloパケットを出しても意味がありませんのでその場合は以下のコマンドでHelloコマンドを停止することをおすすめします。


(config)# router ospf 110
(config-router)# passive-interface VlanX
(config-router)# passive-interface VlanY


他のOSPFルータと隣接関係を確立する際にあらかじめ設定しておいたパスワードが一致したときのみ確立するよう設定できます。これにはシンプルパスワードを使う方法とMD5認証を使い二つのケースがあります。シンプルパスワードはパスワーが平文で流れるのに対してMD5はハッシュで暗号化されたものが流れますのでセキュリティ強度を考慮すればMD5認証のほうが望ましいです。

下記ではシンプルパスワードを使う際の設定です。パスワードはciscoに設定しています。


(config)# router ospf 110
(config-router)# area 0 authentication

(config)# interface VlanX
(config-if)# ip ospf authentication-key cisco


下記ではMD5認証を使う際の設定で、認証キーを1にパスワードをciscoに設定しています。


(config)# router ospf 110
(config-router)# area 0 authentication message-digest

(config)# interface VlanX
(config-if)# ip ospf message-digest-key 1 md5 cisco


■OSPFの経路再配布/制御


大規模なネットワークになるほど、1つのルーティングプロトコルのみで運用しているところは少ないと思います。OSPFなどのダイナミックルーティングプロトコルを使用しているところならStaticRoutingは少なからず入り混じってると思います。こういった場合、Static経路をOSPFに再配布する必要があります。



上の構成図でR2とR3では以下のようなコンフィグで設定しています。


【 R2 】
router ospf 110
 log-adjacency-changes
 redistribute static subnets
 network 192.168.0.0 0.0.0.255 area 0
 network 192.168.2.0 0.0.0.255 area 0
!
ip forward-protocol nd
ip route 172.16.0.0 255.255.255.0 192.168.2.1
ip route 172.16.1.0 255.255.255.0 192.168.2.1
ip route 172.16.2.0 255.255.255.0 192.168.2.1

【 R3 】
router ospf 110
 log-adjacency-changes
 redistribute static subnets
 network 192.168.1.0 0.0.0.255 area 0
 network 192.168.3.0 0.0.0.255 area 0
!
ip forward-protocol nd
ip route 172.16.0.0 255.255.255.0 192.168.3.1
ip route 172.16.1.0 255.255.255.0 192.168.3.1
ip route 172.16.2.0 255.255.255.0 192.168.3.1


このとき、R1のルーティングテーブルは以下のようになります。172.16に対する経路は2つ存在し、R2/R3から同条件で再配布しているのでメトリックも全く同一となりバランスされる状態になります。


R1# show ip route
Codes: 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

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 3 subnets
O E2    172.16.0.0 [110/20] via 192.168.1.2, 00:00:04, FastEthernet0/1
                   [110/20] via 192.168.0.2, 00:00:04, FastEthernet0/0
O E2    172.16.1.0 [110/20] via 192.168.1.2, 00:00:04, FastEthernet0/1
                   [110/20] via 192.168.0.2, 00:00:04, FastEthernet0/0
O E2    172.16.2.0 [110/20] via 192.168.1.2, 00:00:04, FastEthernet0/1
                   [110/20] via 192.168.0.2, 00:00:04, FastEthernet0/0
C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
O    192.168.2.0/24 [110/20] via 192.168.0.2, 00:00:18, FastEthernet0/0
O    192.168.3.0/24 [110/20] via 192.168.1.2, 00:00:18, FastEthernet0/1


今は3経路とも再配布されていますが、この中の例えば172.16.0.0/24のみ再配布するという制御も可能です。R2とR3にroute-mapを使用した設定を追加します。


【 R2 / R3 】

access-list 10 permit 172.16.0.0 0.0.0.255
route-map red-ospf permit 10
 match ip address 10

router ospf 110
 redistribute static subnets route-map red-ospf

【 R1 】
# show ip route
Codes: 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

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 1 subnets
O E2    172.16.0.0 [110/20] via 192.168.1.2, 00:04:10, FastEthernet0/1
                   [110/20] via 192.168.0.2, 00:04:10, FastEthernet0/0
C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
O    192.168.2.0/24 [110/20] via 192.168.0.2, 00:22:57, FastEthernet0/0
O    192.168.3.0/24 [110/20] via 192.168.1.2, 00:22:57, FastEthernet0/1


redistributeで再配布した経路はデフォルトでmetric-type 2になります。metric-type1との違いは以下です。


 metric-type 1   コスト加算型。途中経路のコストを全て足してメトリックが計算される。 
 metric-type 2  コスト統一型。途中、どれだけのルータを経由したとしても全て同一のメトリックで経路が配信される。 


上記だけを見るとtype 2のほうが優先されそうですが、実はtype 2よりtype 1のほうが優先されます。仮にR2の設定を以下のように変更した場合、R1のルーティングテーブルは次のようになります。type1のほうが優先されますのでR2経由の経路しか見えなくなり、R2がダウンするとR3経由の経路が浮かび上がってきます。


【 R2 】
router ospf 110
 redistribute static metric-type 1 subnets

【 R1 】
# show ip route
Codes: 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

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 3 subnets
O E1    172.16.0.0 [110/40] via 192.168.0.2, 00:00:48, FastEthernet0/0
O E1    172.16.1.0 [110/40] via 192.168.0.2, 00:00:48, FastEthernet0/0
O E1    172.16.2.0 [110/40] via 192.168.0.2, 00:00:48, FastEthernet0/0
C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
O    192.168.2.0/24 [110/20] via 192.168.0.2, 00:14:38, FastEthernet0/0
O    192.168.3.0/24 [110/20] via 192.168.1.2, 00:14:38, FastEthernet0/1


上記ではmetric-typeで優劣をつけていますが、metric属性で優劣をつけることも可能です。下記ではR2とR3でmetric type 2とし、metric属性で優劣をつけています。metric値は低いほうが優先されます。


【 R2 】
router ospf 110
 redistribute static metric 200 subnets

【 R3 】
router ospf 110
 redistribute static metric 300 subnets

【 R1 】
# show ip route
*Mar  1 01:15:04.007: %SYS-5-CONFIG_I: Configured from console by console
R1#show ip route
Codes: 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

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 3 subnets
O E2    172.16.0.0 [110/200] via 192.168.0.2, 00:00:07, FastEthernet0/0
O E2    172.16.1.0 [110/200] via 192.168.0.2, 00:00:07, FastEthernet0/0
O E2    172.16.2.0 [110/200] via 192.168.0.2, 00:00:07, FastEthernet0/0
C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
O    192.168.2.0/24 [110/20] via 192.168.0.2, 00:38:51, FastEthernet0/0
O    192.168.3.0/24 [110/20] via 192.168.1.2, 00:38:51, FastEthernet0/1



■OSPFの設定確認


OSPFでステータスを確認するshowコマンドには主に以下のものがあります。


・show ip ospf [ProcessID]


OSPFプロセスやルータID、エリアの割り当て、認証、SFP統計など全てのOSPF関連情報を要約する。


# show ip ospf 110
 Routing Process "ospf 110" with ID 192.168.1.1
 Start time: 00:03:04.740, Time elapsed: 24w0d
 Supports only single TOS(TOS0) routes
 Supports opaque LSA
 Supports Link-local Signaling (LLS)
 Supports area transit capability
 It is an autonomous system boundary router
 Redistributing External Routes from,
    static, includes subnets in redistribution
 Router is not originating router-LSAs with maximum metric
 Initial SPF schedule delay 5000 msecs
 Minimum hold time between two consecutive SPFs 10000 msecs
 Maximum wait time between two consecutive SPFs 10000 msecs
 Incremental-SPF disabled
 Minimum LSA interval 5 secs
 Minimum LSA arrival 1000 msecs
 LSA group pacing timer 240 secs
 Interface flood pacing timer 33 msecs
 Retransmission pacing timer 66 msecs
 Number of external LSA 17. Checksum Sum 0x05E46F
 Number of opaque AS LSA 0. Checksum Sum 0x000000
 Number of DCbitless external and opaque AS LSA 0
 Number of DoNotAge external and opaque AS LSA 0
 Number of areas in this router is 1. 1 normal 0 stub 0 nssa
 Number of areas transit capable is 0
 External flood list length 0
 IETF NSF helper support enabled
 Cisco NSF helper support enabled
 Reference bandwidth unit is 1000 mbps
    Area BACKBONE(0)
        Number of interfaces in this area is 7
        Area has simple password authentication
        SPF algorithm last executed 2d01h ago
        SPF algorithm executed 33 times
        Area ranges are
        Number of LSA 12. Checksum Sum 0x059E9A
        Number of opaque link LSA 0. Checksum Sum 0x000000
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0


・show ip ospf database


LSDBを表示する。このコマンドで表示される情報はリンクの数と隣接しているルータIDです。出力はエリアごとにわかれます。ただ、実務ではこのコマンドは取得することはあっても参考にすることはあまりありません。


# show ip ospf database

            OSPF Router with ID (192.168.1.1) (Process ID 110)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
172.16.255.1    172.16.255.1      69        0x80001C64 0x00CB2F 15
172.17.255.1    172.17.255.1    1118        0x8000005C 0x0053E0 13
172.18.255.1    172.18.255.1    1622        0x8000A287 0x00EB2E 4
172.19.255.2    172.19.255.2    784         0x80003F87 0x002488 4


・show ip ospf interface


このコマンドで表示するのはインターフェイスのOSPF関連の情報です。情報としてはインターフェイスのIP、エリアの割り当て、プロセスID、ルータID、ネットワークタイプ、コスト、プライオリティ、DR/BDR、タイマー間隔、隣接している近隣ルータの情報などが出力されます。

# sh ip ospf interface Vlan100
Vlan100 is up, line protocol is up
  Internet Address 172.16.100.1/24, Area 0
  Process ID 110, Router ID 172.16.100.1, Network Type BROADCAST, Cost: 1
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 172.16.200.1, Interface address 172.16.200.1
  Backup Designated router (ID) 172.16.50.1, Interface address 172.16.50.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:03
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 7/7, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 9, maximum is 9
  Last flood scan time is 0 msec, maximum is 4 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 172.16.200.1  (Designated Router)
  Suppress hello for 0 neighbor(s)
  Simple password authentication enabled


・show ip ospf neighbor


このコマンドはOSPF関連のコマンドで実務において最もよく使うコマンドです。近隣ルータや隣接関係の状態に関連のあるOSPF情報をまとめてくれ、DR/BDRが存在する場合はその情報も表示されます。


# show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
172.16.255.1      1   FULL/DR         00:00:38    172.16.255.1    Vlan100


・clear ip ospf process


何らかの理由でOSPFプロセスを再起動させたい場合、以下のコマンドで可能です。


# clear ip ospf process



 
 関連記事
 OSPFの概要
 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.