Linuxでコンソールサーバを作る

このページはこんな方におすすめです
  • コンソールサーバが欲しいけれどお高いのが悩み
  • 自分でコンソールサーバを作ってみたい

32ポートのコンソールサーバを買うのもバカバカしいので自作してみた記録です。自作と言うと大げさで、単にvSphere(ESXi)上のUbuntu Serverでconserverを動かすだけですから、どなたでも自作は簡単です。

事前に用意するもの
  • コンソールサーバを構築するLinuxマシン
  • USBハブ(たくさんポートが欲しい場合)
  • USBシリアルケーブル(たくさん)
  • シリアルケーブル(たくさん)

コンソールサーバの作り方

USBシリアルケーブルを認識させる

わたしはESXi上のUbuntu Serverをコンソールサーバにするので、単純にUSBポートへUSBシリアルを接続するだけじゃ駄目です。

ESXiでUSBシリアルケーブルを使う方法については、次の記事を参照してください。

参考記事:vSphere(ESXi)上のLinuxでUSBシリアルを使えるようにする

普通のPCにUSBシリアルを接続する場合は、認識することを確認するだけで大丈夫です。オススメのUSBシリアルは、やっぱりiBUFFALOの製品です。

迷ったらこれ!USBシリアルケーブルはiBUFFALOを選んどけばOKな理由

conserverのインストールと設定

conserver-serverとconserver-clientをインストールします。

$ sudo apt-get install conserver-server
$ sudo apt-get install conserver-client

設定ファイルは /etc/conserver/ にあります。まずは conserver.cf を編集します。このファイルに次の内容を追記しました。

console com0 {	master localhost;	type device;	device /dev/ttyUSB0;	baud 9600;	parity none;
}

これは接続するUSBシリアルの数だけ、com0と/dev/ttyUSB0の数字の部分を変えながら追記します。

そしてtrusted行のコメントを外しました。次のパスワード設定と絡みますが、信用したホストからの接続ではパスワード認証させないようにしたいので、trusted行のコメントを外しています。

access * {	trusted 127.0.0.1;	allowed 127.0.0.1;
}

最後にパスワード設定の conserver.passwd を編集します。空ファイルなので、次の内容を記載しました。

*any*:*

これでログインユーザーがパスワードなしにコンソール接続できます。設定が完了したらconserverを再起動します。

$ sudo service conserver-server restart
Restarting conserver: conserver.

コンソールサーバの使い方

接続するためには console コマンドを使います。

引数には conserver.cf で設定した「console XXX」のXXXの部分を指定します。

consoleで接続する

com3にCatalyst3750が繋がっているので接続してみましょう。

$ console com3
[Enter `^Ec?' for help]
Switch>
Switch>show version
Cisco IOS Software, C3750 Software (C3750-IPSERVICES-M), Version 12.2(25)SEE2, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2006 by Cisco Systems, Inc.
Compiled Fri 28-Jul-06 08:46 by yenanh
Image text-base: 0x00003000, data-base: 0x010CE290
ROM: Bootstrap program is C3750 boot loader
BOOTLDR: C3750 Boot Loader (C3750-HBOOT-M) Version 12.2(25r)SEC, RELEASE SOFTWARE (fc4)
Switch uptime is 7 hours, 3 minutes
System returned to ROM by power-on
System image file is "flash:c3750-ipservices-mz.122-25.SEE2/c3750-ipservices-mz.122-25.SEE2.bin"
cisco WS-C3750-24TS (PowerPC405) processor (revision N0) with 118784K/12280K bytes of memory.
Processor board ID FDO1214X0PE
Last reset from power-on
1 Virtual Ethernet interface
24 FastEthernet interfaces
2 Gigabit Ethernet interfaces
The password-recovery mechanism is enabled.
Switch>

ヘルプを表示する

conserverのヘルプを表示させるためには「Ctrl+e」の後「c」を押します。すると「]」が表示されるので、続けて「?」を押します。するとヘルプが表示されます。

Switch>[help] . disconnect ; move to another console a attach read/write b send broadcast message c toggle flow control d down a console e change escape sequence f force attach read/write g group info i information dump L toggle logging on/off l? break sequence list l0 send break per config file l1-9 send specific break sequence m display the message of the day n write a note to the logfile o (re)open the tty and log file p playback the last 60 lines P set number of playback lines r replay the last 20 lines R set number of replay lines s spy mode (read only) u show host status v show version info w who is on this console x show console baud info z suspend the connection | attach local command ? print this message <cr> ignore/abort command ^R replay the last line ooo send character by octal code

別のコンソールへ切り替える

複数のコンソールがある場合は(なきゃconserverなんて不要でしょうが…)、簡単にコンソールを切り替える事ができます。切り替えるためには「Ctrl+e」の後「c」を押します。すると「]」が表示されるので、続けて「;」を押します。「console: 」と表示されるので、ここで接続したいコンソールを入力します。com1にはCiscoルーターが接続されているので、com1に切り替えてみましょう。

Switch>
Switch>[console: com1]
[Enter `^Ec?' for help]
Router>
Router>

ステータスを表示する

使えるコンソールポートの確認や、利用状況を確認することができます。「Ctrl+e」の後「c」を押します。すると「]」が表示されるので、続けて「u」を押します。

Router>[hosts] com3 up <none> com2 up <none> com1 * up shj@localhost com0 up <none>
Router>

 終了させる

conserver-clientから抜けるためには「Ctrl+e」の後「c」を押します。すると「]」が表示されるので、続けて「.」を押します。これでシェルに戻ります。

まとめ

安価にコンソールサーバを作るにはUSBハブでUSBポートを増やして、そこにUSBシリアルを挿しまくってconserverを立ち上げる。

これで何万も何十万も出費してコンソールサーバを買う必要はありません。使い方を覚えると結構便利なので、ここで紹介していない機能についてはヘルプを見ながら色々と試してみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)