kushieda のすべての投稿

KVM の構築済み仮想マシンにNICを追加しようとした際にハマった話

前回の続き(VMware FusionにCentOS8.3 + KVM でゲストOSインストールにハマった話)。いったん、KVM上に仮想マシンを作成し、起動するところまでできたので、次は構築済みの仮想マシンにネットワークインターフェースを追加しようとした際にハマった時の話。

■前提

  • MacBookPro(Big Sur 11.2.3)+VMware FusionにCentOS8.3をインストール
  • ホストOSであるCentOS8.3上にKVMをインストールし、仮想化環境を構築
  • ゲストOSとして、CentOS8.3をインストールしたい←ここまでが前回までの内容
  • ゲストOSにネットワークインターフェースを接続し、MacBookProからSSH接続したい(←New!)
構成概要図。上記のように、VMware Fusion上にインストールしたCentOS8.3(ホストOS)にKVMを構築、そこにゲストOSとしてCentOS8.3をインストール。ゲストOSにNICを追加し、MacBookProとゲストOSとで通信させたい。

■virt-managerによるGUIでの構築

KVM上にゲストOSの構築が済んでおり、新たにNIC(enp2s0)を追加を行ったが。。。前回同様、” No bootable device. ”と表示され、NICが追加できない。

GUIによるゲストOSへNIC追加に失敗した様子。shutdownしたゲストOSにNICを追加し、起動しようとしたが” No bootable device. ”。何回か試したが、結局抜けられず。

■virshコマンドによるCUIでの構築

virt-managerによるGUIでの構築がうまくいかなかったので、前回同様、virshコマンドで初期インストール時にNICを接続する方法を試みる。
なお、今回使ったコマンドは以下。
参考にしたURLはこちら

virt-install \
--name centos8 \
--ram 2048 \
--disk path=/var/lib/libvirt/images/centos8.img,size=6 \
--vcpus 2 \
--os-type linux \
--os-variant rhel8.0 \
--network bridge=br0 \
--network type=direct,source=ens37,source_mode=bridge \ ←New
--graphics vnc,keymap=us \
--console pty,target_type=serial \
--location /root/Desktop/CentOS8.3_minimal.iso
無事、インストール完了!上記は、virt-managerによるGUIでのゲストOS画面
※nmtuiコマンドで、enp2s0 のIPアドレスを変更済み。

■MacBookPro − ゲストOS間の疎通確認

そして、ホストPCである、MacBookProのターミナルからPingおよびSSH接続確認実施

(base) Lab@ ~$ ping 192.168.210.4
PING 192.168.210.4 (192.168.210.4): 56 data bytes
64 bytes from 192.168.210.4: icmp_seq=0 ttl=64 time=4.903 ms
64 bytes from 192.168.210.4: icmp_seq=1 ttl=64 time=3.486 ms
64 bytes from 192.168.210.4: icmp_seq=2 ttl=64 time=3.510 ms
64 bytes from 192.168.210.4: icmp_seq=3 ttl=64 time=4.710 ms
64 bytes from 192.168.210.4: icmp_seq=4 ttl=64 time=2.880 ms
^C
--- 192.168.210.4 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.880/3.898/4.903/0.778 ms
(base) Lab@ ~$ 
(base) Lab@ ~$ 
(base) Lab@ ~$ ssh root@192.168.210.4
root@192.168.210.4's password: 
Last login: Sat May  8 11:29:38 2021
[root@localhost ~]# 
[root@localhost ~]# 

ゲストOSへSSH接続できた!

※ちなみに、KVMをインストールしているホストOSですが、

[root@Lab ~]# virsh version
Compiled against library: libvirt 6.0.0
Using library: libvirt 6.0.0
Using API: QEMU 6.0.0
Running hypervisor: QEMU 4.2.0

[root@Lab ~]#

前回の内容も同じバージョンです

<virshコマンド備忘録>

  • 仮想マシンの削除:
     $ virsh undefine <ドメイン名>
  • 仮想マシンに接続されていたボリュームの削除:
     $ virsh vol-delete <ボリュームパス>
     
    ※$ virsh undefine だけでは、仮想マシンのボリュームを削除できないので、$ virsh vol-delete で完全に削除。なお、ボリュームのパスは $ virsh domblklist <ドメイン名>

CentOS8.3では、virt-managerによる仮想マシン構築はうまくいかないかも・・。設定状況を見たり、ゲストOS初期インストール時のGUI操作(キーボードレイアウト選択したり、インストール用のディスク選択したりのあの画面操作です)はうまくいくんですが。。
この辺りの情報を調べたら、またご紹介したいと思います。

Aruba SWの初期セットアップとAruba Centralへの帰属方法について

これまでの内容(Aruba Centralを無料で試してみるAruba APの初期セットアップ方法について)で、Aruba Central・Aruba APの初期セットアップ方法を調査しました。
今回は、Aruba SWの初期セットアップ方法とAruba Centralへの帰属方法を調査しました。

■Aruba SW初期設定

まずは初期設定。参考はこちら

  1. SWとPCの接続
    • コンソールケーブルによる接続を行うが、RJ-45コネクタとマイクロUSBの両方を利用可能。ただし、マイクロUSBは別途PCにドライバが必須。
    • ターミナルソフトの設定
      TeraTerm等のターミナルソフトでは、下記の設定を実施。
       
       ボーレート:1,200〜115,200の範囲で任意
       データ:8bit
       パリティ:none
       ストップ:1bit
       フローコントロール:none
       
       ※ボーレートはSW側で自動認識される。
  1. 電源投入
    • Boot ROM起動後、Boot Profilesの番号を入力することで、起動種別を選択可能。
  1. IPアドレスの設定
    • デフォルトでユーザ名、パスワードが未設定のため、機器へのログインはEnterでOK。
    • 環境に合わせ、Aruba Centralへの接続用IPアドレス、ポート設定、DNS設定等を実施。

■Aruba Centralへの帰属方法

次にSWをAruba Centralへ帰属させる。参考はこちら

  1. Aruba CentralへのSW登録・サブスクリプションの割り当て
    • 登録させたいSWの「シリアル番号」「MACアドレス」を利用したデバイスの登録方法やサブスクリプションの割り当て方法はこちらを参照。
  1. SWの帰属
    • SWをインターネットへ接続するインターネット上のAruba Centralには、HTTPS接続を利用します。そのため、SWへのIPアドレス割り当て、DNS、FWへの穴あけ等が必要になります。※Proxy経由でのアクセスも可能
    • Aruba Central側での帰属確認
      1. Aruba Centralログイン後、画面右上の歯車マークをクリックし、アカウントホームへ
      2. アカウントホーム内、「デバイスインベントリ」をクリック
      3. 接続されたデバイスのステータスがグリーンとなっていることを確認(※サブスクリプションの事前割り当てが必要)
    • SW側での帰属確認
      1. 下記コマンドにおける
        「Activate Connection Status」が「Success」
        となっていることを確認
        ※サブスクリプションが未割り当て時:「Failure」に。
         # show activate provision
         
        なお、「Activate provision service」が無効の場合、# Activate provision service を実行。
         
      2. 強制的にAruba Centralへの接続を行う場合は下記コマンドを実行
         # Activate provision force

Aruba APの初期セットアップ方法について

前回の内容(Aruba Centralを無料で試してみる)でAruba Centralを使えるようになったので、実際にAPの初期設定やAruba Centralに帰属させていく場合を調査しました。

■Aruba AP

初期設定の流れです。こちらのURLを参考にしています。

  1. APとPCの接続
    • APはデフォルトでIPアドレスが未設定。
      そのため、

       ・DHCPによる払い出し
       ・コンソールケーブルによる設定

      のどちらかを環境に合わせて選択。
      今回は「コンソールケーブルによる設定」を選択。
  1. 電源投入
    • AP本体にコンソールケーブルを接続する。
    • TeraTerm等のターミナルソフトを使用する場合は下記のように設定。
       
       ボーレート:9600
       データ:8bit
       パリティ:none
       ストップ:1bit
       フローコントロール:none
       
    • コンソールケーブル接続およびターミナルソフトの準備ができたら、電源アダプタまたはPoE給電を実施。
    • Bootの途中で、
      「Hit <Enter> to stop autoboot:」
      が表示されるので、Enter押下。
      ※なお、電源投入後、3〜4秒で表示
  1. IPアドレスの設定
    • 下記のコマンドで設定
# 1. 設定
   setenv ipaddr <ip アドレス>
   setenv netmask <netmask>
   setenv gatewayip <default gateway アドレス>
   setenv dnsip <DNS Server アドレス>

# 2. 設定確認
   printenv

# 3. 設定保存
   saveenv

# 4. 再起動
   boot
  1. APへのログイン
    GUI/CUI共通のログインID/パスワード
     ユーザ名:admin
     パスワード:admin
     (※AOS8.5以降は、APのシリアルナンバー)
     
    • GUIからのアクセス(←基本)
      1. 有線接続
        1. PCとAPをLANケーブルにて接続
        2. ブラウザのアドレスバーに、APに割り当てたIPアドレスを入力
      2. 無線接続
        1. PCにて、SSID:SetMeUp-xx:xx:xx(xx:xx:xxはAPのMACアドレス下6桁)に接続
        2. ブラウザのアドレスバーに、下記URLを入力
          https://setmeup.arubanetworks.com
    • CUIからのアクセス
      1. ターミナルソフトからアクセス
  1. Aruba CentralへのAP登録
    1. Aruba Centralへログイン
      ※アカウントの作成方法は、こちらを参照
    2. デバイスの登録
      1. ログイン後、画面右上の歯車マークをクリックし、アカウントホームへ
      2. アカウントホーム内、「デバイスインベントリ」をクリック
      3. 「デバイスの追加」を押下し、登録したいAPのシリアル番号とMACアドレスを入力
    3. サブスクリプションの割り当て
      1. サブスクリプションキーの追加
        1. アカウントホーム内、「キー管理」をクリック
        2. 事前に購入したサブスクリプションキーを入力し、一覧に追加されたことを確認
        3. アカウントホームへ戻る
      2. デバイスへの割り当て
        1. アカウントホーム内、「サブスクリプションの割り当て」をクリック
        2. 割り当てたいデバイスにチェックを入れ、「サブスクリプションの更新」を押下
    4. APの帰属確認
      1. APをインターネットへ接続する
        (※環境によって、DNSやFWへの穴あけ等必要になるため、注意)
      2. Aruba Central上、[デバイス]-[アクセスポイント]タブより、「稼働中」or 「ダウン」の数字がカウントアップされ、該当APが追加されていることを確認

Aruba Centralを無料で試してみる

有線・無線ネットワークの設定や監視をクラウド環境から管理可能な、Aruba Centralを無料で試してみました。
無料と言いつつ、こちらで登録したデバイスにサブスクリプションを割り当てることで、商用利用していくことになります。
備忘録です。

※注意:Aruba Centralの試用期間は90日間です。それ以降も使用する場合はライセンスを適用する必要がありますので、タイミングにはご注意ください。

■HPにアクセス

こちらのページにアクセス

上記URLアクセス後。「ARUBA CENTRALを無料で試してみる→」をクリック 。すると、以下のページに遷移。
上記画面が表示されtら、「ARUBA CENTRALを試す→」をクリック。

■アカウント作成

すでにArubaのアカウントをお持ちの方はそのままサインアップへ。まだお持ちでない方はここで作成。

必要事項を記入。言語は右上から日本語を選択済み。
必要事項を記入。日本国内のClusterを使用する場合はサーバの詳細で「APAC-EAST1」を選択。

■Aruba Centralへログイン

必要事項を記入後、記載したメールアドレス当てに確認用メールが届くので、リンクをクリック。メールアドレスとパスワードの入力が求められるので、入力。

ログイン画面。登録時記載したメールアドレスとパスワードを入力。
ログイン成功後。こんな感じの画面が出るので、迷わず「今すぐ評価する」をクリック。
Aruba APやSWの登録画面が出るが、いったん無視してこちらのダッシュボードへ遷移。

できた!

パッと見た感じ、「グループ」を作成し、そこにAPやSWを帰属させて案件毎に管理、なんてこともできそう(実機が手元に無く、そこまで確認できていないが)。

SSID設定画面

ひとまず、左上のグループを「default」を選択。設定に入る場合は画面右上の「設定」をクリック。すると設定画面に遷移できる。上記は「SSIDの追加」の一歩手前。SWも同様に色々と設定ができそう。

VMware SD-WAN by VeloCloudについて#2

VMware SD-WAN by VeloCloudについて調査したので、備忘録になります。今回は「VeloCloudでできそうなこと」について。Administration-Guideから内容を抜粋しています。
なお、VeloCloudの「概要」についてはこちらを参照。

【VeloCloudでできそうなこと】
こちらのHPを参照し、機能をピックアップ(※VMware SD-WAN Administration-Guideに飛びます)

  • WAN回線の自動選択
    • アプリの優先度、NWの要件、リアルタイムの帯域などを基に、自動で実行される
  • Cloud VPN
    • 1-clickでIPsecによるVPN接続が可能
    • VMware以外のSD-WANサイトとも接続できる(らしい)
    • Amazon AWSなどのサードパーティデータセンターとも接続可能
  • QoS
    • 2,500以上のアプリケーションを識別でき、それを基にQoSをかけられる
  • Firewall
    • ステートフルな制御が可能
  • Overlay Flow Control
    • Edgeで学習した、OSPFやBGP経路をGatewayやControllerへ送信
    • 経路を受け取ったGatewayやControllerは、その他のEdgeへ経路情報を伝播させる
  • OSPF
    • OSPFネイバーに対する、Inbound/Outboundフィルターをサポート(←1つのエリアで同じLSAを保持するOSPFでどのように動作するのか・・)
    • OE1,OE2,MD5認証もサポート
    • OSPFで学習した経路は、自動でController側へ再配送される
  • BGP
    • Inbound/Outboundフィルターをサポート
    • BGPアトリビュート(Community, MED, AS-Path, Local Preference)が使用可能
  • セグメント
    • Vlan設定可能
    • VRF設定可能
    • 異なるVRFで、IPアドレス被りもOK
    • End-to-Endでセグメント分離が可能(パケットに「Segment ID」を付与することで実現。VXLANみたいなイメージかな?)
  • VMware Tunnel Overhead
    • DMPO(Dynamic Multipath Optimization)をサポートするために、VCMP(VeloCloud Multipath Protocol)と呼ばれるプロトコルでカプセル化
    • VCMPは、ユーザパケットに31Byteのオーバーヘッドを追加
    • UDP:2426ポートで動作

VMware SD-WAN by VeloCloudについて#1

VMware SD-WAN by VeloCloudについて調査したので、備忘録になります。今回は「概要」について。
「VeloCloudでできそうなこと」については、こちらを参照(Administration-Guideより、内容を抜粋しています)。

【概要】
VMware SD-WAN by VeloCloudは、従来のルーター機能に加え、アプリ識別機能、FW機能、L4-7QoS、WAN回線冗長化・LAG化機能などを備えた、Software-Defined WAN(SD-WAN)である。

特に、VeloCloudの売りとしては、「WAN回線の冗長化・LAG化」の部分の様子。※昨今、WANへ流入する通信量は増加の一途をたどる中、WAN回線をActive-Standbyとした場合、「Standby回線普段使ってないのもったいないよね?でもVeloCloudならStandby回線も使えるようになるよ!」ということらしい。WAN回線を「LAG化」というのは、つまり、L2SWでいうところのLink Aggregation、サーバでいうところのチーミングやボンディングのように、通信帯域が拡張可能なこと意味している。

もちろん、「SD-WAN」なので、クラウド側での状態監視・ZTP(ゼロタッチプロビジョニング)・DPI(Deep Packet Inspection)などの機能も備えています。

VeloCloudの構成概要。VeloCloud EdgeのWAN回線(Active, Standby, LTE)をLAG化し、各帯域が1Gbpsだとすると、合計3Gbpsを常時使用可能となる。

VeloCloudの構成要素(※図での青いオブジェクト)

  1. Orchestrator
    • 機器の構成管理、Edgeへの設定配信、回線状況監視等が実施可能。クラウドサービス。
  2. Cloud Gateway
    • インターネット上の各サービスへの最適な経路を自動で選定。回線パフォーマンスの補正、平準化も実施。
  3. VeloCloud Edge
    • 設定をOrchestratorから受け取り、自動で設定可能。アプリ毎に使用するWAN回線を振り分け可能。ゼロタッチプロビジョニング可能。

CentOS8.3 + KVM でゲストOSインストールにハマった話

VMware FusionにCentOS8.3をインストール→KVM(virt-manager)を使ってゲストの仮想マシン作成しようとした際のエラー内容と解決方法になります。
※今回で構築したゲスト仮想マシンに対し、NICを追加する際の内容はこちらを参照のこと。

【やりたいこと】

  • MacBookPro(Big Sur 11.2.3)+VMware FusionにCentOS8.3をインストール
  • ホストOSであるCentOS8.3上にKVMをインストールし、仮想化環境を構築
  • ゲストOSとして、CentOS8.3をインストールしたい
※ホストOSに「virt-manager」をインストールし、GUIで仮想マシンを作成した際の画面
” No bootable device. ”と表示され、ISOファイルを認識できないのかゲストOSのインストールが進まない・・。

【解決方法】
virt-installコマンドにより、インストール実施

[root@Lab ]# virt-install \
--name centos8 \
--ram 2048 \
--disk path=/var/lib/libvirt/images/centos8.img,size=6 \
--vcpus 2 \
--os-type linux \
--os-variant rhel8.0 \
--network bridge=br0 \
--graphics vnc,keymap=us \
--console pty,target_type=serial \
--location /root/Desktop/CentOS8.3_minimal.iso
  • br0:事前にホストOSと接続するためのBridgeを作成済みでした
  • location:あらかじめホストOSにインストール用ISOファイルを作成しておきました。VMware FusionにてホストOSにインストール用ISOイメージをマウント→ホストOS内でmkisofsコマンドでISO化。

※初めてKVMを触って、ハマったので覚書でした。

【Cisco】トラフィックレート確認用コマンドのご紹介

Cisco ASR1Kシリーズ、ISRシリーズ、Catalystシリーズで使用可能な、トラフィックレート確認用コマンドのご紹介です。
「機器でどの程度のトラフィックレートが出ているか?」を確認する際に有効です。ぜひご参考に。

1.Cisco ASR1KシリーズやISRシリーズで使用可能なコマンド

show platform hardware qfp active datapath utilization
コマンド出力例:show platform hardware qfp active datapath utilization

このコマンドでは、機器(正確にはESP)で受信/送信しているトラフィックレートを確認できます。
例えば、上記の例であれば、

  • 直近5秒の間で
    • Inputレートが、2Mbps、1000pps
    • Outputレートが、1Mbps、500pps
    • CPU使用率が、1%
  • であることを示しています。

私はよくトラフィックレートを計測する性能試験で使用しますが、リアルタイムに値を確認できるので非常に便利に思います。

show interfacesでもトラフィックレートは確認できますが、リアルタイムでは確認できません。しかし、リアルタイムでレートを確認できるこのコマンドは非常に有効です。

2.Catalystシリーズ(2960,3750,3850,3650等)で使用可能なコマンド

show controllers utilization
コマンド出力例:show controllers utilization

このコマンドでは、各I/Fの帯域利用率を確認することができます。
例えば、上記の例であれば、

  • Gi1/0/2
    • 受信帯域の、99%使用中
  • Gi1/0/3
    • 送信帯域の、20%使用中
  • であることを示しています。

「帯域利用率」を示しているので、I/FのリンクアップSpeedによって変化します。

  • 例:1000M/Fullでリンクアップしてる中で100%使用→1Gのトラフィックレート
  • 例:100M/Fullでリンクアップしてる中で20%使用→20Mのトラフィックレート

正確なトラフィックレートは確認できないものの、大まかなレートは確認できるので、こちらも性能試験等でよく使用しています。

ルーティングは大丈夫なはずなのに、トラフィックが流れない!というトラブルシュート時に、「どこまでトラフィックが流れているか?」を確認する際は、とてもパワーを発揮するコマンド達です。

ぜひ、ご参考に!

Raspberry Piの擬似コンソールサーバ化

複数のCisco機器へのコンソール接続をしなければならない状況で「コンソールサーバがあれば便利なのになぁ…」と思い、自宅に転がっていたRaspberry Piで擬似コンソールサーバを作成してみました。

ラズパイのコンソールサーバ化

今回は、「Raspberry Pi 3 Model B」 を使用します。このRaspberry Pi(以下、ラズパイ)には、デフォルトでwi-fi接続可能な無線LANアダプターが搭載されていますので、作業用PCとラズパイ間を無線接続させ使用します。

そうすると、ラックに搭載された複数のCisco機器とラズパイとをあらかじめコンソール接続しておけば、無線が届く範囲の離れた位置から作業用PCにて遠隔でラズパイへSSH接続し、コンソールにて各機器の設定をする、ということが可能になるわけですね。

(※検証環境等では、必ずしも機器のすぐ近くに作業用机を持っていけないことも多いと思いますので、そういった環境で無線接続可能なラズパイのコンソールサーバ化が効果を発揮すると思います。)

設定方法

ラズパイをコンソールサーバ化するにあたり、手順を以下に記載します。

  1. ラズパイの無線接続
  2. ターミナルエミュレータ(minicom)のインストール
  3. シリアルポートとパラメータのマッピング
  4. 機器へのコンソール接続

それでは早速、説明していきたいと思います。

1.ラズパイの無線接続

※本記事では、説明を割愛いたしますが、以下のターミナルエミュレータ(minicom)をインストールする際は、有線または無線のどちらかをインターネット接続した状態で作業した方が楽です。

2.ターミナルエミュレータ(minicom)のインストール

まずは、ターミナルエミュレータ(minicom)をラズパイへインストールしていきます。minicomは、シリアル通信を制御するためのソフトウェアになります。シリアルポート接続時の「TeraTerm」のような動きをしてくれます。

インストールは以下のコマンドで。

sudo apt-get install minicom
pi@raspberrypi ~ $ sudo apt-get install minicom
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 The following packages were automatically installed and are no longer required:
   libboost-atomic1.55.0 libboost-thread1.55.0 libqt4-dbus libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5
   libqt5printsupport5 libqt5svg5 libqt5widgets5 libruby2.1 libscsynth1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0
   libxcb-render-util0 libxkbcommon-x11-0 libyaml-0-2 qdbus qtchooser qttranslations5-l10n ruby ruby2.1 rubygems-integration
 Use 'apt-get autoremove' to remove them.
 The following extra packages will be installed:
   lrzsz
 The following NEW packages will be installed:
   lrzsz minicom
 0 upgraded, 2 newly installed, 0 to remove and 97 not upgraded.
 Need to get 332 kB of archives.
 After this operation, 997 kB of additional disk space will be used.
 Do you want to continue? [Y/n] Y
 Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main lrzsz armhf 0.12.21-7 [81.6 kB]
 Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main minicom armhf 2.7-1+deb8u1 [250 kB]
 Fetched 332 kB in 1s (180 kB/s)  
 Selecting previously unselected package lrzsz.
 (Reading database ... 108866 files and directories currently installed.)
 Preparing to unpack .../lrzsz_0.12.21-7_armhf.deb ...
 Unpacking lrzsz (0.12.21-7) ...
 Selecting previously unselected package minicom.
 Preparing to unpack .../minicom_2.7-1+deb8u1_armhf.deb ...
 Unpacking minicom (2.7-1+deb8u1) ...
 Processing triggers for man-db (2.7.5-1~bpo8+1) ...
 Processing triggers for menu (2.1.47) ...
 Setting up lrzsz (0.12.21-7) ...
 Setting up minicom (2.7-1+deb8u1) ...
 Processing triggers for menu (2.1.47) ...
pi@raspberrypi ~ $

3.シリアルポートとパラメータのマッピング

次は、シリアルポートとパラメータのマッピングをしていきます。内容としては、minicomで使うファイルに、対象のUSBコンソールケーブルIDや ボーレート等の各パラメータを記述していきます。ここで作成したファイルを利用することでコンソールログインが実施可能になります。

ファイル作成および記述内容は以下になります。
※”USB0”の部分は任意の値でOKです。

sudo nano /etc/minicom/minirc.USB0
pi@raspberrypi ~ $ cat /etc/minicom/minirc.USB0
pu port             /dev/ttyUSB0
pu baudrate         9600
pu bits             8
pu parity           N
pu stopbits         1

なお、”/dev/ttyUSB0”は、USBシリアルコンソールをラズパイに接続した状態で、以下のコマンドにて確認可能です。

pi@raspberrypi ~ $ ls -d /dev/* | grep ttyUSB
/dev/ttyUSB0

4.機器へのコンソール接続

これで準備は完了になりますので、いよいよ接続になります。接続のコマンドは以下になります。

minicom USB0

実行すると…

minicomによるコンソール接続時

これでラズパイから機器へコンソール接続が可能になりました。なお、上記ではコンソールケーブルの先に、未設定のCisco機器が接続されています。
「Press CTRL-A Z for help on special keys」とあるので、Ctrl + A押下後、Zを押下すると、下記のようなメニューが出てきます。

コンソール接続時におけるメニュー画面

なお、戻るときは、上記メニュー画面で”X”を押下します。

【cisco】連続ログ取得マクロ(コマンドリスト無)

Cisco機器に対し、SSHログイン+連続ログ取得するTeraTermマクロを作成したので、ご紹介します。
SSHログイン用のTeraTermマクロはこちらを参照。
今回は、SSHログイン用マクロの改良版になります。

動作としては、

Cisco機器(1台)へSSHログイン→特権モードへ移行→ログ保存開始→terminal length 0を投入→マクロ内に記載したコマンドを実行&ログ取得

になります。

マクロのファイル内に、あらかじめ取得したいコマンドを記載しておく必要はありますが、特定のログを何度も取得する場合は効果有りかと思います。

ぜひご参考に。

02_連続ログ取得マクロ(コマンドリスト無).ttl

;; 連続ログ取得Macro(コマンドリスト無)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログイン用パラメータ         ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	hostname = 'RT01'
	username = 'cisco'
	ipaddr = '192.168.1.1'
	sshpasswd = 'cisco'
	enablepasswd = 'cisco'


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログ用パラメータ            ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	portnum = '22'
	logname = '02_log_'
	logdir = 'log'


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログ取得コマンド            ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	cmdidx = 4		;【必須】取得するコマンド数を指定

	strdim cmdarray cmdidx
	cmdarray[0] = 'sh ip interface brief'	;配列のインデックスは ”0” から開始
	cmdarray[1] = 'sh interface'
	cmdarray[2] = 'sh ip route'
	cmdarray[3] = 'sh run'


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログ保存用ディレクトリ作成    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	getdir CRNTDIR
	cmd = 'cmd /c mkdir '
	Strconcat cmd '"'
	Strconcat cmd CRNTDIR
	Strconcat cmd '¥'
	Strconcat cmd logdir
	Strconcat cmd '"'
	exec cmd "HIDE"


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    SSHログイン                ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	msg = ipaddr
	Strconcat msg ':portnum /ssh /auth=password /user='
	Strconcat msg username
	Strconcat msg ' /passwd='
	Strconcat msg sshpasswd
	Strconcat msg inputstr

	Connect msg

	If result <> 2 then
		Strconcat logfile ipaddr
		Strconcat logfile '.error'
		Filecreate ERRORFILE logfile
		Fileclose ERRORFILE
		Closett
		Return
	Endif


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログファイル用現在時刻取得   ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	Getdate Str_Getdate
	Strcopy Str_Getdate 1 4 Str_Year
	Strcopy Str_Getdate 6 2 Str_Mon
	Strcopy Str_Getdate 9 2 Str_Day

	Gettime Str_Gettime
	Strcopy Str_Gettime 1 2 Str_Hour
	Strcopy Str_Gettime 4 2 Str_Min
	Strcopy Str_Gettime 7 2 Str_Sec

	Strconcat nowtime '_'
	Strconcat nowtime Str_Year
	Strconcat nowtime Str_Mon
	Strconcat nowtime Str_Day
	Strconcat nowtime Str_Hour
	Strconcat nowtime Str_Min
	Strconcat nowtime Str_Sec
	Strconcat nowtime '.txt'


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログ保存開始               ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	Strconcat logname hostname
	Strconcat logname nowtime

	getdir FILEPATH
	Strconcat FILEPATH '¥'
	Strconcat FILEPATH logdir
	Changedir FILEPATH

	Strconcat FILEPATH '¥'
	Strconcat FILEPATH logname
	Logopen FILEPATH 1 1

	Logwrite '****************************************'#13#10
	Logwrite 'Hostname: '
	Logwrite hostname
	Logwrite #13#10
	Logwrite 'IP Address: '
	Logwrite ipaddr
	Logwrite #13#10
	Logwrite 'Execution time: '
	Str_Get = Str_Getdate
	Strconcat Str_Get ' '
	Strconcat Str_Get Str_Gettime
	Logwrite Str_Get
	Logwrite #13#10
	Logwrite '****************************************'#13#10
	Logwrite #13#10
	Logwrite #13#10
	Sendln ''


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    [Cisco]特権モードへ移行      ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	Wait '#' ']$' ']#' '>'
	If result = 4 then
		Sendln 'enable'
		Wait 'assword:'
		Sendln enablepasswd
		Wait '#'
		Sendln 'terminal length 0'
		Wait '#'
	Endif


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    連続ログ取得(コマンドリスト無);
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	for i 0 cmdidx - 1
		Sendln cmdarray[i]

		Wait '>' '#'
		Sendln ''
		Wait '>' '#'
		Sendln ''
		Wait '>' '#'
		Sendln ''
		Mpause 100
	next


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    マクロの終了                ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	closett
	end