Skip to content

Cisco

VIRL 上で Ubuntu を使う

VIRL にはデフォルトで Ubuntu のイメージが登録されています。VIRL 1.0.26 だと Ubuntu 14.04.2 LTS が登録されていました。

1
2
3
4
5
6
cisco@server-1:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:    14.04
Codename:   trusty

今回は VIRL 上で Ubuntu を使ってみます。

Cisco VIRL でよく使う「検証用コンフィグ・テンプレート」

Cisco VIRL で IOS 等を検証する際に「よく使うコンフィグのテンプレート」をメモしておきます。機種によって異なりますが、概ね以下のような方針にしています。(仮想環境では無く) 実機で検証する際はこれらに加え、コンソールポートのスピードを速くする等、微修正しています。

  1. 検証用のコンフィグテンプレートなので、セキュリティ設定は度外視
  2. 時刻は日本 (JST +9) に設定
  3. 名前解決はさせない
  4. バナー設定は削除
  5. コンソール / TELNET / SSH のタイムアウト時間は長めに設定
  6. pager は設定しない

あくまで検証環境用のコンフィグ・テンプレートな点はご注意を!

IOS で MED は除去出来ない?

Cisco IOS で「BGP の MED 属性を(ゼロでは無く)除去し、missing な状態に戻して広告出来るか?」試してみました。結論から述べると上手くいきませんでした。機会があれば「何か方法が無いか?」を深掘りしてみようと思います。また、IOS-XR や NX-OS、JUNOS での振る舞いも、改めて確認してみようと思います。

Administrative Distance / Route Preference 値は各社実装ごとで異なる可能性がある

「複数のプロトコルで同じ経路を学習している場合、どのプロトコルを優先するか?」という指標を、各社で以下のように呼んでいます。一般的には「値が小さい程、優先される」という振る舞いをします。

メーカー 呼び方
Cisco 「Distance」または「Administrative Distance」
Juniper 「Route Preference」
MikroTik 「Distance」または「Route Distance」

稀に「〜 プロトコルの AD 値は xx だよね」と回答される方がいますが、この「優先指標」は各社の実装によって差があります。ですので、「Cisco の値しか知らない」「各社製品が全て同じ値だ、と思い込んでいる」と、意図しないトラフィックフローを設計してしまう可能性があります。例えば、以下のような注意点があります。

  1. eBGP と iBGP だと、Cisco では「eBGP = 20 / iBGP = 200」だが、Juiper だと「いずれも 170」
  2. OSPF と eBGP だと、Cisco では「eBGP 優先」だが、Juniper だと「OSPF 優先」

代表的なプロトコルを一覧にすると、以下の通りです。MikroTik RouterOS の Distance は全て Cisco ISO と同じです(ちなみに「MME」とは RouterOS 独自のルーティングプロトコルです)。

Cisco VIRL 上でパケットキャプチャしてみる(Ver.1.0.0 以降編)

以前に Cisco VIRL 上でパケットキャプチャしてみる というメモを書きました。VIRL 1.0.0 未満ではこの手順でパケットをキャプチャするしか無かったのですが、VIRL 1.0.0 以上では VMMaestro の GUI からパケットをキャプチャ出来るようになっていました!(従来手順より、遥かに簡単です)。今回は VMMaestro 上からパケットキャプチャする手順をまとめてみます。