2007年 5月 25日 金曜日
やっぱり Sun がスキ!
Firewall 越しに RKVMS を使おう!
Sun Fire x64 Server ファミリに搭載されている RKVMS。
ネットワーク越しにサーバのコンソールを取得出来るこの機能は意外と便利ですよね。
ネットワーク越しにサーバのコンソールを取得出来るこの機能は意外と便利ですよね。
今回は、Firewall の中にいる Sun Fire x64 Server の RKVMS を Firewall
の外から使う為の手順を簡単にまとめてみます。
通常 Firewall 越しにネットワーク機能を使おうとすると、Firewall に必要な
ポートを開ける設定をするかと思います。
ただそれではあまり面白くないので、ssh の port forward 機能を組み合わせて 実現してみました。
ただそれではあまり面白くないので、ssh の port forward 機能を組み合わせて 実現してみました。

必要な物
- Sun Fire x64 Server (今回は X4200 を使います)
- x64 Server の iLOM ネットワークポートと同じセグメントのサーバ
(sshd を実行させておきます) - ssh client (Firewall の外から繋ぎます)

Point 1.
Firewall 越しに ssh を繋ぐ場合無通信セッションが長引くと ssh セッションが切断されてしまいますので、sshd 側で以下の設定を 行っておきましょう。
* /etc/ssh/sshd_config より抜粋 *
ClientAliveInterval 30
ClientAliveCountMax 30
※ 設定変更後は、svcadm restart ssh を実施
※ ClientAliveInterval, CientAliveCountMax は、Solaris 10
からの機能となります。(Solaris 9 では設定出来ません。)
Point 2.
port forward の設定は、サーバ側で forward の許可をします。* /etc/ssh/sshd_config より抜粋 * AllowTcpForwarding yes ※ 設定変更後は、svcadm restart ssh を実施その後、クライアントの .ssh/config ファイルに以下の記述を します。
* .ssh/config より抜粋 * LocalForward 5443 192.168.1.42:443 # iLOM WebGUI (https) LocalForward 5120 192.168.1.42:5120 # リモートの CD リダイレクト LocalForward 5121 192.168.1.42:5121 # リモートのキーボード・マウスリダイレクト LocalForward 5123 192.168.1.42:5123 # リモートのフロッピーリダイレクト LocalForward 6577 192.168.1.42:6577 # CURI(API) - TCP と SSL LocalForward 7578 192.168.1.42:7578 # ビデオデータ ※ 192.168.1.42 は、iLOM の IP アドレス上記の設定が出来たら、ssh 接続を確立させた後、Web ブラウザで以下の URL を開いてみましょう。
https://localhost:5443/home.asp

正常にログイン画面が出たら、ログイン後、Remote Control -> Redirection から、Launch Redirection を実行させると、java web start から、 https://192.168.1.42:443/Java/JavaRConsole.jar が固定で呼び出されます。
このアドレスは、実際には Firewall 内のアドレスなので、ダウンロードに 失敗します。
Point 3. (ち・か・ら・わ・ざ)
接続元の端末で、$HOME/.java/deployment/cache/javaws/https をみると、D192.168.1.42/ というディレクトリが出来ています。これを、Dlocalhost という名前にリネームします。
今度は $HOME/.java/deployment/cache/javaws/https/Dlocalhost の中を みると、P443/ というディレクトリがあります。
これを、P5443 という名前にリネームしましょう。
すると $HOME/.java/deployment/cache/javaws/https/Dlocalhost/P5443/DMJava の中に AMJavaRConsole.jar というファイルがあるのでこのファイルの以下の 部分を、書き換えましょう。
* 変更前 *
<jnlp spec="1.0+" codebase="https://192.168.1.42:443/">
...
...
<application-desc>
<argument>8</argument>
<argument>192.168.1.42</argument>
<argument>root-sp-1</argument>
<argument>エンコードされたパスワード</argument>
</application-desc>
* 変更後 *
<jnlp spec="1.0+" codebase="https://localhost:5443/">
...
...
<application-desc>
<argument>8</argument>
</application-desc>
上記の変更後、/usr/bin/javaws を実行すると JavaRConsole が登録
されていると思います。
ここで、JavaRConsole を "右クリック -> Install Shortcuts" とすると、デスクトップに JavaRConsole のアイコンが出てきます
ので、それを実行すると以下のウィンドウが立ち上がります。

Redirection -> New Session... を選び、Localhost を指定して、 "了解" をクリックします。

"Login on localhost" ダイアログに、ILOM のユーザ・パスワードを 指定します。

"OK" をクリックすると、

目的のサーバのコンソール画面が表示されました!
意外に快適な速度で使用出来るので、イザという時に試してみて下さい。
Posted at 04:56午後 5 25, 2007 by Naoyuki Yamada in Sun | 投稿されたコメント[0]