平成15年08月05日(火)

Windows2000でproxyサーバー


またまた実験してみました。自宅内にWebProxyサーバーを構築しました。
ただ、proxyサーバー(このサーバー・マシン)のスペックが低いので下り速度は1.7Mbpsになってしまいました。
proxyサーバーを通さない時は3.3Mbps出ています。
わざわざ遅くするなんて馬鹿みたいですけど、実験好きなのでしょうがないです。

参考にしたサイト:


【はじめに】

Proxy (代理) Server とあるように、PCユーザーが外部サーバと情報のやり取りをする際、文字通りPCユーザーの代わりとなって目的のサーバにアクセスしてくれるサーバー、一種の中継サーバの事です。
proxyサーバー自身のローカルディスクにデータを一時保管 (キャッシュ) し、同じ情報を要求されるとそこから取り出すので高速で処理でき、またネット全体のトラフィックを軽減する効果があります。 (ただしキャッシュの存在しない新規外部サーバーとの情報のやり取りでは、当然ながら通信速度は遅くなります)。

 PCユーザが外部サーバと情報のやり取りをする際、PCユーザー(接続元) は外部サーバー (接続先) へ自分の環境変数 (IP、REMOTE_HOST 名、USER_AGENT 名 ブラウザの種類、アクセスした日時等) を送信しています。
 これは例えるなら、大雑把な住所氏名を書いた名札を胸につけて、街を歩いているような感じです。
 普通に利用している場合なら別にこれらの情報は相手に伝わっても特に問題はありませんが、相手 (接続先) に悪意があり、こちらのこうした情報を悪用しようとしていたら、少しばかり問題が生じます。

 特定のブラウザの特定のバージョンには、外部からアタック可能なセキュリティーホールが存在しています。
  IP アドレスが固定で常時接続環境だと思われるものだったら…ひょっとしたらネットクラッカーがやってきて、あなたのパソコンにイタズラしたり、あるいは中身をごそっと抜き取っていくかも知れません。
 ごく普通の一般ユーザーならクラッカーもメリットを感じず侵入しないかも知れませんが、企業や省庁役所、大学の端末からの情報だったら…。
 Cookie にハンドルやパスワード、メールアドレスが残っていたら、これも抜き取られ悪用されるかも知れません。

 プロクシサーバを経由すれば、プロクシサーバにはこちらの情報は伝わりますが、その先の相手には、プロクシサーバーの情報しか伝わりません (設定やプロクシサーバーの種類にもよるようです)。
 ブロードバンドの普及とともにネット上のセキュリティ確保が重要視されていますが、安全なプロクシサーバーを自分の代理とする事で、より安全なWeb閲覧が可能になります。

 あなたのPCが送信している情報の確認は、「確認くん」で、確認する事が出来ます。

【ソフトのダウンロードと解凍】

使用ソフト :DeleGate
サイト   :Delegate Home Page
ファイル名:delegate.zip (861Kbyte)

英語で書かれてますがニュアンスでWin32版をダウンロードしました。(UNIXとかOS2用もあります)

任意のフォルダに保存後 zip解凍ツールで解凍します。すると以下のファイルが解凍されます。
※C:\tmpに解凍した場合

 C:\
   |
   +--tmp・・・・・・・・・・・・・・・dg8_6_2.exe、CHANGES(英語)、COPYRIGHT(英語)、README(英語)
      |
      +doc・・・・・・・・・・・・・Manual.htm(英語)、tutor-en.htm(英語)、tutor_jp.htm(日本語)

【実行ファイルの保存】

保存の前にdg8_6_2.exeを別フォルダーにバックアップしておきましょう。
そして、名前をdelegated.exeに変更して実行フォルダ(Ex -> C:\delegate)に保存します。
これは、バージョンアップなどがあった時に前の世代に戻す時のためです。

※ここでいきなりdelegated.exeを実行しないようにします。ディフォルトで色んなフォルダが作成されてしまいます。

【環境設定】

delegateを実行するには、コマンドラインからパラメータを渡して起動する方法と環境定義ファイルを使って起動する方法があります。
ここでは、サービスで起動するため環境定義ファイルを使って実行する方法にします。
環境定義ファイル(8084.cfg)
-P8084
ADMIN=takaq@takaq1.plala.jp
DGROOT="c:\delegate"
VARDIR="c:\delegate\var"
CACHEDIR="c:\delegate\cache"
CACHE=do
EXPIRE=5d CRON="0 * * * * -expire 6d"
PERMIT="*:*:*"
SERVER=http

【コマンドラインから動かしてみる】

コマンドプロンプトから以下を実行します。
C:\delegate>delegated -v +=8084.cfg
下のような画面になり通信のたび表示が流れます。(終了は Ctrl + Cです)
C:\delegate>delegated -v +=8084.cfg
05/11 15:04:18.14 [1316] 0+0: PORT> -P8084
05/11 15:04:18.15 [1316] 0+0: --INITIALIZATION START: 8.6.2 on WindowsNT--
05/11 15:04:18.16 [1316] 0+0: server_open(delegate,:8084,listen=20)
05/11 15:04:18.16 [1316] 0+0: server_open(delegate,:8084) BOUND
05/11 15:04:18.17 [1316] 0+0: FAILED DGROOT=c:\delegate
05/11 15:04:18.17 [1316] 0+0: <DeleGate/8.6.2 by ysato@delegate.org> [1316] -P80
84 READY
<DeleGate/8.6.2 by ysato@delegate.org> [1316] -P8084 READY
FAILED DGROOT=c:\delegate
AIST Research Product No. 2003-ETL-198715-01
Copyright (c) 1994-2003 Yutaka Sato and ETL,AIST,MITI
Copyright (c) 2003 National Institute of Advanced Industrial Science and Technol
ogy (AIST)
05/11 15:04:18.20 [1316] 0+0: PORT= 8084/8 (31,144)
05/11 15:04:18.20 [1316] 0+0: OWNER=nobody => OWNER=?/?(?/?)
05/11 15:04:18.21 [1316] 0+0: ##DeleGate/6.X: MIMECONV=thru is set by default. M
IMECONV="" will make it compatible with former versions.
05/11 15:04:18.22 [1316] 0+0: REMITTABLE = http,https/{443,563},gopher,ftp,wais
05/11 15:04:18.27 [1316] 0+0: {R} Found local NS (210.153.1.1:53)
05/11 15:04:18.27 [1316] 0+0: ADMIN=takaq@takaq1.plala.jp protocol=http(specialis
t)
05/11 15:04:18.28 [1316] 0+0: ##DeleGate/6.X: created directory/file will be non
-sharable. SHARE="" will make it compatible with former versions.
05/11 15:04:18.29 [1316] 0+0: MOUNT[0]=[0] /-* =
05/11 15:04:18.29 [1316] 0+0: MOUNT[1]=[1] /=* =
05/11 15:04:18.30 [1316] 0+0: MOUNT[2]=[2] /-* = default
05/11 15:04:18.30 [1316] 0+0: MOUNT[3]=[3] /* http://-/* default
05/11 15:04:18.30 [1316] 0+0: gethostbyname(-) unknown[0.00s]
05/11 15:04:18.31 [1316] 0+0: ##DeleGate/6.X: No default private-MASTER. MASTERP
="" will make it compatible with former versions.
05/11 15:04:18.32 [1316] 0+0: Stay open PIDFILE for accept() lock[fd=10]
05/11 15:04:18.32 [1316] 0+0: env[35] LIBPATH=.:D:\delegate:/var/spool/delegate/
lib:.
05/11 15:04:18.33 [1316] 0+0: ext[0] ADMIN=takaq@takaq1.plala.jp
05/11 15:04:18.33 [1316] 0+0: ext[1] DGROOT=c:\delegate
05/11 15:04:18.34 [1316] 0+0: ext[2] VARDIR=c:\delegate\var
05/11 15:04:18.34 [1316] 0+0: ext[3] CACHEDIR=c:\delegate\cache
05/11 15:04:18.35 [1316] 0+0: ext[4] CACHE=do
05/11 15:04:18.35 [1316] 0+0: ext[5] SERVER=http
05/11 15:04:18.36 [1316] 0+0: DELEGATE_Modified[0]: 3afb80d1
05/11 15:04:18.36 [1316] 0+0: --INITIALIZATION DONE--
この段階で下り速度を測定したら、なんとたったの0.8Mbpsです。
思わずやめよっかな〜なんて思いましたがサービスに設定した時の速度に期待して・・・・続けることにしました。

【サービスに設定】

これもコマンドラインから実行します。
C:\delegate>delegated +=8084.cfg
DeleGate/8.6.2 (August 04, 2003)
AIST Research Product No. 2003-ETL-198715-01
Copyright (c) 1994-2003 Yutaka Sato and ETL,AIST,MITI
Copyright (c) 2003 National Institute of Advanced Industrial Science and Technol
ogy (AIST)
--
FTP: <URL:ftp://ftp.delegate.org/pub/DeleGate/>
WWW: <URL:http://www.delegate.org/>
Mail:<URL:mailto:feedback@delegate.org>
<URL:http://www.delegate.org/feedback/>
Trying to start as a service [DeleGate Server -P8084] ...
OK. The service is created successfully.
OK. Parameters are saved in registory:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DeleGate-P8084\Parameters"

OK. Environments are saved in registory:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DeleGate-P8084\Environment
s"
OK. The service started successfully.
後はコマンドプロンプトを閉じて管理ツール→サービスで確認するとサービスとして動いていました。
この時点で下りスピードを測ったら1.7Mbps出ています。やっぱりサービスとして起動するとはやくなるね!
今週末にはメモリを96Mbyteにしてもう一度測ってみます。

【クライアントのWebブラウザ設定】

IEの設定を以下のようにしました。(アドレスにはproxyサーバーのipアドレスを入力します)
IE6のインターネット・オプションです。
「次で始まるアドレスにはプロキシを使用しない(N)」に自宅サーバーのドメイン名を入力しておかないと、例によってルータの認証画面が表示されてしまいます。
プロキシの設定です。

【追記:サービスの削除】 平成15年08月11日(月)

サービスを削除するには、コマンド・プロンプトから次のように実行します。
C:\delegate>delegated -P8084 MANAGER=takaq@takaq1.plala.jp
DeleGate/8.6.2 (August 04, 2003)
AIST Research Product No. 2003-ETL-198715-01
Copyright (c) 1994-2003 Yutaka Sato and ETL,AIST,MITI
Copyright (c) 2003 National Institute of Advanced Industrial Science and Technol
ogy (AIST)
--
FTP: <URL:ftp://ftp.delegate.org/pub/DeleGate/>
WWW: <URL:http://www.delegate.org/>
Mail:<URL:mailto:feedback@delegate.org>
<URL:http://www.delegate.org/feedback/>
Trying to start as a service [DeleGate Server -P8084] ...
The service `DeleGate Server -P8084' exists. Delete it ? [y] / n :
y
OK. DELETEd the previous service.
Create a new service ? [y] / n :
n
サービス削除の問合せに 'y' 新しいサービス作成の問合せに 'n' を入力します。
後はコマンドプロンプトを閉じて管理ツール→サービスで確認すしサービスから無くなっていればOKです。
そして、C:\delegate以下を全部削除しましょう。

サイトトップへ