はじめに
前回までの記事で、CML2
を入手して基本的な操作を行うところまで進みました。
今回はノード設定をやりやすくするために、色々なコンソール接続方法について紹介します。
コンソール接続の種類
CML2
では、前回の記事で紹介したノード画面のCONSOLE
からコンソール操作する方法、CML2
のホストにSSHでログインしてホストマシンからコンソール接続する方法、Breakout Tool
というツールを使用して、操作クライアントをプロキシにして操作端末のターミナルから直接ノードのコンソールへアクセスする方法があります。
- ノード操作画面からのコンソール接続
- CML2ホストからのコンソール接続
- Breakout Toolを使用したコンソール接続
今回は前回紹介したノード操作画面からのコンソール接続以外の方法を紹介します。
CML2ホストからのコンソール接続
CML2
のホストマシンから各ノードに接続するためには、CML2
の画面アクセス等を行っている操作クライアントからCML2
のホストマシンにSSH接続行います。
SSH接続する際には、CML2
の画面にアクセスする際に使用しているadmin
の情報を入力します。
アクセス情報 | 入力内容 |
---|---|
ユーザID | admin |
パスワード | ※adminのパスワード |
SSHアクセスすると以下の様な画面が表示されます。
コマンドは9種類しかなく、ラボの各ノードへのコンソール接続操作しか行えないようになっています。
****
CML2 Console Server
Copyright (c) 2020 Cisco Systems, Inc. and/or its affiliates
****
tab completion works
list available nodes and node labels / IDs with "list"
it's also possible to do a "open /lab_1/n0/0" command
consoles>
consoles> help
Available commands:
(Note: you can do tab-completion)
all toggle all labs or only mine (needs admin permissions)
clear clear the screen
exit exit the console server
help this help
labs available lab details
list list all available consoles, including labels and lines
open open connection to a console. Example: "open /lab_1/n0/0"
quit exit the console server
refresh refresh data from controller (done after 10s automatically)
CML2ホストからのコンソール接続
labs
と入力することで作成されているラボのID、タイトルなどが確認できますが、次のlist
で必要な情報はすべて分かるのであまり実行する機会は無いかと思います。
consoles> labs
Lab ID Lab Title Created Nodes Links Notes
-------------------------------------------------------------------------------
293f8f Lab at Sun 03:15 AM 2021-03-21 03:15:57 2 0
list
と入力すると、ラボID、ラボで動作中のノード名、ノードID等が確認できます。
Lines
はコンソール接続できるポート数となり、以下のノードの場合、「0」ポートと「1」ポートの2接続できるようになっています。
コンソール接続する際には「Lab ID」、「Node ID」、「Lines」が必要となるため、控えておきます。
consoles> list
Lab ID Node ID Lines Node Label Lab Title
------------------------------------------------------------------------
293f8f n0 0,1 iosv-0 Lab at Sun 03:15 AM
293f8f n1 0,1 iosv-1 Lab at Sun 03:15 AM
コンソール接続するにはopen
コマンドで接続することができ、書式は以下となります。
open /[Lab ID]/[Node ID]/[Lines]
上記のリストに表示されている「iosv-0」のポート0に接続する場合、以下となります。
open /293f8f/n0/0
コンソールから切断する場合は Ctrl + ^ + ] を同時押しすることで切断できます。
Breakout Toolを使用したコンソール接続
Breakout Tool
を使用したコンソール接続は、クライアント自身をプロキシにして、Breakout Tool
から直接ノードのコンソールポートに接続する方法です。
Breakout Tool
はCML2
の画面のTOOLS
にあり、Breakout Tool
を選択することで、Breakout Tool
のドキュメント、ダウンロードページが表示されます。
Download
に進むと、Linux
用、macOS
用、Windows
用の3つがあるので、クライアントのOSに合わせてダウンロードします。
Breakout Toolの設定
Breakout Tool
を使用するためには簡単な接続設定を行う必要があります。
設定にはGUI画面から行う方法と、コンフィグファイルを読み込ませる方法の2種類があるため、以下で紹介します。
GUIでのBreakout Tool設定
先ほどダウンロードしたBreakout Tool
をオプションを付与して起動させるため、コマンドプロンプト等から操作します。
以下はWindows機から実行した場合の例です。
./breakout-windows-x86_amd64.exe [-listen IPアドレス] [-port ポート番号] ui
実行時、ファイアウォールの警告が出力された場合は許可してください。
listen
、port
オプションを入力しない場合はlocalhost
の8080
ポートでBreakout Tool
設定用のWebサーバが起動してくるため、ターミナルはそのままにしてWebブラウザから自分のローカルアドレスにアクセスします。
アクセスした際に、以下画面のようなエラーが表示されますが、無視して問題ありません。
Configuration
に移動すると以下画面のように表示されるので、以下表を参考に設定を変更します。
項目 | 設定 | 説明 |
---|---|---|
Controller address | https://[CML2ホストのアドレス]/ | CML画面のURL |
Verify TLS certificate | 無効 | 自己証明書で使用する場合は無効 |
Populate all nodes | 無効 | 停止中ノードの表示有無 |
Username | admin | CML2管理画面にログインする際のユーザ名 |
Password | ※パスワード | CML2管理画面にログインする際のパスワード |
Console Start Port | 9000 | コンソール接続する際の開始ポート |
VNC Start Port | 5900 | VNC接続する際の開始ポート |
Listen Address | ※クライアントアドレス | コンソール・VNS接続する際の待ち受けアドレス |
UI Server Port | 8080 | Breakout Toolの管理画面アクセスポート番号 |
Labs Filename | labs.yaml | ラボのファイル名 |
Controller address
、Username
、Password
は自身の環境に合わせて設定、また、Verify TLS certificate
はSSL証明書を独自に取得する場合以外は無効化してください。
GUIでのラボ表示
Breakout Tool
を使用してコンソール接続する場合、ラボのノードがどれか一台でも起動していないと画面に表示されないため、ラボのノードを何か起動しておきます。
先ほどの設定に問題がなければ「Labs」の設定をすることで以下の様に表示されます。
ラボのStatus欄にあるボタンを「ON」にすることで該当のラボのノードにコンソール接続する準備ができるので「ON」にしてラボ名を選択するとラボ内のノードが以下の様に表示されるため、Statusを「ON」にしてTeraTerm
等でTelnet
で接続します。
Breakout Tool起動用ショートカット作成
Breakout Tool
を毎回コマンドプロンプト等で起動するのも面倒なのでショートカットを作成します。
「リンク先」の後ろに「ui」を付与し、「実行時の大きさ」を「最小化」とすることで、次からBreakout Tool
を起動するときにはショートカットを叩くだけで起動することができます。
コマンドでのBreakout Tool設定
GUI起動した場合と同様、コマンドプロンプト等で操作していきます。
設定の流れは先ほどのGUIと同じですが、最初にCML2
ホストに接続するためのconfig.yaml
をエクスポートします。
./breakout-windows-x86_amd64.exe config
実行すると同じディレクトリに以下デフォルトのconfig.yaml
が出力されるため、テキストエディタで開き、先ほどのGUI設定と同様に設定します。
#
# breakout default configuration file
# - 'username' and 'password' for authentication
# - replace hostname 'cml-controller.cml.lab' with your IP or FQDN
# - set an empty 'listen_address' to listen globally
#
# Known environment variables:
#
# BREAKOUT_USERNAME
# BREAKOUT_PASSWORD
# BREAKOUT_CONTROLLER
# BREAKOUT_LISTEN_ADDRESS
# BREAKOUT_UI_SERVER_PORT
# BREAKOUT_CONSOLE_START_PORT
# BREAKOUT_VNC_START_PORT
# BREAKOUT_LAB_CONFIG_NAME
# BREAKOUT_POPULATE_ALL
# BREAKOUT_VERIFY_TLS
# BREAKOUT_EXTRA_LF
#
console_start_port: 9000
controller: https://cml-controller.cml.lab
extra_lf: false
lab_config_name: labs.yaml
listen_address: '[::1]'
password: cml2cml2
populate_all: false
ui_server_port: 8080
username: cml2
verify_tls: true
vnc_start_port: 5900
コマンドでのラボ表示
以下コマンドで現在設定されているラボ情報が記載されたlabs.yaml
を出力されます。
labs.yaml
は先ほど作成したconfig.yaml
を使ってCML2
ホストに接続して情報を取得&config.yaml
に書き込むため、Breakout Tool
とconfig.yaml
は同じディレクトリに配置して実行してください。
./breakout-windows-x86_amd64.exe init
293f8f:
enabled: false
lab_description: ""
lab_title: Lab at Sun 03:15 AM
nodes:
n0:
devices:
- enabled: true
listen_port: 9000
name: serial0
running: false
status: ""
- enabled: false
listen_port: 9001
name: serial1
running: false
status: ""
label: iosv-0
n1:
devices:
- enabled: true
listen_port: 9002
name: serial0
running: false
status: ""
- enabled: false
listen_port: 9003
name: serial1
running: false
status: ""
label: iosv-1
labs.yaml
のラボIDの次行(上記2行目)に記載されているenabled
の値だけtrue
と修正しておきます。
編集が完了したら以下コマンドを実行するとBreakout Tool
を実行できます。
接続ポートについては画面に表示されるため、先ほどと同様Telnet
で接続します。
./breakout-windows-x86_amd64.exe run
System version: 2.1.2-b39
+---------+------------+---------+----------+
| NODE ID | NODE LABEL | DEVICE | ADDRESS |
+---------+------------+---------+----------+
| n0 | iosv-0 | serial0 | TCP/9000 |
+---------+------------+ +----------+
| n1 | iosv-1 | | TCP/9002 |
+---------+------------+---------+----------+
Running... Press Ctrl-C to stop.
おわりに
今回は初期状態でアドレス等何も設定されていない機器を操作するために必須となるコンソール接続について説明しました。
次回は外部のネットワークに接続する方法を紹介したいと思います。