Cisco のコマンド互換性まとめ
コマンドリストを作成するときに、気にしていることのまとめ。
基本方針
各機器で使用している機能を洗い出す
vlan / EtherChannel / OSPF など、使用する機能別に show コマンドを調査する。
大体コンフィギュレーション ガイドに記載がある。
show tech-support だけ取れば良い、というのは初心者。
各機能ごとに 2 つの観点からコマンドを選定する
機能確認 : 正常に動作していること
- 例) show interfaces trunk で Vlan が allowed されていること
- show run で allowed が設定されていても vlan が作成されていないと、このコマンドで allowed に出て来ない = 異常と判明する
- 例) show mac address-table でトラフィックを送受信する端末の MAC アドレスが学習されていること
- ソフトウェア不具合に該当した場合、MAC アドレステーブルの正常性を証明する必要があるため、予め取得しておく
- ルーティング テーブルなどのエントリも同様に取得する
冗長確認 : 切り替え時に変化が確認できること
- 例) show etherchannel summary で 2 ポートの片方が (P) でバンドルされていて、もう片方が (D) でダウンしていること
- 障害試験の正常時と異常時に取得して、想定通り切り替えができたか確認できる
使用できないコマンドを選定していないか
例えば show interfaces status は以下のようなミスが存在する。
- show interfaces status をルータで取得してしまう
- Vlan / access / trunk を表示するコマンドだが、ルータにこの機能は存在しない
- スイッチポート モジュールを搭載した機種には使用可能なのがまたややこしい
- この場合もルータポートは表示対象外
- show ip interface brief を使用するべき
- 何々の情報を取得したいからこのコマンド、というように目的を意識しないとこのような失敗をしてしまう
- 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
EVC などのルータ系 Bridge 系機能など、ルータ特有の機能のコマンドは使用できない。
使用不可コマンドの例
show bridge (実行できても何も取得できない)
スイッチ NX-OS
Catalyst の IOS-XE と共通で使えるコマンドが多い。
一方で show etherchannel -> show port-channel など変更になっているコマンドもある。
feature コマンドで有効にしないと、show コマンドも無いように見えてしまうので注意が必要。