はじめに
第4回目となる今号は、
コンソールサーバとは
各種機器のコンソールにネットワークを介して接続するハードウェア、 シリアル、 OBS600のWebインターフェースのアプリケーションマネージャ、 今回は3台のサーバを用意して、 server1のCOM1ポートとOBS600の背面にあるRS232Cポートを、 OBS600にシリアルコンソール、 通常ホストの設定は/etc/ ConserverをOBS600起動時に自動実行する場合は、 OBS600の通常起動時ではRAMディスクにルートファイルシステムを展開しているため、 アプリケーションマネージャ、 conserver. ①default fullブロック:ユーザのアクセス制御の設定 ②default *ブロック:conso leブロックの共通の設定 ③コンソールごとの設定 今回、 Conserverにアクセスするパスワードはシステムのパスワードと同一にしたため、 server1は、 カーネルの起動オプションにconsole出力の設定を行います。/boot/ ttyS0の設定を追加します Conserverの起動スクリプトを実行します コンソールへの接続は、 ssh、 consoleコマンドの終了方法は、 ctrl+e、 Conserverでは1つのコンソールに対して1人のみキー入力ができます。後からの接続はRead onlyとなります。Read onlyコンソールは入力権限を持っているユーザのキー入力を1文字ずつリアルタイムでモニタリングします。入力権限を持っているユーザが切断した場合、 図9はrootユーザがsshのコンソールに接続しているときに、 コンソールのログファイルは、 ログファイルから、 console serialのログを抜粋します OpenBlockS 600とConserverでコンソールサーバを構築しました。ログファイルから以前の操作手順を参照したり、 弊社ではOpenBlockSのカーネルのデバッグを行う際に、Conserverとは
準備
Conserverのインストール
# pkg_add conserver8
機器構成
OBS600の設定
接続対象のホスト名の設定
172.16.14.90 server1
172.16.14.91 server2
172.16.14.92 server3
rc.
# ls /usr/pkg/etc/rc.dappmgr conserver8
# echo conserver8 YES >> /etc/rc.conf
設定内容を本体のFlashROMに保存
# flashcfg -s /etc/flashcfg
conserver.
default full { ←①
rw root,plathome;
ro watch;
}
default * { ←②
logfile /usr/pkg/var/consoles/&;
logfilemax 1m;
timestamp 1hab;
include full;
master localhost;
}
console ssh { ←③
type exec;
exec ssh user2@server2;
}
console telnet { ←③
type exec;
exec telnet server3;
}
console serial { ←③
type device;
device /dev/ttyS1; parity none; baud 115200;
}
rwはキーボード入力できるattach read/
logfile行のログファイル名に “&”
1h 1時間。他に分 a コンソールへの接続/ b break信号をログに出力
ssh、conserver.
*any*:*passwd*
server1の設定
grubの設定
title Debian GNU/Linux, kernel 2.6.26-2-686
root (hd0,0)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda1 ro console=tty1 console=ttyS0,115200
initrd /boot/initrd.img-2.6.26-2-686
inittabの設定
# Example how to put a getty on a serial line
# (for a terminal)
#
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
# T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
動作確認
Conserverの起動
# /usr/pkg/etc/rc.d/conserver8 start
Starting conserver.
# ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:58 init [2]
〈略〉
9830 ? Ss 0:00 sshd: root@pts/3
9832 pts/3 Ss 0:00 -bash
9862 ? Ss 0:00 /usr/pkg/sbin/conserver -d
9863 ? S 0:00 /usr/pkg/sbin/conserver -d
9868 pts/0 Ss+ 0:00 telnet -l user3 server3
9869 pts/1 Ss+ 0:00 ssh user2@server2
9879 pts/3 R+ 0:00 ps ax
Consoleコマンド
# console ssh
Enter [email protected]'s password: ←①OpenBlockS 600のrootユーザのパスワードを入力
[Enter `^Ec?' for help]
[-- MOTD -- just a simple ssh to server2]
←②空リターンを入力
Connection closed by 172.16.14.91
The authenticity of host 'server2 (172.16.14.91)' can't be established.
RSA key fingerprint is ce:e7:4a:c1:6f:f5:2e:68:06:09:31:13:68:a7:63:55.
Are you sure you want to continue connecting (yes/no)? yes ←③yesを入力
Warning: Permanently added 'server2,172.16.14.91' (RSA) to the list of known hosts.
user2@server2's password: ←④パスワードを入力
Last login: Thu Aug 26 16:56:30 2010 from 172.16.14.98
SSD/Linux 0.5-20100723/2.6.29 #1 SMP Fri Jul 23 16:28:00 JST 2010
$
# console telnet
Enter [email protected]'s password: ←①OpenBlockS 600のrootユーザのパスワードを入力
[Enter `^Ec?' for help]
[-- MOTD -- just a simple telnet to server3]
←②空リターンを入力
Login incorrect
server3 login: user3 ←③ログインIDを入力
Password: ←④パスワードを入力
server3[7]
$
# console serial
Enter [email protected]'s password: ←①OpenBlockS 600のrootユーザのパスワードを入力
[Enter `^Ec?' for help]
←②空リターンを入力
Debian GNU/Linux 5.0 server1 ttyS0
server1 login: user ←③ログインIDを入力
Password: ←④パスワードを入力
Linux server1 2.6.26-2-686 #1 SMP Mon Jun 21 05:58:44 UTC 2010 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/
copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
user1@server1:?
$
終了コマンド
$ [disconnect]
# ←sshが切断されてOBS600のプロンプトに戻ります
コンソールの切り替え
$ [console: serial]
[Enter ^Ec? for help]
←空リターンを入力
Debian GNU/Linux 5.0 server1 ttyS0
server1 login:
同一コンソールへの接続
$ console ssh
Enter [email protected] s password:
[Enter ^Ec? for help]
[no, root@localhost is attached] ←①
[read-only -- use ^E c ? for help] ←②
pwd ←③
/home/user2
$
[attached] ←④
コンソールの操作をしたい場合は、ログファイル
# ls /usr/pkg/var/consoles/
serial ssh telnet
sshのログ
[--root@localhost attached --Mon Aug 30 17:42:04 2010] ←①
Permission denied, please try again.
user2@server2's password:
Last login: Mon Aug 30 17:32:02 2010 from 172.16.14.98
SSD/Linux 0.5-20100723/2.6.29 #1 SMP Fri Jul 23 16:28:00 JST 2010
server2[21]$ pwd
/home/user2
server2[22]$ v/^H ^Hi /etc/hosts^C ←②
server2[22]$
server2[22]$
server2[22]$ [--root@localhost detached --Mon Aug 30 17:42:56 2010] ←①
[--plathome@localhost attached --Mon Aug 30 17:42:56 2010] ←①
server2[22]$ pwd
/home/user2
serialのログ
[--root@localhost attached --Tue Aug 31 11:53:45 2010] ←①
Debian GNU/Linux 5.0 server1 ttyS0
server1 login: user1
Password:
Last login: Mon Aug 30 11:41:13 EDT 2010 on ttyS0
(略)
Debian GNU/Linux 5.0 server1 ttyS0
server1 login: [--MARK --Tue Aug 31 14:00:00 2010] ←②
root
Password:
Last login: Tue Aug 31 09:39:14 EDT 2010 on ttyS0
まとめ
参考ページ