Delegateのパラメータの紹介


戻る
Win98SE でDelegate RedHat でDelegate


 これは、Delegateのパラメータのほんの一部であり、少しの使用例に過ぎません。
以下に紹介したパラメータもオプションをつけてさらに複雑な設定を記述できるものもあります。
 また、わたしが間違って理解しているものもあるかもしれません。…間違いをみつけた方は是非お教え下さいm(._.)m BBSへ
本当の意味でのDelegateの設定の詳細を知りたい方は、Delegateのリファレンスマニュアルを読んで下さい。
わたしみたいに英語が読めない人は、せったーさんが作成されたリファレンスマニュアルの和訳をSetter's Homeで読むことが出来ます。
ただし、あくまで翻訳のドラフトだそうです。(念の為…)

 さて、個人利用する程度のDelegateは、次の5項目さえ設定してやれば起動します。

1.Delegateが使用するホストとポート番号を設定する。
2.Delegateが使用するプロコトルを設定する。
3.Delegateのご主人様は誰なのか教える。
4.どのDNSサーバーから情報をもらうか設定する。(Win98SEのみ!?)
5.Delegateが使うディレクトリを指定する。

 この5つさえ設定してやれば個人利用する程度のDelegateは動作します。
 けれど、一番大事なのは6つめです。

6.情報を与えてもいいクライアントを設定する。

 これを怠ると、せっかく作った自分専用のプロキシサーバーが身も知らぬ誰かに使われてしまいます。
普通に使われるくらいならまだいいですが、踏み台なんかにされた日には…(×_×;)
わたしも含めて、気をつけましょう。

1.  設定

 ポート 

  -P192.168.2.1:8080
 この記述は、Delegateがクライアントからの要求を受けるIPアドレスとポートを指定します。
 一般的な例 "-P8080" だけでは、Delegateは192.168.0.1(ルーター側)と192.168.2.1(ローカル側)の2つのIPアドレスに入ってくる
8080番のTCPポートで要求を受けることを意味します。
 つまり、"-P8080" だけではルーター側…WAN側からのクライアントも待つことになります。だれか、あなたの知らない人にもDelegateの
プロキシサーバーを積極的に使わせるつもりなら、それもいいですが、それは踏み台にされる可能性も増えるということです。
 一般的なFireWallやルーターの設定にWAN側からの擬似ローカルアドレスからの接続を拒否する設定があります。
どうやったらWAN側からローカルアドレスで接続できるのか、わたしには想像も出来ませんが、セキュリティを考えるなら自分から積極的
に穴をあけるのはやめましょう。ということです。
 そこで、例のように記述すればDelegateは192.168.2.1(ローカル側)からの要求しか基本的には、受け付けなくなります。

<Win98SEのDelegateのプロキシサーバーの起動用バッチファイル>

==< delehttp.bat >======================================この下の行から
delegated +=delegated.sh -P192.168.2.1:8080 +=delehttp.conf
======================================================この上の行まで

<RedHatのDelegateのプロキシサーバーの起動用スクリプトファイル>

==< proxy_start >=======================================================この下の行から
#!/bin/sh
#http proxy
/usr/local/etc/delegated.sh -P192.168.2.1:8080 +=/usr/local/etc/delehttp.conf
#End
======================================================================この 上の行まで

#  説明しやすいようにそれぞれ少し似せてあります。Win98SEの"delegated +=delegated.sh"もRedHatの"delegated.sh"みたいに
# バッチファイルで記述できるのかもしれませんが、パソコン初心者のわたしにはわかりませんでした。m(__)m
# もし、わかる方がいらっしゃいましたら是非御教授下さい。m(._.)m こちらへ

◆.妊レクトリ

 DGROOT=/home/delegate
 Delegateが使用するディレクトリを指定します。RedHatの設定ではdelegated.shにあります。
もし、Win98SEで設定するならば"DGROOT="C:/Program Files/Delegate"になりますが、これはすでにデフォルトなので、
もし記述するとDelegateの起動途中に以下のメッセージが出ます。

--------------------------------------------
(前略)
NOT-USED DGROOT=C:/Program Files/Delegate
DGROOT=C:/Program Files/Delegate
(後略)
--------------------------------------------

DGROOT=C:/Program Files/Delegateは(デフォルトだから)使うな
C:/Program Files/Delegateのディレクトリを使いますね
まっ こういうことでしょうね。

RedHatのデフォルトは…話がややこしくてわかりませんm(__)m…マニュアルを読んで下さい。

 特記すべきことは、少なくともWin98SEではたとえば「DGROOT=C:/My Program Files/Delegate」とやらないこと…
Delegateは"DGROOT=C:/My"しか読みません。ご丁寧にCドライブのすぐ下に"My"ディレクトリを作ってくれます。
ディレクトリの名前に空白がある時には、必ず「DGROOT="C:/My Program Files/Delegate"」というように「"」か「'」で囲んで下さい。
 また、これも、少なくともWin98SEでは…という話ですが、たとえば「DGROOT="D:/Delegate"」とかするとDelegate起動 後に
Dドライブのすぐ下にtmpディレクトリとvatディレクトリが作成されます。なぜかはわかりませんが、Cドライブ以外のドライブを指定すると
こうなります。…でも…わるさはしないようです…

 管理者

 ADMIN="hogehoge@geocities.co.jp"
 Delegateの管理者名を、E-Mailアドレスにて登録します。RedHatではmakeの途中で入力したE-Mailアドレスを記述して下さ い。
でたらめのE-Mailアドレスでも、個人で使用する際にはあまり問題はないのですが、anonymousでアクセスするftpサーバーに
ここで登録したE-Mailアドレスが送信されるようです。

ぁDNS

 RES_NS=***.***.***.***
 Delegateが使用するDNSサーバーを指定します。
たいていのプロバイダには2つあると思うので、「RES_NS=***.***.***.***,***.***.***.***」のように","で区 切っておけば2つとも使うと思います.
 RedHatでは…少なくともわたしの環境ではこのパラメータは必要ありません。

<Win98SEのDelegateのプロキシサーバーの基本設定ファイル>

==< delegated.sh >======================================この下の行から
ADMIN="hogehoge@geocities.co.jp"
RES_NS=***.***.***.***
======================================================この上の行まで

ァ.廛蹈灰肇

 SERVER=http
 SERVER=プロコトル://ホストサーバー:ポート番号
 Delegateがクライアントとの通信で使用するプロトコルを指定します。
 書式どおりに記述すればホストサーバーやポート番号を指定するのですが、httpプロコトルは、たとえば閲覧先をイントラネットに
限定したりしない限りホストサーバーを固定するようなプロコトルではないので、ホストサーバーは記述しません。
 また、http・pop・smtp・ftpのようにポート番号がわかりきっているようなプロコトルについては、ポート番号の記述もいらないようです。
この例ではhttpと記述するだけで、クライアントはhttp, https, ftp, gopher, WaisのプロキシとしてこのDelegateのプロキシサーバーを指定することが
できます。

Α ログファイル

  LOGFILE=""
  PROTOLOG="${LOGDIR}/${PORT}/[date+%d].${PROTO}"
 ログファイルについてはSetter's Homeの コピペなのでなにも申すことはございません。
 ただ、RedHatのDelegateのログファイルは、 ログの整理用スクリプトの記述で過去のログを消す設定がなされているようですが、
Win98SEのDelegateのログファイルは増えていきます。起動用のバッチの中にでもDOSで記述できればいいのですが…わたしにはわかりませ ん。
タスクスケジューラーか、あるいはフリーでそんなソフトがあるかもしれません。なにかいい方法があったら、どなたか御教授下さい。m(__)mこちらへ

А.ャッシュ

 EXPIRE=1d
 CRON="* * * * * -expire"
(Wun98SEのDelegate)
 Delegateは、デフォルトでキャッシュを使用します。
 キャッシュディレクトリは、デフォルトでDGROOTパラメータで指定されたDelegateが使用するディレクトリの直下のcacheディレクトリを 使用します
そこにcacheディレクトリが存在しないと、初回起動時だけcacheディレクトリを作成していいか聞いてきます。この時にディレクトリの作成を許可す れば、
そのままキャッシュの使用を許可することになります。はじめからcacheディレクトリが存在する時も、キャッシュの使用を許可することになります。
また、 cacheディレクトリの作成を拒否すればそのDelgateはキャッシュを使用しません。もし、はじめからキャッシュを使用しないことを明示し たい時は
以下のように記述して下さい。

  CACHE=no

 こうしておけば、Delegateはcacheディレクトリを作成しようともしませんし、キャッシュも使用しません。
 また、ディスクの容量などの関係で別のディスクにcacheディレクトリを作成したい時は、CACHEDIRパラメータを使用します

 CACHEDIR="D:/cache"

 そして、デフォルトでキャッシュの賞味期限は1時間になっています。これをパラメータで記述するとこうなります。

 EXPIRE=1h

 時間の単位は、1dが1日、1hが1時間、1mが1分、単位をつけなければ秒です。
 しかし、賞味期限というのは単にDelegateが無視するだけで削除されるわけではないようです。上限はないようですから、ほかっておくとCACHE で
ディスクがいっぱいになってしまいます。以下を記述すればDelegateの起動時に賞味期限の切れた(Defaultでは1時間前の)CACHEは削除 されます。

 CRON="* * * * * -expire"
 CRON="分 時刻 日にち 月 曜日 賞味期限の切れたキャッシュを削除"
 は 0〜59  時刻は 0〜23  日にちは 1〜31  は 1〜12  曜日は 0〜 7( 0と 7は日曜日、 1=月曜日、2=火曜日てな感じ)で指定できます。

<追記>
 Win98SEのDelegateの場合は、 例の設定でDelegateの起動時に期限切れのCACHEが削除されます。
 しかし、RedHatのDelegateで例のように"CRON"を設定すると、始終"CRON"が動作します。こんな感じです。
これがこの設定による"CRON"の本来の動作だと思われますが、こんな設定はDelegateが動作しているPCに負担がかかるだけで意味がありませ ん。
で、以下のようにしました。

 EXPIRE=1d
 CRON="0 12 * * * -expire 1"

 この設定で、1日前の賞味期限の切れたCACHEを毎日正午に削除します。

 これが、企業のシステムのDelegateだったりすると、CACHEの賞味期限は7日間、7日前の賞味期限の切れたCACHEを毎朝3時に削除といっ た
感じのようです。以下のようになります。

  EXPIRE=7d
  CRON="0 3 * * * -expire 7"

 ちょっと、わたしのハードディスクでは確認できません。(^。^;)

─\楝格法

 CONNECT=c,d:*:*
 クライアントからの要求に対するDelgateの接続方法を制御します。"c"はcache、"d"はdirectですから、先ずキャッシュを見にいっ て
それから直接サーバーを見に行きます。

2.  制限

 正直言ってDelegateに制限をつけるパラメータは、パソコン初心者のわたしにとって難解です。
 以下に示す例は簡単なものばかりです。","で区切り、否定や合成演算子を使った制限を加えることが出来るようです。
もし、わたしに必要が生じて使うようなことがあれば(あるいは使うことが出来るようになれば)また詳しく紹介するつもりです。

 .ライアントの制限

 RELIABLE=".,192.168.2.2"
 Delegateへのアクセスを許可するクライアントを制限します。
"."は DeleGateが動作しているホストを示す「特殊ホスト名」です。わたしの例では、192.168.2.1を示します。
他にも、ワイルドカード・ネットマスクなどいろいろ使えるようです。

◆.機璽弌爾寮限

 REACHABLE="*"
 クライアントからの要求に基づくDelegateがアクセスするサーバーを制限します。
この例はデフォルトですからいちいち記述する必要はありませんが、特にhttpのProxyServerのクライアントのブラウザに制限をつける場合、
有用なようです。

 クライアント及びサーバーの制限

 PERMIT="http:*:.,192.168.2.2"
 PERMIT="プロコトル:アクセス先のサーバー名orIPアドレス:クライアントPCのIPアドレス
  例はRELIABLEパラメータの例で示した内容と同意になります。プロコトルはhttpを記述しただけでhttpsも含むものになります。

トップへ