WebDictate、BroadWave、Broadcam、Axon、ScreenStream、FlexiServer、QuorumWebなどのサーバーからパブリックインターネットにアクセスする方法。

質問:

サーバーをNATルーターまたはファイアウォールの後ろで実行したいのですが、パブリックインターネット上にサーバーを公開するよう設定することができません。

メモ:NATルータまたはファイアウォールの設定についてはこちらのページをご参照ください。

このページではお使いのサーバー(NATルーターの裏側のサーバー)を「お使いのサーバー」、パブリックからアクセス可能なホストを「パブリックホスト」と呼びます。

回答:

SSHポート転送(「トンネリング」とも呼ばれます)を行います。設定したトンネルを経由してお使いのサーバーへ、パブリックホストの特定のポートへの接続が転送されます。

必要項目

  1. パブリックからアクセス可能なホスト - 良く知られたホスト名またはIPアドレスのホスト
  2. SSHサーバー(お勧めは以下の通り)
  3. SSHクライアント - Puttyをお勧めします:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
    ここではPuttyのplink.exeコンポーネントのみを使います

手順

セットアップ前の作業:

  1. パブリックホストにSSHサーバーをインストールします(お勧めサーバーと詳しいインストラクションは以下の通り)。
  2. パブリックホストのファイアウォールがSSHポート22の接続を許可することを確認します。
  3. パブリックホストのファイアウォールが選択したポートの接続を許可することを確認します(ポートは1185など1000以上を選択してください)。
  4. PuttyのWebサイトからplink.exeをダウンロードします:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  5. お使いのサーバーの「c:\WINDOWS」に保存します。

転送をアクティブにするための作業:

お使いのサーバーでの作業:

  1. cmd画面を開きます(開始 -> 実行 -> cmd)
  2. 以下のコマンドを入力します:
    plink -N -R 0.0.0.0:1185:localhost:85 PublicHost
    各構成項目の説明は以下のとおり:
    1185がお使いのクライアントが接続を行うポートです
    85がお使いのサーバーの処理に使われれるポートです
    PublicHost はパブリックホストのホスト名(またはIPアドレス)です

パブリックサーバー上で有効なユーザー名とパスワードを入力すると、パブリックホストのポート1185とお使いのサーバーのポート85の間にトンネルが作られます。インターネットエクスプローラなどのクライアントプログラムがパブリックサーバーでポート1185に接続を試みた場合、実際にはお使いのサーバーのポート85に接続が行われます。

問題が発生する場合は詳細スイッチ("-v")を使いデバッグの出力を増やしてください。発生する可能性がある問題:

  1. 選択したポートが既に使われている - 別のポートを選んでください。
  2. 接続または時間切れエラーは通常、パブリックホスト名が間違っているか(IPアドレスをお試しください)、パブリックホストのファイアウォールがポート22または選択したポートをブロックしていることが原因で発生します。
上記のplinkコマンドがログイン時等に自動的に実行されるスクリプト内に含まれている場合があります。

セットアップをテストする:

選択したポートのパブリックサーバーへの接続を、クライアントプログラムを使って行ってみる。
例えば、インターネットエクスプローラを使ってBroadWaveに通常通り接続を行う場合(直接接続):

http://YourServer:85

または上記の通りのセットアップを使用:

http://PublicServer:1185

SSHサーバーのセットアップ:

パブリックサーバーにはSSHサーバーがインストールされている必要があります。オープンソースや有料製品など様々なオプションからお選びいただけます。有料製品の方がインストールや設定が簡単な傾向にあり、テクニカルサポートに連絡することも可能です。有料製品の一覧は以下の通りです:
http://www.ssh.com/products/client-server/
http://www.bitvise.com/winsshd

無料版(copSSH)はこちらをご参照ください:http://www.itefix.no/phpws/

copSSHのインストールと設定:

  1. インストール用パッケージをダウンロードします
  2. 設定ファイルを解凍し実行します
  3. インストール中は全てのデフォルト項目を承諾します。
  4. ファイルをメモ帳などを使って開きます:
    C:\Program Files\copSSH\etc\sshd_config
  5. 「#GatewayPorts no」の記述を探し、「yes」に変更後「#」を削除し、以下のように変更します:GatewayPorts yes
    (こうすることで、パブリックホストで実行中のプログラムだけでなく、他のホストも選択したポートに接続することができるようになります)。
  6. パブリックサーバーを再起動します