火曜日, 10月 23, 2007

sshでポートフォワード

sshのポートフォワード機能を利用して、他ネットワークに存在しているProxyを使用してみた。仕組みさえ理解してしまえば簡単に設定できる。ここでは一応、個人的な備忘録として残すことに。

【使用環境】
・自宅でWindowsクライアントを使用。アプリはPuTTYを利用する。
・他ネットワーク(外部)にログイン可能なsshサーバがある。
・他ネットワーク(外部)に利用可能なProxyサーバがある。

※私が試した環境では、他ネットワークに存在するサーバでsshサーバとsquidが稼動。squidはローカル(サーバ自身)からの接続しか許可されていない。


【やりたい事】
・他ネットワークに存在する特定サーバからの接続だけが許可されたwebサイトがある。そのため、ポートフォワード機能を使用してssh接続した特定サーバ(squid経由)でwebサイトを閲覧する。


【自宅クライアントのPuTTY設定】
・PuTTYを起動して、接続→SSH→トンネル を選択。
・ポートフォワーディング設定を以下内容で指定。
     源ポート : 8080(任意)
     送り先 : 127.0.0.1:3128
(送り先の指定は、接続するsshサーバから見たポート転送先を指定する。つまりここでは、sshサーバ自身で稼動している3128ポート(squid)宛に8080ポートを転送する)
・設定を保存して、sshサーバに接続する。見た感じは、通常のssh接続になる。


【自宅クライアントのブラウザ設定と接続】
・ssh接続を行ったままの状態でブラウザを起動する。
・ブラウザのプロキシ設定を入力する。(ここでは、127.0.0.1:8080)
・プロキシを設定後、目的のURLに接続する。
・可能であれば中継するサーバのプロキシログを参照し、ポートフォワードされている事を確認する。