こんにちは。ccieojisan です。
今回は VIRL でシミュレーションしているルータのインタフェースの無効/有効化を CLI を使わずに行う方法を紹介したいと思います。
今回は上記のように IOSvが 2台、XRv が 2台の構成とします。
最新の VIRL 1.0.0 では下記3通りの方法があります。たぶん 1. の方法は当初実装されたなごりで残っているだけで廃れていく方向と思われ、2. または 3. が今後使われていきそう。
目次
1.UWM上でインタフェースの無効/有効化を行う
※Simulation を実行しているユーザで UWM へログインする必要があります。
インストール手順などでは、uwmadmin でログインしていましたが、guest/guest でログインしてください。
“My simulations” をクリック。
Simulation フィールドのシミュレーション名(トポロジ名)をクリック。
Interfaces という項目に全てのインタフェースが表示されています。インタフェースの無効/有効化をしたいインタフェース行の Options という項目の電源ボタンのマークをクリック。
ここで Down する前には Interface up のフィールドが True なのも確認しておきましょう。
“Bring down” をクリックすることで、インタフェースを無効化(disable)できます。
インタフェースを無効後には、Interface up の項目が False になっているのが確認できます。
2.Live Visualization 上でインタフェースの無効/有効化を行う
Simulation 画面左側のシミュレーション名を右クリックして、”Launch Live Visualization” をクリック。
Live Visualization がブラウザで起動します。
iosv-1 の e0/1 を無効化(disable)します。
iosv-1 の e0/1 をクリックして、”Disable Interface” をクリック。
無効(disable)後は e0/1 が緑色(Up)->赤色(Down)に変わるのが分かります。
有効化(enable)は逆の手順で該当インタフェースをクリックし、”Enable Interface” をクリックするだけです。
3.VM Maestro 上でインタフェースの無効/有効化を行う
VM Maestro 上の Simulation 画面でも Live Visualization と同じようにインタフェースの無効/有効化ができます。
ルータ間のインタフェースをクリックして選択し、コネクタ部分(少し太くなっている端の部分)を右クリックし、表示されるメニューから “Disable interface” をクリック。
Downさせると VM Maestro 上で Down したインタフェースには赤丸が表示され、リンクは点線になります。
Upさせるには逆の手順で “Enable interface” を選択するだけです。
2種類のインタフェースダウン
前述の VIRL におけるインタフェースの無効(disable/有効化(enable)をする上で知っておくべき事があります。仮想ルータの種類により、インタフェースダウンの内容が異なるという点です。
Soft Down
- 物理インタフェースはUP
- ルーティングプロトコルはホールドタイマー切れとなる(インタフェースダウンと同時に落ちない)
- 対象 : IOS XRv, ASAv
Hard Down
- 物理インタフェースはDOWN
- ルーティングプロトコルやTrack機能などはインタフェースダウンを即座に検知できる
- 対象 : IOSv, CSR1000v, NX-OSv
それぞれ動作を見てみたいと思います。まずは Soft Down から。
iosxrv-1 の ge0/0/0/1 を down させます。
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ルータ間で確認します。
iosv-1 の ge0/1 を無効化します。
上記 “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 の知識がないと切り替えが遅いぞ!?というような点で悩むことになるので注意ください。