VIRL: GUIでのインタフェースの無効(disable)/有効化(enable)の方法

こんにちは。ccieojisan です。

今回は VIRL でシミュレーションしているルータのインタフェースの無効/有効化を CLI を使わずに行う方法を紹介したいと思います。

virlint1

今回は上記のように IOSvが 2台、XRv が 2台の構成とします。

最新の VIRL 1.0.0 では下記3通りの方法があります。たぶん 1. の方法は当初実装されたなごりで残っているだけで廃れていく方向と思われ、2. または 3. が今後使われていきそう。

スポンサーリンク

1.UWM上でインタフェースの無効/有効化を行う

※Simulation を実行しているユーザで UWM へログインする必要があります。

インストール手順などでは、uwmadmin でログインしていましたが、guest/guest でログインしてください。

virlint2

“My simulations” をクリック。

virlint3

Simulation フィールドのシミュレーション名(トポロジ名)をクリック。

virlint4

Interfaces という項目に全てのインタフェースが表示されています。インタフェースの無効/有効化をしたいインタフェース行の Options という項目の電源ボタンのマークをクリック。
ここで Down する前には Interface up のフィールドが True なのも確認しておきましょう。

virlint5

“Bring down” をクリックすることで、インタフェースを無効化(disable)できます。

virlint6

インタフェースを無効後には、Interface up の項目が False になっているのが確認できます。

2.Live Visualization 上でインタフェースの無効/有効化を行う

Simulation 画面左側のシミュレーション名を右クリックして、”Launch Live Visualization” をクリック。

virlint7

Live Visualization がブラウザで起動します。

virlint8

iosv-1 の e0/1 を無効化(disable)します。

virlint9

iosv-1 の e0/1 をクリックして、”Disable Interface” をクリック。

virlint10

無効(disable)後は e0/1 が緑色(Up)->赤色(Down)に変わるのが分かります。

virlint11

有効化(enable)は逆の手順で該当インタフェースをクリックし、”Enable Interface” をクリックするだけです。

3.VM Maestro 上でインタフェースの無効/有効化を行う

VM Maestro 上の Simulation 画面でも Live Visualization と同じようにインタフェースの無効/有効化ができます。

virlint12

ルータ間のインタフェースをクリックして選択し、コネクタ部分(少し太くなっている端の部分)を右クリックし、表示されるメニューから “Disable interface” をクリック。

virlint13

Downさせると VM Maestro 上で Down したインタフェースには赤丸が表示され、リンクは点線になります。

virlint14

Upさせるには逆の手順で “Enable interface” を選択するだけです。

2種類のインタフェースダウン

前述の VIRL におけるインタフェースの無効(disable/有効化(enable)をする上で知っておくべき事があります。仮想ルータの種類により、インタフェースダウンの内容が異なるという点です。

Soft Down

  • 物理インタフェースはUP
  • ルーティングプロトコルはホールドタイマー切れとなる(インタフェースダウンと同時に落ちない)
  • 対象 : IOS XRv, ASAv

Hard Down

  • 物理インタフェースはDOWN
  • ルーティングプロトコルやTrack機能などはインタフェースダウンを即座に検知できる
  • 対象 : IOSv, CSR1000v, NX-OSv

それぞれ動作を見てみたいと思います。まずは Soft Down から。

virlint15

iosxrv-1 の ge0/0/0/1 を down させます。

virlint16

iosxrv-1 上で show ospf neighbor をすぐさま確認します。

RP/0/0/CPU0:iosxrv-1#show ospf nei
Fri Dec  4 04:15:08.864 UTC

* Indicates MADJ interface
# Indicates Neighbor awaiting BFD session up

Neighbors for OSPF 1

Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.0.2     1     FULL/DR         00:00:38    10.0.0.5        GigabitEthernet0/0/0/0
    Neighbor is up for 00:01:48
192.168.0.4     1     FULL/DR         00:00:19    10.0.0.10       GigabitEthernet0/0/0/1
    Neighbor is up for 00:01:45

Total neighbor count: 2

上記 192.168.0.4 (iosxrv-2) とのネイバー状態を見ると、Dead Time が 30秒以下になっており、ネイバダウンせずに Hold Timer 切れを待っているのが分かります。

RP/0/0/CPU0:iosxrv-1#show interfaces gi0/0/0/1 | i line proto
Fri Dec  4 04:17:53.013 UTC
GigabitEthernet0/0/0/1 is up, line protocol is up

上記のようにインタフェースも up/up のままになっているのが確認できます。
IOS XRv の場合には CLI で interface を shutdown した場合は即座にネイバダウンしますが、前述の3つの方法で無効にした場合は Hold Timer 切れとなることに注意が必要です。

次に Hard Down。下記 IOSv の2ルータ間で確認します。

virlint17

iosv-1 の ge0/1 を無効化します。

virlint18

上記 “Disable interface” を実行すると、即座(若干タイムラグはあります)にインタフェースはダウンし、OSPFネイバもダウンします。

iosv-1#
*Dec  4 04:20:40.160: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to down
*Dec  4 04:20:41.162: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down
*Dec  4 04:20:41.168: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.0.3 on GigabitEthernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached

インタフェースは down/down になっています。

iosv-1#show int gi0/1 | i line proto
GigabitEthernet0/1 is down, line protocol is down

ただ、admin down ではないようですね。VM Maestro 等から CLI で shut/no shut を叩き込めばいいのにと思うのは私だけ?特に IOS-XRv の動作は紛らわしい。

とは言っても、GUI 上から手軽にインタフェースの down/up ができるのは助かりますね。特に Live Visualization では ping/traceroute が GUI 上でできるので、GUI 上のみで経路の切り替わりとかの動作を確認できるのは便利です。ただ、上記 soft down/hard down の知識がないと切り替えが遅いぞ!?というような点で悩むことになるので注意ください。