候補構成の完全性チェック

本章では、候補構成の完全性チェックの方法について説明します。

この章は、次の項で構成されています。

候補構成について

候補構成は、実行構成のサブセットです。実行構成は、追加、変更、または削除を行わずに、実行構成内に候補構成が存在するかどうかを確認します。

候補構成の完全性を確認するには、次のコマンドを使用します。

  • show diff running-config
  • show diff startup-config

CLI の詳細については、候補構成の完全性チェックの実行 を参照してください。

候補構成の完全性チェックの注意事項と制限事項

候補構成の完全性チェックには、次の注意事項と制限事項があります。

  • Cisco NX-OS リリース 10.2(3)F 以降、すべての Cisco Nexus スイッチに候補構成の完全性チェック オプションが導入されました。

  • 部分構成ではなく、完全な実行構成の入力として完全性チェックを実行する必要がある場合は、partial キーワードを使用しないことをお勧めします。

  • 生成された実行構成に表示される行番号は、内部で生成されたものであるため、候補構成とは一致しません。

  • 実行構成と候補構成に違いがある場合、インラインで出力表示されます。

  • 候補ファイルの構成ブロック全体が新たに追加されたものである場合、生成される実行構成の最後に追加されます。

  • 候補設定に SNMP または AAA ユーザー CLI とクリアテキスト パスワードがある場合、ユーザーがすでに設定されている場合でも、SNMP ユーザーは diff として表示されます。

  • Cisco NX-OS リリース 10.4(3)F 以降では、候補構成でポリモーフィック コマンドを使用して、partial diff を実行することもできます。

  • partial diff を実行する前に、EIGRP アドレス ファミリ IPv4 設定を、候補ファイルのルータ モード階層ではなく、EIGRP アドレスファミリ階層で設定しておくことをお勧めします。

  • ターゲット/候補ファイルにデフォルトのコマンド(-log-neighbor-warnings;など)があり、そのサブモード(address-family ipv4 unicast または address-family ipv6 unicast )ではなく、router eigrp モードで直接設定されている場合、partial-diff は、diff のデフォルト コマンドの出力に + を付けて表示します(たとえば + log-neighbor-warnings)。

  • 大文字と小文字が区別されないコマンドで、実行中の config ファイルと concurrent-config ファイル内のコマンドの間に大文字と小文字の相違がある場合、 partial diff の出力には、大文字と小文字の違いにより両方のコマンドが表示されます。

  • ユーザー データベースを SNMP と AAA(セキュリティ)の間で同期するため、候補 CONFIG_FILE の partial diff を実行する場合は、クリアテキストのパスワードが許可されます。

  • 設定プロファイル、メンテナンス プロファイル(mmode)、およびスケジューラ モードの設定はサポートされていません。

マルチキャスト コンポーネントのデフォルト コマンドの partial diff に関する注意事項と制約事項

このセクションの内容は、Cisco NX-OS リリース 10.4(3)F から適用されます。

マルチキャスト コンポーネントのデフォルト コマンドが候補 CONFIG_FILE に存在する場合、show diff では次のように表示されます。

マルチキャスト コンポーネント

show diffのデフォルト コマンド

PIM

ip access-list copp-system-p-acl-pim
10 permit pim any 224.0.0.0/24
20 permit udp any any eq pim-auto-rp
ip access-list copp-system-p-acl-pim-mdt-join
ip access-list copp-system-p-acl-pim-reg
10 permit pim any any

PIM6

ipv6 access-list copp-system-p-acl-pim6
10 permit pim any ff02::d/128
20 permit udp any any eq pim-auto-rp
ipv6 access-list copp-system-p-acl-pim6-reg
10 permit pim any any

IGMP

ip access-list copp-system-p-acl-igmp
10 permit igmp any 224.0.0.0/3
class-map copp-system-p-class-normal-igmp

MLD

ipv6 access-list copp-system-p-acl-mld
10 permit icmp any any mld-query
20 permit icmp any any mld-report
30 permit icmp any any mld-reduction
40 permit icmp any any mldv2

show diff running-config file_url [unified] [partial ] [merged] コマンドのガイドラインと制限事項

  • unifiedpartial、および merged オプションを使用して次の PBR コマンドの違いを確認すると、diff の出力は次のようになります。

    • set ip next-hop

    • set ip default next-hop

    • set ip default vrf next-hop

    • set ipv6 next-hop

    • set ipv6 default next-hop

    • set ipv6 default vrf next-hop

    1. 候補のネクストホップが実行中のネクストホップの(同じ順序とシーケンスの)サブセットであり、候補の追加フラグのが実行中のフラグのサブセットである場合、次の表に示すように、diff の出力は空になります。

      候補構成 実行構成 部分的な統合マージ差分出力
      route-map rmap1 permit 10
       set ip next-hop 1.1.1.1 2.2.2.2 load-share
      route-map rmap1 permit 10
       set ip next-hop 1.1.1.1 2.2.2.2 3.3.3.3 load-share force-order
      <no-diff>
    2. 候補のネクストホップが実行中のネクストホップの(同じ順序とシーケンスの)サブセットであり、候補に実行構成には存在しない余分の追加フラグがある場合、diff の出力は、次の表に示すように、実行構成に候補構成に存在する追加のフラグを付加したものとなって、コマンドラインの場合と似た結果になります。

      候補構成 実行構成 部分的な統合マージ差分出力
      route-map rmap1 permit 10
       set ip next-hop 1.1.1.1 2.2.2.2 load-share force-order
      route-map rmap1 permit 10
       set ip next-hop 1.1.1.1 2.2.2.2 3.3.3.3 load-share drop-on-fail
      route-map rmap1 permit 10
      - set ip next-hop 1.1.1.1 2.2.2.2 3.3.3.3 load-share drop-on-fail
      + set ip next-hop 1.1.1.1 2.2.2.2 3.3.3.3 load-share force-order drop-on-fail
    3. 候補ネクストホップが実行中のネクストホップの(同じ順序とシーケンスの)サブセットではなく、候補と実行中のレコードに追加のフラグが存在し得る場合、diff の出力は、実行構成レコードを「-」で、候補構成レコードを「+」で示します。

      この区別は、ネクストホップのシーケンスが重要となる、PBR コマンドで 使用する場合、特に重要です。ネクストホップ IP アドレスが同一であっても、その順序は機能に影響します。

      たとえば、「1.1.1.1 2.2.2.2」は「2.2.2.2 1.1.1.1」とは異なります。


      重要


      候補構成とマージした後に保持する実行構成に追加のフラグがある場合は、そのフラグを候補構成に明示的に含める必要があります。これにより、必要なフラグが最終的なマージされた構成で保持されます。


      候補構成 実行構成 部分的な統合マージ差分出力
      route-map rmap1 permit 10
       set ip next-hop 1.1.1.1 2.2.2.2 load-share drop-on-fail
      route-map rmap1 permit 10
       set ip next-hop 2.2.2.2 1.1.1.1 load-share force-order
      route-map rmap1 permit 10
      - set ip next-hop 2.2.2.2 1.1.1.1 load-share force-order
      + set ip next-hop 1.1.1.1 2.2.2.2 load-share drop-on-fail
  • Partial Unified または Partial Unified Merged オプションが使用されている場合、すべての PBR コマンドは相互に排他的であり、同じ親ルートマップ内で共存できません。したがって、候補構成で単一のルートマップに複数の相互に排他的な PBR コマンドが指定されている場合、最後のコマンドバリアントのみが partial diff の出力に表示されます。

    例 1:この例では、候補構成で、単一のルートマップ rmap1 の下に複数の PBR コマンドが含まれています。

    route-map rmap1 permit 10
      set ip next-hop 1.1.1.1 2.2.2.2
      set ipv6 next-hop 3::3
      set ip next-hop verify-availability 4.4.4.4
      set ip next-hop verify-availability 5.5.5.5
      set ip vrf green next-hop 6.6.6.6
      set ip vrf blue next-hop 7.7.7.7 8.8.8.8
    partial-diff 出力の生成前に、上記の候補構成は自動的に次のように変換されます。
    route-map rmap1 permit 10
      set ip vrf green next-hop 6.6.6.6
      set ip vrf blue next-hop 7.7.7.7 8.8.8.8

    例 2:この例では、候補構成に、ルートマップ rmap2 のために異なるトラック ID が指定された、複数の「set ip next-hop verify-availability」コマンドが含まれています。同じネクストホップのトラック ID は変更できないため、次のコマンドは相互に排他的です。

    route-map rmap2 permit 10
      set ip next-hop verify-availability 1.1.1.1 track 1
      set ip next-hop verify-availability 2.2.2.2 track 20
      set ip next-hop verify-availability 2.2.2.2 track 30
      set ip next-hop verify-availability 2.2.2.2 track 40
      set ip next-hop verify-availability 3.3.3.3 track 3
    partial-diff の出力を生成する前、次に示すように、システムは各ネクストホップ IP アドレスの最後の set ip next-hop verify-availability コマンドのみを保持することで、これらのコマンドを自動的に統合します。
    route-map rmap2 permit 10
      set ip next-hop verify-availability 1.1.1.1 track 1
      set ip next-hop verify-availability 2.2.2.2 track 40
      set ip next-hop verify-availability 3.3.3.3 track 3
    
  • Partial Unified Merged オプションを使用して、 verify-availability コマンドのバリエーションの違いを確認する場合、特定のネクストホップのトラック ID は変更できません。

    したがって、候補と実行構成に同じネクストホップが含まれていて、同じ親ルートマップの下に異なるトラック ID がある場合、コマンドラインの動作の場合のように、候補レコードを実行レコードと単純にマージすることはできません。したがって、同じネクストホップに異なるトラック ID を持つ候補レコードを適用するには、対応する実行構成レコードを最初に削除する必要があります(diffでは実行構成レコードは「-」で示されます)。その後、候補レコードをマージすると、それは同じ親ルートマップの下の最後のレコードの末尾に追加されます(候補構成レコードは「+」で示されます)。

    次の表に、以下に示すさまざまなユースケースのサンプルの候補と実行構成と、部分的な統合マージ の出力を示します。

    1. 候補と実行構成で同じネクストホップのトラック ID が異なる場合、diff の出力は次の表のようになります。

      候補構成 実行構成 部分的な統合マージ差分出力
      route-map rmap1 permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
        set ip next-hop verify-availability 2.2.2.2 track 20
        set ip next-hop verify-availability 3.3.3.3 track 3 load-share
      
      route-map rmap1 permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
        set ip next-hop verify-availability 2.2.2.2 track 2
        set ip next-hop verify-availability 3.3.3.3 track 3 load-share
      
      route-map test permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
       - set ip next-hop verify-availability 2.2.2.2 track 2
        set ip next-hop verify-availability 3.3.3.3 track 3
       + set ip next-hop verify-availability 2.2.2.2 track 20 load-share
      
    2. トラック ID が候補構成には存在せず、同じネクストホップの実行構成に存在する場合、diff の出力は、次の表に示すように空になります。

      候補構成 実行構成 部分的な統合マージ差分出力
      route-map rmap1 permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
        set ip next-hop verify-availability 2.2.2.2 
        set ip next-hop verify-availability 3.3.3.3 track 3
      
      route-map rmap1 permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
        set ip next-hop verify-availability 2.2.2.2 track 2
        set ip next-hop verify-availability 3.3.3.3 track 3
      
      非比較
    3. トラック ID が実行構成には存在せず、同じネクストホップの候補構成にに存在する場合、diff の出力は次の表のようになります。

      候補構成 実行構成 部分的な統合マージ差分出力
      route-map rmap1 permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
        set ip next-hop verify-availability 2.2.2.2 track 20
        set ip next-hop verify-availability 3.3.3.3 track 3
      
      route-map rmap1 permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
        set ip next-hop verify-availability 2.2.2.2 
        set ip next-hop verify-availability 3.3.3.3 track 3
      
      route-map rmap1 permit 10
        set ip next-hop verify-availability 1.1.1.1 track 1
       - set ip next-hop verify-availability 2.2.2.2 
        set ip next-hop verify-availability 3.3.3.3 track 3
       + set ip next-hop verify-availability 2.2.2.2 track 20
      

RPM コマンドの partial diff に関する注意事項と制約事項

このセクションの内容は、Cisco NX-OS リリース 10.4(3)F から適用されます。

unified、partial、および merged オプションを使用して次の RPM コマンドの違いを確認すると、diff の出力は次のようになります。

  • 候補構成では、diff の出力に反映されているように、RPM コマンドの構文検証が行われます。ただし、diff の出力では、意味上の検証は実行されません。候補構成のコマンドが意味的に正確であることを確認するのは、ユーザーの責任です。

    候補構成内のコマンドが意味的に正しくなくても、diff はコマンドが実行可能であると誤って示すことがあり、実際には実行可能ではない場合があります。

  • Candidate-configファイルで、次のコマンドの必須シーケンス番号を必ず指定してください。

    • ip prefix-list list-name seq seq {deny | permit} prefix

    • ipv6 prefix-list list-name seq seq {deny | permit} prefix

    • mac-list list-name seq seq {deny | permit} prefix

    • ip community-list {standard | expanded} list-name seq seq {deny | permit} expression

    • ip extcommunity-list {standard | expanded}list-name seq seq {deny | permit} expression

    • ip large-community-list {standard | expanded} list-name seq seq {deny | permit} expression

    • ip-as-path access-list list-name seq seq {deny | permit} expression

  • 次のコマンドに、実行構成内の引用符で囲まれたスペースを含む式文字列が含まれている場合、diff 出力に違いは表示されません。

    • ip community-list expanded list-name seq seq {deny | permit} expression

    • ip extcommunity-list expanded list-name seq seq {deny | permit} expression

    • ip large-community-list expanded list-name seq seq {deny | permit} expression

    • ip-as-path access-list list-name seq seq {deny | permit} expression

    候補構成 実行構成 部分的な統合(マージ)差分出力
    ip community-list expanded list_abc seq 10 permit "1:1 "
    ip community-list expanded list_abc seq 10 permit "1:1"
    no-diff
    ip extcommunity-list expanded list_abc seq 10 permit "1:1  "
    ip extcommunity-list expanded list_abc seq 10 permit "1:1"
    no-diff
    ip large-community-list expanded list_abc seq 10 permit "1:1:1   "
    ip large-community-list expanded list_abc seq 10 permit "1:1:1"
    no-diff
    ip as-path access-list list_abc seq 10 permit "1  "
    ip as-path access-list list_abc seq 10 permit "1"
    no-diff

候補構成の完全性チェックの実行

完全性チェックを実行するには、次のコマンドを実行します。

始める前に


(注)  


完全性チェックを実行する前に、実行構成と候補構成が同じイメージ バージョンに属していることを確認してください。


手順の概要

  1. show diff running-config file_url [unified] [partial] [merged]
  2. show diff startup-config file_url [ unified ]

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

show diff running-config file_url [unified] [partial] [merged]

例:

switch# show diff running-config bootflash:candidate.cfg partial unified

実行構成とユーザーが指定した候補構成の違いを表示します。

  • file_url と比較するファイルのパス。

  • unified :実行構成とユーザー構成の違いを統一された形式で表示します。

  • partial partial は、ユーザー構成ファイルが完全な構成ではなく部分的な構成である場合にのみ入力します。

  • merged :サブコマンドを置き換えるのではなくマージする必要がある場合にのみ、 merged を入力します。

ステップ 2

show diff startup-config file_url [ unified ]

例:

switch# show diff startup-config bootflash:candidate.cfg unified

スタートアップ構成とユーザーが指定した候補構成の違いを表示します。

  • file_url と比較するファイルのパス。

  • unified :スタートアップ構成とユーザー構成の違いを統一された形式で表示します。

完全性チェックの例

実行構成と候補構成の間に相違点はない

switch# show diff running-config bootflash:base_running.cfg 
switch#

実行構成と候補構成の間の相違点

switch# show diff running-config bootflash:modified-running.cfg unified 
--- running-config
+++ User-config
@@ -32,11 +32,11 @@

interface Ethernet1/1
   mtu 9100
   link debounce time 0
   beacon
-  ip address 2.2.2.2/24
+  ip address 1.1.1.1/24
   no shutdown

interface Ethernet1/2

interface Ethernet1/3
switch#

実行構成と部分候補構成の間の相違点

switch# show file bootflash:intf_vlan.cfg
interface Vlan101
  no shutdown
  no ip redirects
  ip address 1.1.2.1/24 secondary
  ip address 1.1.1.1/24
switch# 
switch# show diff running-config bootflash:intf_vlan.cfg partial unified 
--- running-config
+++ User-config
@@ -3897,10 +3883,14 @@
   mtu 9100
   ip access-group IPV4_EDGE in
   ip address 2.2.2.12/26 tag 54321

 interface Vlan101
+ no shutdown
+ no ip redirects
+ ip address 1.1.2.1/24 secondary
+ ip address 1.1.1.1/24

 interface Vlan102
   description Vlan102
   no shutdown
   mtu 9100
switch#

部分的な構成の差分がマージされた

switch# show file po.cfg
interface port-channel500
description po-123
switch#
switch# sh run int po500
 
!Command: show running-config interface port-channel500
!Running configuration last done at: Fri Sep 29 12:27:28 2023
!Time: Fri Sep 29 12:30:24 2023
 
version 10.4(2) Bios:version 07.69 
 
interface port-channel500
  ip address 192.0.2.0/24
  ipv6 address 2001:DB8:0:ABCD::1/48
 
switch#
 
switch# show diff running-config po.cfg partial merged unified 
--- running-config
+++ User-config
@@ -124,10 +110,11 @@
interface port-channel100
 interface port-channel500
   ip address 192.0.2.0/24
   ipv6 address 2001:DB8:0:ABCD::1/48
+ description po-123
 interface port-channel4096
 interface Ethernet1/1
switch#