LoginSignup
2
2

More than 3 years have passed since last update.

CML2を使いこなす。(その4:色々なコンソール接続)

Last updated at Posted at 2021-04-25

はじめに

前回までの記事で、CML2を入手して基本的な操作を行うところまで進みました。

今回はノード設定をやりやすくするために、色々なコンソール接続方法について紹介します。

コンソール接続の種類

CML2では、前回の記事で紹介したノード画面のCONSOLEからコンソール操作する方法、CML2のホストにSSHでログインしてホストマシンからコンソール接続する方法、Breakout Toolというツールを使用して、操作クライアントをプロキシにして操作端末のターミナルから直接ノードのコンソールへアクセスする方法があります。

  • ノード操作画面からのコンソール接続
  • CML2ホストからのコンソール接続
  • Breakout Toolを使用したコンソール接続

今回は前回紹介したノード操作画面からのコンソール接続以外の方法を紹介します。

CML2ホストからのコンソール接続

CML2のホストマシンから各ノードに接続するためには、CML2の画面アクセス等を行っている操作クライアントからCML2のホストマシンにSSH接続行います。

SSH接続する際には、CML2の画面にアクセスする際に使用しているadminの情報を入力します。

アクセス情報 入力内容
ユーザID admin
パスワード ※adminのパスワード

SSHアクセスすると以下の様な画面が表示されます。

コマンドは9種類しかなく、ラボの各ノードへのコンソール接続操作しか行えないようになっています。

CML2へのSSHアクセス画面

****
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コマンド書式
open /[Lab ID]/[Node ID]/[Lines]

上記のリストに表示されている「iosv-0」のポート0に接続する場合、以下となります。

iosv-0に接続する場合の例
open /293f8f/n0/0

コンソールから切断する場合は Ctrl + ^ + ] を同時押しすることで切断できます。

Breakout Toolを使用したコンソール接続

Breakout Toolを使用したコンソール接続は、クライアント自身をプロキシにして、Breakout Toolから直接ノードのコンソールポートに接続する方法です。

Breakout ToolCML2の画面のTOOLSにあり、Breakout Toolを選択することで、Breakout Toolのドキュメント、ダウンロードページが表示されます。

capture_21032021_171029.jpg

capture_21032021_171426.jpg

Downloadに進むと、Linux用、macOS用、Windows用の3つがあるので、クライアントのOSに合わせてダウンロードします。

Breakout Toolの設定

Breakout Toolを使用するためには簡単な接続設定を行う必要があります。

設定にはGUI画面から行う方法と、コンフィグファイルを読み込ませる方法の2種類があるため、以下で紹介します。

GUIでのBreakout Tool設定

先ほどダウンロードしたBreakout Toolをオプションを付与して起動させるため、コマンドプロンプト等から操作します。

以下はWindows機から実行した場合の例です。

Breakout_Tool設定用GUIの起動
./breakout-windows-x86_amd64.exe [-listen IPアドレス] [-port ポート番号] ui

実行時、ファイアウォールの警告が出力された場合は許可してください。

listenportオプションを入力しない場合はlocalhost8080ポートでBreakout Tool設定用のWebサーバが起動してくるため、ターミナルはそのままにしてWebブラウザから自分のローカルアドレスにアクセスします。

アクセスした際に、以下画面のようなエラーが表示されますが、無視して問題ありません。

capture_24032021_081050.jpg

Configurationに移動すると以下画面のように表示されるので、以下表を参考に設定を変更します。

capture_24032021_081518.jpg

項目 設定 説明
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 addressUsernamePasswordは自身の環境に合わせて設定、また、Verify TLS certificateはSSL証明書を独自に取得する場合以外は無効化してください。

GUIでのラボ表示

Breakout Toolを使用してコンソール接続する場合、ラボのノードがどれか一台でも起動していないと画面に表示されないため、ラボのノードを何か起動しておきます。

先ほどの設定に問題がなければ「Labs」の設定をすることで以下の様に表示されます。

capture_26032021_071512.jpg

ラボのStatus欄にあるボタンを「ON」にすることで該当のラボのノードにコンソール接続する準備ができるので「ON」にしてラボ名を選択するとラボ内のノードが以下の様に表示されるため、Statusを「ON」にしてTeraTerm等でTelnetで接続します。

capture_26032021_072113.jpg

capture_26032021_072159.jpg

Breakout Tool起動用ショートカット作成

Breakout Toolを毎回コマンドプロンプト等で起動するのも面倒なのでショートカットを作成します。

リンク先」の後ろに「ui」を付与し、「実行時の大きさ」を「最小化」とすることで、次からBreakout Toolを起動するときにはショートカットを叩くだけで起動することができます。

capture_26032021_074800.jpg

コマンドでのBreakout Tool設定

GUI起動した場合と同様、コマンドプロンプト等で操作していきます。

設定の流れは先ほどのGUIと同じですが、最初にCML2ホストに接続するためのconfig.yamlをエクスポートします。

config.yamlの出力
./breakout-windows-x86_amd64.exe config

実行すると同じディレクトリに以下デフォルトのconfig.yamlが出力されるため、テキストエディタで開き、先ほどのGUI設定と同様に設定します。

config.yamlの編集
#
# 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 Toolconfig.yamlは同じディレクトリに配置して実行してください。

labs.yamlの出力
./breakout-windows-x86_amd64.exe init
labs.yamlの編集
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_Toolの実行
./breakout-windows-x86_amd64.exe run
Breakout_Tool実行時の表示例
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.

おわりに

今回は初期状態でアドレス等何も設定されていない機器を操作するために必須となるコンソール接続について説明しました。

次回は外部のネットワークに接続する方法を紹介したいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2