Skip to content

CML で Breakout Tool を使い、ローカルのターミナルからコンソール接続する

CML for Personal は HTML5 ベースの Web アプリケーションとなり、以前の VIRL における VMMaestro のような特別なソフトウェア無しに、ブラウザだけで利用出来るようになりました。 CML 上で起動したノードのコンソールにはブラウザから接続することも出来ますが、Breakout Tool を利用することでローカルコンピュータ上にあるターミナルソフトウェアから接続することも出来ます。 今回は Breakout Tool の使い方をメモしておきます。

Step.1

CML にログインし、画面右上の Tools メニューから Breakout Tool をクリックします。

file

Step.2

Breakout Tool のページが表示されますので、最下部まで画面をスクロールします。

file

すると最下部に Index of ~ という部分があるので、ここから自身の OS に一致する Breakout Tool をダウンロードします。 今回は Windows 環境を使っている為、breakout-windows-x86_amd64.exe をダウンロードしました。

file

Step.3

ダウンロードした .exe ファイルをそのまま起動すると以下のような画面が表示され、実行出来ないかも知れません。

file

こういった場合は .exe ファイルのプロパティを開き、セキュリティ欄の 許可する にチェックを入れます。 これで .exe ファイルを実行することが出来るようになっているはずです。

file

Step.4

Breakout Tool の .exe ファイルは ui オプションを指定しないとヘルプを表示して終了してしまいます。 その為、エクスプローラ上から .exe ファイルをダブルクリックして起動しても一瞬、コマンドプロンプトが開いてすぐに閉じ、何も起きなかったように見えてしまいます。 正攻法であればコマンドプロンプトを開いて Breakout Tool を保存したディレクトリへ移動し、そこから下記のように ui オプションを指定して実行します。

1
> breakout-windows-x86_amd64.exe ui

しかし、もし「コマンドプロンプトは開かず、マウスの操作だけで済ませたい」という場合はまず Breakout Tool のショートカットを作成します。

file

次にこのショートカットのプロパティを開き、リンク先 にある Breakout Tool の .exe ファイル名の最後に ui オプションを書き足します。 これでこのショートカットをマウスでダブルクリックするだけで (ui オプションが指定され) Breakout Tool が起動します。

file

Step.5

ui オプションを指定して Breakout Tool を起動したら Web ブラウザから http://localhost:8080 または http://[::1]:8080 を指定してローカルコンピュータの 8080 番ポートへ接続します。 この際、なぜか最新の Chrome では上手く接続出来ず、白紙のページが表示されてしまう 為、今回は Edge を使ってアクセスしました。 Breakout Tool の Web UI へアクセス出来たら画面右上の Configuration をクリックします。

file

Step.6

Breakout Tool から CML へ接続する為の設定画面が表示されます。 Breakout Tool が CML へアクセス出来るよう、例えば下記などの設定に正しい値を入力し、最後に Save をクリックして設定を保存します。 尚、CML の Web UI は自己証明書を利用している場合が殆どだと思われますので Verify TLS certificate のチェックはオフにしておきます。

  • Controller address
  • Username
  • Password

file

Step.7

Configuration タブの設定内容が正しければ、Labs タブに戻ると CML 上で動作しているラボの一覧が表示されているはずです。 もしラボが表示されていない場合は Labs タブのリフレッシュボタンをクリックして情報を更新するか、または Configuration タブの設定内容が正しいか、確認します。 ラボ名が表示されたらラボ名の右側にある Status をクリックして On にしておきます。 これを On にしておかないと後の手順でノードへのコンソール接続が出来ません。

file

Step.8

ラボ名をクリックします。

file

Step.9

ラボに含まれるノードの一覧が表示されます。 Links 欄にコンソール接続用にリンクが作成されているので、これをクリックすると TELNET ハンドラに関連付けられたアプリケーションが起動し、CML 上のノードにコンソール接続出来ます。

file

もし Links をクリックしてもアプリケーションが起動しない場合は別途、ターミナルソフトウェアを開いて必要情報を入力してノードのコンソールへ接続します。 例えば今回、対象にしているノードへ TeraTerm で接続する場合は以下のようになるはずです。

file

Status: Off だとコンソール接続出来ない

ラボの StatusOff のまま、ラボをクリックしたとします。

file

すると以下のように Status 欄の serial0 表示は赤くなっており、Links もリンクになりません。 この状態で TeraTerm などの外部アプリケーションからノードのコンソールへ接続しようとしてもタイムアウトになり、コンソール接続することは出来ません。

file

参考

Breakout Tool のヘルプ表示は以下の通りです。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
> breakout-windows-x86_amd64.exe
missing parameter
breakout-windows-x86_amd64.exe 0.2.1-build-v2.0.0-13
Build info:
  Built:      2020-04-08T19:39:14Z
  Git commit: 3a441a53a0aa549a
  Go version: go1.12.14
  Platform:   linux/amd64
  Build host: virl-rtp-jenkins-1.cisco.com 4.18.0-80.11.2.el8_0.x86_64 x86_64


Usage:
        breakout-windows-x86_amd64.exe [flags] COMMAND
Parameters:
        COMMAND (required), 'config', 'init', 'run' or 'ui'
        'init' takes an optional 'lab' argument
        it will look for a lab ID or label that matches
        if providing a lab title, it has to be unique
        BREAKOUT_ enviroment variables control config as well.
Workflow:
        - create a default configuration file with 'config', adapt to your needs
        - use 'init' to retrieve lab information from controller
        - enable labs or individual nodes in lab configuration file created by 'init'
        - use 'run' to start the breakout process
Alternative:
        - use 'ui' to run a web frontend.
Flags:
  -alsologtostderr
        log to standard error as well as files
  -config string
        global configuration filename (default "config.yaml")
  -extralf
        send an extra LF when serial line is opened
  -labs string
        the data file to use (default "labs.yaml")
  -listen string
        address to listen on (default "[::1]")
  -log_backtrace_at value
        when logging hits line file:N, emit a stack trace
  -log_dir string
        If non-empty, write log files in this directory
  -logtostderr
        log to standard error instead of files
  -noverify
        disable TLS verify
  -port int
        local port to listen on for UI mode (default 8080)
  -stderrthreshold value
        logs at or above this threshold go to stderr
  -v value
        log level for V logs
  -vmodule value
        comma-separated list of pattern=N settings for file-filtered logging