Windows ファイアウォール関連の問題
Windows XP SP2 からは、Windows ファイアウォールが標準で有効となり、 リモートのホストから Windows への接続要求がブロックされます。
- ASTEC-X への接続要求を許可する
- ASTEC-X を使用する場合は、 ファイアウォールによる影響を回避するための設定が必要です。 ASTEC-X への接続要求を許可する を参考に設定を行ってください。
- UNIX ホストへのログイン・ログアウト時の問題
-
Windows ファイアウォールが有効になっている場合、
UNIX ホストへの接続時やログアウト時に非常に時間がかかったり、
ログインした後にデスクトップ画面が表示されずに処理が止まった状態となる場合があります。
弊社で確認している現象は以下の通りです。
- Linux ホストへの rexec 接続時に時間がかかる
- OpenWindows 環境へのログインに時間がかかる
- Linux や GNOME環境からのログアウト時に時間がかかる
- GNOME環境でログイン後デスクトップ画面が表示されない、または、 GNOMEアプリケーションが起動途中で停止する
これらの現象を回避する手順については、 UNIX ホストへのログイン・ログアウト時の問題 を参考にしてください。
- その他の不具合
-
上記以外のケースで、ファイアウォールに関連していると思われる問題が発生した場合は、
info@astec-x.com (全角@は半角@に置き換えてください)
まで状況をお知らせください。この際、以下についてもお知らせください。
- ファイアウォール機能を一時的に無効にした場合の動作
- ファイアウォールのログ(Windows ファイアウォールを開き、 [詳細設定]→[セキュリティのログ]→[設定]で、 ログファイルの位置を確認することができます)。
なお、Windows XP 及び Windows XP SP1 については ファイアウォールの仕様が SP2 のものとは異なります。 詳しくは Windows XP のインターネット接続ファイアウォール(ICF) のページを参照してください。
ASTEC-X への接続要求を許可する
ASTEC-X がリモートホストとの通信に使用する X プロトコルは、 リモートのホストから Windows 側への通信となるため、 Windows ファイアウォールの設定を変更する必要があります。
Windows ファイアウォールでは、リモートからの接続を許可するかどうかを、 アプリケーション毎に指定できるようになっています。 例えば、Windows XP に SP2 を適用した後、初めて ASTEC-X を起動すると、 以下のダイアログが表示されますので、[ブロックを解除する] をクリックしてください。
このようにしますと ASTEC-X が実行している間、 ASTEC-X が接続を受けるために使用するポート (通常は TCP 6000番) へのリモートホストからのアクセスが自動的に許可されるようになります。
この設定は一旦行えば、再度行う必要はありません。 接続を許可するリモートホストのスコープを変更したい場合などは、 Windows のコントロールパネルから [Windows ファイアウォール] を開き、 "例外" タブにある "ASTEC-X Xserver" の項目を編集してください。
UNIX ホストへのログイン・ログアウト時の問題
Windows ファイアウォールが有効になっている場合、 UNIX ホストへの接続時やログアウト時に非常に時間がかかったり、 ログインした後にデスクトップ画面が表示されずに、 処理が止まった状態となる場合があります。
現象が起きる状況
弊社で確認している現象及びその状況は以下の通りです。
- Linux ホストへの rexec 接続時に時間がかかる
- Linux のホストに rexec 接続を行った場合、 ASTEC-X の起動時に表示されるログインダイアログで [OK] を押してから、 コマンドで指定した xterm などが表示されるまで、 ファイアウォールがないときに比べて、 30秒程度余計に時間がかかることがあります。 弊社環境では、Red Hat Linux 9 及び Fedora Core 1/2 でこの現象が起きることを確認しています。
- OpenWindows 環境へのログインに時間がかかる
-
Solaris のホストに XDMCP 接続を行い、CDE のログイン画面で
OpenWindows 環境を選択した場合、
ユーザー名とパスワード入力後、「ようこそ」の画面が表示されている時間が
ファイアウォールがないときに比べて
3分以上余計にかかることがあります。
弊社環境では、Solaris 2.6 及び
Solaris 8 の環境でこの現象が起きることを確認しています。
なお、デスクトップ環境として CDE を選択した場合はこのような現象は発生しません。 - Linux や GNOME 環境からのログアウトに時間がかかる
- XDMCP 接続を行った場合、 ログアウト操作を行ってからログアウト確認のダイアログが表示されるまでに、 3〜6分程度の時間がかかることがあります。 現象は、Linux 全般の GNOME 環境、および、Solaris 付属の GNOME 環境で 起きることを確認しています。
- GNOME環境でログイン後デスクトップ画面が表示されない
- GNOME環境が動作している UNIX ホストに XDMCP 接続を行った場合、 ログイン画面でユーザー名とパスワードを入力してログインした後、 画面表示が止まったままとなり、GNOME のデスクトップが表示されないことがあります。 弊社環境では、Vine Linux 2.0 及び Solaris 9 でこの現象が起きることを確認しています (Solaris 9 の CDE 環境ではこの現象は発生しません)。
現象の原因
これらの現象はいずれの場合も、リモートホスト側から Windows の 特定のポートへの接続要求が発生するのに対して、 Windows が何も返答を返さない(パケットをドロップする)ために起きる現象です。
現象の回避方法
Windows XP SP2 をお使いの場合は、以下の手順で、Windows ファイアウォールの設定を変更してください。
なお、Windows Vista では、ファイアウォールのポートを開いた場合にも、
RST (connection refused) を返さない仕様になっている
(ポートを開いていても、パケットがドロップしたのと同じく応答を返さない)
ようで、以下の設定を行っても改善しません。
- Windows のコントロールパネルから、"Windows ファイアウォール" を開きます。
- [例外]タブを開き、[ポートの追加]ボタンをクリックして "ポートの追加" ダイアログを表示します。
- それぞれの現象に応じて以下のように設定します。
【発生する現象と設定が必要なポート一覧】 現象 名前(任意) ポート番号 TCP/UDP Linux ホストへの rexec 接続時に時間がかかる IDENT 113 TCP OpenWindows 環境へのログインに時間がかかる callbook 2000 TCP Linux や GNOME 環境からのログアウトに時間がかかる ESound(esd) 16001 TCP GNOME環境でログイン後デスクトップ画面が表示されない GNOMEアプリケーションが起動途中で停止する 以下は、『Linux ホストへの rexec 接続時に時間がかかる』 場合(一番目の項目)の設定例です。
- 接続を受け付けるホストやネットワークなどを限定したい場合は、 更に [スコープの変更] ボタンをクリックして必要な設定を行います。
- [OK] をクリックして Windows ファイアウォールの画面に戻ると、 指定したポートへのアクセスが許可されるようになり、 それぞれの現象を回避することができます。
○Esound (esd: ポート番号 16001番) の問題の、その他の回避方法
環境変数 ESPEAKER=localhost:16001 を設定してください。 "localhost" の部分は実際のホスト名でなく、localhost とそのまま記述して いただいて結構です。
例えば、各ユーザーのホームディレクトリにある、 ".bashrc" ".bash_profile" または、 ".profile" の末尾に、
export ESPEAKER
".bash_profile" や ".profile" に記述した段階では設定は反映されません。 一旦ログアウトして、再度ログインするとこの設定が反映され、 以降、ログアウトのときに止まるような現象はおきなくなります。