下図のようなネットワーク環境になっている環境でPCから直接アクセスできない
WEBサーバーのWEBコンテンツを閲覧する方法を紹介しようと思います。
例)
・PCからWEBサーバーAはネットワークでつながっているのでWEBコンテンツの閲覧ができる。(図中青線)
・PCからWEBサーバーBは異なるネットワークとなっており、直接WEBコンテンツは閲覧することができない。(図中赤線)
・異なるネットワークの両方に繋がるマシンがある。(図中中央下にあるマシン)
異なるネットワークの両方に繋がるマシンにPCからSSH(ポート22)で接続することが可能であれば、両方に繋がるマシンをトンネルにして、PCからWEBサーバーBのWEBコンテンツを閲覧することが可能になる。(図中橙線)


今回使うのは「Putty」というフリーのTelnetツール。
このツールはTelnetやSshという方法でリモート接続するツールです。
http://hp.vector.co.jp/authors/VA024651/download.html
Step1:まずは穴掘り(SSHトンネル)準備
puttyを起動したら、左メニューからConnection>SSH>Tunnelsを選択します。
DynamicのラジヲボタンとAutoのラジヲボタンにチェックし、Source portに適当なポート(自分のPCで使っていないネットワークサービスポート)を入力し、Addボタンをクリックします。

Step2:穴掘り開始(SSH接続)
次に左メニューよりSessionをクリックし、HostName欄に接続可能なIPアドレスを入力し、ポート欄に22を入力します。SSHのラジヲボタンにチェックし、下部のOpenボタンをクリックします。
接続できた後、ログオンして放置してください。

Step3:穴を使ってWEBサーバに接続する(Socks)
次に、ブラウザを起動し、プロパティを開きます。
FireFox :
ツール>オプション>詳細>ネットワーク
接続設定ボタンをクリックすると、以下の画面になります。
SOCKSホスト欄にlocalhostか、127.0.0.1と入れ、ポートに先ほどPuttyで登録したポートを入力して、OKをクリックします。
IE:
ツール>インターネットオプション>接続
LANの設定をクリック
次にプロキシを使用するにして、詳細設定ボタンをクリック
Socksにlocalhostか、127.0.0.1を入力し、ポートにputtyで登録したポートを入力後、OKをクリックし、登録します。


Step4:ブラウザで閲覧する
ステップ3までできていれば、あとは、通常のWEB閲覧のようにURLを入力すれば、WEBアクセスができます。
PC側ブラウザはPCがそのままWEB接続しているかのように処理をします。
一方でWEBサーバー側ではトンネルしているサーバーがアクセスしてきているように処理します。