Skip to content

Blog

show コマンド実行時の VRF 指定を省略する(※ IOS-XR 限定)

VRF を設定している環境で show コマンド実行する場合、都度、VRF を指定するのは煩わしいものです。IOS や IOS-XE には実装されていないようなのですが、ASR9000 で使われている IOS-XR では「明示的に指定しなかった場合の VRF」を set default-vrf で指定しておくことが出来ます。今回はこのコマンドの動作を確認します。尚、set default-vrf は 1 セッションでのみ、有効です。例えば SSH セッションを切断して再ログインしなおすと初期状態(= set default-vrf の指定が無い状態)に戻ります。

sudo でリダイレクトするには

sudo の実行結果をリダイレクトしようとするとエラーになります。

1
2
$ sudo echo "TEST" > /root/test.txt
-bash: /root/test.txt: Permission denied

このような場合は sudo sh -c の引数として一連のコマンドを実行します。

1
$ sudo /bin/sh -c 'echo "TEST" > /root/test.txt'

参考までに、「-c」オプションは man によると以下のように書かれています。

-c Read commands from the command_string operand instead of from the standard input. Special parameter 0 will be set from the command_name operand and the positional parameters ($1, $2, etc.) set from the remaining argument operands.

CoreLinux 6.3 を VIRL に登録する

Tiny Core Linux はフットプリントが非常に小さい Linux ディストリビューションで、Cisco VIRL のような仮想化された検証環境内で複数インスタンスを立ち上げても軽快に動作する、という特徴があります。用途に応じて幾つかの種類があります。参考として記載したサイズは 6.3 用 ISO イメージのサイズです。

  1. Core
    • 9MB 程度。CLI だけの、最小環境での利用を想定。
  2. TinyCore
    • 15MB 程度。GUI(X)を含む。
  3. CorePlus
    • 84MB 程度。TinyCore に様々なパッケージを追加している。

追加パッケージも数多く提供されているので Core をベースにパッケージを追加し、カスタマイズしていくのも簡単です。今回は Core を VIRL に登録してみます。

Juniper vMX を Cisco VIRL に登録する

Juniper vMX を使うと x86 上で JUNOS を動作させることが出来ます。vSRX も JUNOS の学習に使えますが、KVM / QEMU 上で使うとなぜか commit 出来ません… Cisco VIRL に vMX を登録するとひとつの環境で Cisco や Juniper、その他の OS との相互接続を検証することが出来、非常に便利です。vMX を VIRL に登録するのは簡単ですのでポイントだけ記載しておきます。

JSON や XML を整形して表示する

JSON や XML を整形して表示出来るツールをまとめます。

  • JSON の整形
    1. Python の標準ライブラリを使う
    2. 軽量 JSON パーサー「jq」を使う
  • XML の整形
    1. xmllint を使う
    2. tidy を使う
    3. xmlstarlet を使う