Cisco Nexus OSPF 特定のルータをソースとするルートの AD 値を変える方法

スイッチ

作業環境

  • Nexus 9000v
    • NXOS: version 9.3(10)

検証構成

上の構成で Nexus01 にて OSPF で受信した Nexus02 をソースとするルートの AD 値を 200 にするよう設定してみます。

特定のルータをソースとするルートを優先したり、非優先にしたりしたい場合にこのような設定を行います。

ベースとなる基本設定

Nexus01 と Nexus02 の基本的な設定として以下が設定されているものとします。

Nexus01 側

route-map Direct_to_OSPF permit 10
  set metric 100
  set metric-type type-1

interface Vlan10
  no shutdown
  ip address 192.168.75.111/24
  ip router ospf 10 area 0.0.0.0

interface Vlan20
  no shutdown
  ip address 172.16.20.1/24

interface Ethernet1/1
  switchport access vlan 10

interface Ethernet1/2
  switchport access vlan 20

interface loopback0
  ip address 10.1.1.1/32

router ospf 10
  router-id 10.1.1.1
  redistribute direct route-map Direct_to_OSPF

Nexus02 側

route-map Direct_to_OSPF permit 10
  set metric 100
  set metric-type type-1

interface Vlan10
  no shutdown
  ip address 192.168.75.112/24
  ip router ospf 10 area 0.0.0.0

interface Vlan30
  no shutdown
  ip address 172.16.30.1/24

interface Ethernet1/1
  switchport access vlan 10

interface Ethernet1/2
  switchport access vlan 30

interface loopback0
  ip address 10.1.1.2/32

router ospf 10
  router-id 10.1.1.2
  redistribute direct route-map Direct_to_OSPF

AD 値を変える設定方法

以下では上記の設定をベースとして、Nexus01 側で、OSPF で受信した Nexus02 をソースとするルートルートの AD 値を 200 にするよう設定してみます。

必要な設定は以下です。

  • プレフィックスリストの設定
  • ルートマップの設定
  • OSPF プロセスでのテーブルマップの設定

プレフィックスリストの設定

設定の中でプレフィックスリストを使用するため、まずはプレフィックスリストを設定します。このプレフィックスリストでは、AD 値を変更するルートのソースとなるルータ(今回の例では Nexus02)の IP アドレス(ルータ ID)を指定します。

  • ip prefix-list <プレフィックスリスト名> permit <アドレス/マスク長>
ip prefix-list Nexus02 permit 10.1.1.2/32

ルートマップの設定

ルートマップでは、AD 値を変更する対象のルート(今回の例では Nexus02 をソースとするルート)に設定したい AD 値を指定します。

  • route-map <ルートマップ名> permit <シーケンス番号>
    • match ip route-source prefix-list <プレフィックスリスト名>
    • set distance <AD 値>
route-map Nexus02ad200 permit 10
  match ip route-source prefix-list Nexus02
  set distance 200

OSPF プロセスでのテーブルマップの設定

最後に OSPF プロセスに対して、上で作成したルートマップをテーブルマップとして設定します。

  • router ospf <プロセス ID>
    • table-map <ルートマップ名>
router ospf 10
  table-map Nexus02ad200

AD 値の確認

Nexus01 のルーティングテーブルを確認してみます。

Nexus01# show ip route
IP Route Table for VRF "default"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>

10.1.1.1/32, ubest/mbest: 2/0, attached
    *via 10.1.1.1, Lo0, [0/0], 01:08:15, local
    *via 10.1.1.1, Lo0, [0/0], 01:08:15, direct
10.1.1.2/32, ubest/mbest: 1/0
    *via 192.168.75.112, Vlan10, [200/140], 00:56:17, ospf-10, type-1 '←★注目★'
172.16.20.0/24, ubest/mbest: 1/0, attached
    *via 172.16.20.1, Vlan20, [0/0], 01:09:44, direct
172.16.20.1/32, ubest/mbest: 1/0, attached
    *via 172.16.20.1, Vlan20, [0/0], 01:09:44, local
172.16.30.0/24, ubest/mbest: 1/0
    *via 192.168.75.112, Vlan10, [200/140], 00:56:17, ospf-10, type-1 '←★注目★'
192.168.75.0/24, ubest/mbest: 1/0, attached
    *via 192.168.75.111, Vlan10, [0/0], 01:10:26, direct
192.168.75.111/32, ubest/mbest: 1/0, attached
    *via 192.168.75.111, Vlan10, [0/0], 01:10:26, local

上記の通り、OSPF で受信した Nexus02 をソースとするルートの AD 値 が 200 になっていることが分かります。

show ip ospf route でも distance が 200 になっていることが分かります。

Nexus01# show ip ospf route
 OSPF Process ID 10 VRF default, Routing Table
  (D) denotes route is directly attached      (R) denotes route is in RIB
  (L) denotes route label is in ULIB          (NHR) denotes next-hop is in RIB
10.1.1.2/32 (type-1)(R) area 0.0.0.0
     via 192.168.75.112/Vlan10  , cost 140 distance 200 (NHR)
172.16.30.0/24 (type-1)(R) area 0.0.0.0
     via 192.168.75.112/Vlan10  , cost 140 distance 200 (NHR)
192.168.75.0/24 (intra)(D) area 0.0.0.0
     via 192.168.75.111/Vlan10*  , cost 40 distance 110 (NHR)

留意点

上で説明した方法では、prefix-list で指定したルータ ID のルータが生成元となっているルートを対象として AD 値が変更されます。

例えば、以下のような構成で、上記の設定例と同様に Nexus01 で Router ID 10.1.1.2 (Nexus02) をソースとするルートの AD 値を変更する設定をした場合を考えます。

Nexus01 が Nexus03 から OSPF で受信するルートは以下の 3 つがあります。

  • 10.1.1.2/32 (Nexus02 で生成されたルート)
  • 192.168.179.0/24 (Nexus02 で生成されたルート)
  • 10.1.1.3/32 (Nexus03 で生成されたルート)

このうち、Nexus01 で AD 値が変更されるルートは Nexus02 で生成されたルート(10.1.1.2/32、192.168.179.0/24)のみとなり、Nexus03 で生成されたルート(10.1.1.3/32)の AD 値は変更されません。

EIGRP においても今回説明した方法と似たような方法で特定ルートの AD 値を変更することができますが、EIGRP と OSPF とでは動作仕様が異なるため注意してください。

参考資料

Cisco Nexus 9000 シリーズ NX-OS ユニキャスト ルーティング設定ガイド - OSPFv2 の設定 [Cisco Nexus 9000 シリーズ スイッチ]
OSPFv2の設定

タイトルとURLをコピーしました