IOS / Linux / OS X で便利なショートカット
ショートカットを上手に使うと効率が良くなり、生産性が向上します。Cisco IOS / Linux / OS X で便利なショートカットをメモしておきます。
ショートカットを上手に使うと効率が良くなり、生産性が向上します。Cisco IOS / Linux / OS X で便利なショートカットをメモしておきます。
APIC-EM は GUI 上からデバイスを管理出来ますが、APIC-EM の API へアクセスすることによって管理されている機器の情報を利用することが出来ます。今回は Python を使って APIC-EM の API へアクセスしてみます。
Cisco Nexus では show cli syntax を使うとコマンドの一覧を表示することが出来ます。これを活用してコマンドを探すことが出来ます。
show cli syntax は出力が非常に多くなるので、grep や egrep で出力結果を絞ります。例えばスパニングツリーに関連するコマンドだけを表示させたい場合は show cli syntax | grep spanning-tree のように実行します。
Cisco APIC-EM から Path Trace を実行すると「トラフィックがどの経路を通っているのか?」というのを可視化することが出来ます。今回は Path Trace の実行方法をメモしておきます。
Cisco の APIC-EM (Application Policy Infrastructure Controller Enterprise Module) にデバイスを登録する手順をメモしておきます。APIC-EM は日々進歩している (言い過ぎ?) ので、バージョンによって画面や操作が異なる可能性があります。
OTV を使うと L2 延伸を行うことが出来ます。例えば、離れたデータセンター間で仮想マシンを vMotion した際等に利用出来ます。L2延伸だけなら L2TP でも可能ですが、L2TP ではループする可能性があります。対して OTV はマルチパス機能やループフリーである、という性質を持っています。今回はシンプルな構成で OTV を試してみます。
Cisco VIRL では検証した構成や機器のコンフィグを .virl ファイルに保存しておくことが出来ます。.virl ファイルをローカル PC に保存しておくことも出来ますが、GitHub 等のリポジトリに保存しておくと便利です。Cisco VIRL を操作する VMMaestro は Git クライアント機能を持っているのですが、少なくても自分が試す限りはちょっと癖がある??ようなので、Git リポジトリの利用手順をメモしておきます。
現在、広く使われている IP アドレスは「ネットワークアドレスを頼りにルーティングし」「ホストアドレスを頼りにエンドポイントに到達する」という、ふたつの機能があります。ネットワークのプロトコルである LISP (Locator/Identifier Separation Protocol) を使うと、これらふたつの機能を分離して扱うことで、よりネットワークを拡張出来るというメリットがあります。今回は最小の構成を作り、Cisco IOS で LISP を設定してみます。
尚、プログラミング言語にも LISP (LISt Processor) という同じ名前のものがありますが無関係です。
Cisco Japan Blog の SDN カテゴリー に「Python を使って APIC-EM の REST API にアクセスする」という記事が掲載されています。
(APIC-EM に限らず) Python や Ruby から REST API にアクセスするサンプルはしばしば見かけるのですが、C# のサンプルはなぜか数が少ないきがします… (探し方が悪い?)。というわけで C# のサンプルを書いてみました。あくまでサンプルなのでエラー処理はしていません。
scapy があれば対話的に、または Python スクリプトから任意のパケットを生成すること (等) が出来ます。OS X への scapy インストール手順をメモしておきます。検証には OS X El Captian (10.11.4) を、インストールには homebrew を使いました (homebrew はインストールされている前提です)。