Cisco のコマンド互換性まとめ

提供:hkatou_Lab
2022年9月29日 (木) 08:34時点におけるHkatou (トーク | 投稿記録)による版

コマンドリストを作成するときに、気にしていることのまとめ。


基本方針

各機器で使用している機能を洗い出す

vlan / EtherChannel / OSPF など、使用する機能別に show コマンドを調査する。

大体コンフィギュレーション ガイドに記載がある。

各機能ごとに 2 つの観点からコマンドを選定する

機能確認 : 正常に動作していること

  • 例) show interfaces trunk で Vlan が allowed されていること
    • show run で allowed が設定されていても vlan が作成されていないと、このコマンドで allowed に出て来ない = 異常と判明する
  • 例) show mac address-table でトラフィックを送受信する端末の MAC アドレスが学習されていること
    • ソフトウェア不具合に該当した場合、MAC アドレステーブルの正常性を証明する必要があるため、予め取得しておく
    • ルーティング テーブルなどのエントリも同様に取得する


冗長確認 : 切り替え時に変化が確認できること

  • 例) LAG メンバー 2 本のうち、1 本をダウンさせた後、show etherchannel summary で 2 ポートの片方が (P) でバンドルされていて、もう片方が (D) でダウンしていること
    • 障害試験の正常時と異常時に取得して、想定通り切り替えができたか確認できる

使用できないコマンドを選定していないか

例えば show interfaces status は以下のようなミスが存在する。

  • show interfaces status をルータで取得してしまう
    • Vlan / access / trunk を表示するコマンドだが、ルータにこの機能は存在しない
    • スイッチポート モジュールを搭載したルータには使用可能なのがまたややこしい
      • この場合もルーテッド ポートは表示対象外
    • ダウン・アップを確認したいのであれば、以下の代替コマンドを使用するべき
      • show ip interface brief
      • show ipv6 interface brief
      • show interface description
    • 何々の情報を取得したいからこのコマンド、というように目的を意識しないとこのような失敗をしてしまう
  • show interfaces status を Nexus で取得しようとしてエラー
    • NX-OS では show interface status (s が無い単数形) が正しい
    • 実機確認の重要性がわかる事例
    • マクロで取ってて障害になってから、取れてないことがわかったりすると最悪

仮想 OS , 実機で投入確認を行う

人間のレビューのように曖昧な確認よりも、実際の機械に確認したもらったほうが確実。

現地で試験表を書き換えるのは避けたい。


確認できる仮想 OS としては、以下の例が挙げられる。

  • ルータ : IOSv , XRv
  • スイッチ : IOSv-L2 , NX-OS 9000v
  • ファイアウォール : ASAv


ルータ IOS / IOS-XE

IP ルーティング、IP アプリケーションなど、ハードウェアに依存しない機能は他の IOS と共通のコマンドが使用可能。

ルータの機能が動作するため、スイッチのコマンドは使用できない。

使用不可コマンドの例

show mac address-table

  • ルータは通常、送信先の決定に MAC アドレステーブルを使用しない
  • L2VPN , bridge などの L2 機能の動作時を除く


show interfaces status

  • Vlan / access / trunk を表示する、スイッチのコマンドは使用できない


ルータ IOS-XR

show ip route -> show route など Juniper っぽいコマンド体系になっている。

基本的に IOS / IOS-XE とは別物としてコマンドを調査する必要あり。

64 bit カーネルの eXR になってからは、ハードウェア管理 VM と IOS-XR VM に分離 [1] [2]しており、メモリ確認などがややこしくなっている。

スイッチ IOS / IOS-XE

IOS と IOS-XE で意識してコマンドを変える必要はほとんど無い。

強いて言えば IOS-XE だとハードウェア確認のコマンドが show platform 系にまとめられている。

Ethernet Virtual Circuit (EVC) などルータ系特有な機能のコマンドは使用できない。

使用不可コマンドの例

show bridge (実行できても何も取得できない)


スイッチ NX-OS

Catalyst の IOS-XE と共通で使えるコマンドが多い。

一方で show etherchannel -> show port-channel など変更になっているコマンドもある。

feature コマンドで有効にしないと、show コマンドも無いように見えてしまうので注意が必要。

  1. ASR9K - eXR 'show memory summary' not showing all physical memory https://www.cisco.com/c/en/us/support/docs/routers/asr-9000-series-aggregation-services-routers/213904-asr9k-exr-show-memory-summary-not-sh.html Analysis From release 6.2.1 onwards, eXR on ASR9K will use the Virtual Machine (VM) virtualisation model, switching from using Linux Container (LXC) model which was used in releases 6.1.2 and 6.1.3.
  2. ASR9000 64-bit IOS XR: Increase RAM available to XR VM by disabling ISSU https://community.cisco.com/t5/service-providers-knowledge-base/asr9000-64-bit-ios-xr-increase-ram-available-to-xr-vm-by/ta-p/3845978 host OS Admin VM XR VM XR VM v2