[Reference:<_A144@delegate-ja.ML_>]
Newsgroups: mail-lists.delegate-ja
[DeleGate-Ja] 巨大アクセス拒否リストでの高負荷回避策 (Re: REJECT の行数)
In message <_A144@delegate-ja.ML_> on 07/14/08(13:05:17) I wrote:
|まず、上記の設定で起動できているという事に、何点か疑問があります。
|REJECTパラメタは、REJECT=protocol:server:client という形式ですので、
|実際の記述は上とは別のものなのでしょうね。また、REJECTのというより
|DeleGateのコマンド引数の最大数は1024なのですが、これもconfig.hの
|変更などで回避されているのかも知れません。また、多数のIPアドレスを
|指定するとDeleGateの起動時にDNSの検索で非常に遅くなることがあります
|が、これも"-"を前置するなどによって回避されているのかも知れません。
|
|さて、アクセス制御のためのアドレスのマッチングは単純サーチなので、
|かなり遅いとは言えますが、それでも通常のCPUの速度であれば無視できる
|程度の場合がほとんどです。
別の可能性として、OSがWindowsの場合、DeleGateプロセスをspawnするたびに
パラメタの解釈が行なわれるので、パラメタのリストが大きいと、その解釈に
時間がかかることになります。
これを回避する方法として、ホストのリストをDeleGateのパラメタに列挙する
のではなく、レゾルバレベルで特殊なホスト名かドメイン名にマップして、
そのホスト名かドメイン名のパターン全体を拒否する、という方法があります。
たとえば、DGROOT/etc/rejects というようなファイルに、拒否するホストの
アドレスを列挙して、それを参照するように RESOLV=file:rejects と書き、
"*.reject" というホスト名のパターンを REJECT する、というようにします。
RESOLV=file:rejects,sys
REJECT="*:*:*.reject"
[DGROOT/etc/rejects]
10.0.0.1 10-0-0-1.reject
10.0.0.2 10-0-0-2.reject
...
9 9
┌─┐┬┌──┬┐ //\^^ ( e ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_< >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)
|