小さなもののためのイカ。 パート4チャンネルの切断

前のトピックでは、Squidログを分析するためのプログラムについて検討しました。これを使用すると、誰が、どこで、いつ行ったかを確認できます。 ダウンロードしたファイルのサイズも確認できます。 すべてがスーパーなりました。今、あなたはポルノをダウンロードする人、またはソーシャルネットワーク座っている人を「脅迫」することができます 。 さて、準備はいいですか? :)行こう...

歴史:

Squidの概要

カスタマイズ

統計



スタート。 ACLを作成する



ACLグループを作成します。

acl mp3_deny src "/etc/squid/lists/mp3_deny_users"

acl super_users src "/etc/squid/lists/super_users"

acl deny_all src "/etc/squid/lists/deny_all_users"







そのため、リストを作成するか、アドレスがファイルに含まれる3つのユーザーグループを作成しました。 IPは私に割り当てられたものであり、ダウンロードするものとしないものを許可によって同意しないため、範囲を作成するよりもファイルにIPを書き込む方が簡単です。

acl mego_super_user src 192.168.0.0-256 # =)





コンボファイルの内容の例

nano "/etc/squid/lists/mp3_deny_users"

192.168.0.213

192.168.0.75

192.168.0.52

195.168.0.254







次は、拒否されたアクセス許可のリストを作成します。

acl mobile urlpath_regex -i (\.thm|\.sis|\.swf|\.jad|\.jar|\.3gp|\.mp4)((\#|\&|\?|\s){1}|$)

acl multimedia urlpath_regex -i (\.swf|\.mp3|\.m3u|\.flv|\.wav|\.vqf|\.avi|\.wmv|\.mpeg|\.mp|\.asf|\.mpe|\.dat|\.mpg|\.wma|\.midi|\.aiff|\.au|\.qt|\.ram|\.rm|\.iso|\.raw|\.mov)((\#|\&|\?|\s){1}|$)

acl archive urlpath_regex -i (\.tar.gz|\.gz|\.tar|\.zip|\.rar|\.cab|\.arj|\.lzh|\.ace|\.7-zip|\.gzip|\.uue|\.bz2|\.iso)((\#|\&|\?|\s){1}|$)

acl soft urlpath_regex -i (\.exe|\.msi|\.rpm)((\#|\&|\?|\s){1}|$)

acl mp3 urlpath_regex -i (\.wav|\.mp3|\.mp4)((\#|\&|\?|\s){1}|$)







最も重要なこと。 それは何ですか、遅延プール



これで終わりです。理解できなかったために、あえて動作させない遅延プールに対処する必要があります。 そして、もしあなたが入れば、すべてがうまくいき、問題はないだろうと言いますが、そうでないなら、kamentyに書きます、私が理解するまであなたのためにあなたの遅延プールを書きます:)

イカでは、ロシア語で言えば、3種類の遅延プールがあります。バケツのような操作を続けます。 したがって、メガリスチャネルが接続されているバケットがあり、制限なしで水が注がれていると仮定します。ただし、プロバイダーを除き、メインバケット、サブネットバケット、および特定のバケット(特定のIP)に3種類のバケットを作成できます。 ) もう一度説明しようと思います。メインバケツに水があります(この比較が気に入らない場合は、これをバッファーだと思います)。これには、それを必要とするすべての人に水を与えるイカが含まれています。

delay class 1 1#グローバル制約で最初のバケットを作成します

つまり、最初のバケツから水を取るすべての人には制限があります。

delay class 1 2#ネットワークに制限のある最初のバケット、つまり192.168.0.0/24、または自宅で登録したものを作成します。 次に説明します。

ネットワークの下に3つの192.168.0.0、192.168.1.0 192.168.200.0があるとします。 その中のN番目のスインガー。 1024kbpsのチャネルがあります。 そして、340 kbit / sを各サブネットに分割することにしました。 したがって、Vasyaが0個のサブネットから映画のダウンロードを開始すると、1個のサブネットのPetyaも新しいLinuxディストリビューションのダウンロードを開始し、Mashaは...のために新しいプログラムのダウンロードを開始します...

この状況では、全員の速度は340 kbit / s、または42 kB / sになります。 この時点で、サブネット0からのFedyaが彼から何かをダウンロードすることを決定し、速度が半分に分割される場合、さらに3つのロッカーがPetyaに接続されている場合は170になり、速度は4で共有され、速度は85になります。単独で...合計

1024( ){:

192.168.0.0_340 ( ){:

: 170

: 170}

192.168.1.0_340( ){:

: 85

192.168.1.28: 85

192.168.1.30: 85

192.168.1.2 : 85}

192.168.200_340( ){:

: 340}}






その結果、映画をダウンロードする人は、この時点で非常に重要なファイルをダウンロードする人にチャンネルをカットします。 しかし、この段階でグローバルバケットではなくサブネットが切断されるため、Mashaは誰も送り出していません。 そうでない場合、 loop;





私たちは続けます...

delay class 1 3#IPを介して速度を削減するためのバケットを作成します

これがバケットのアクションを調査する例です...

マーシャが誤ってチャンネルをカットしていることがわかります! 私たちは何をすべきですか? そのソフトウェアのジャンプを正しく切り落とす、設定で作業しているときにファイルごとにジャンプの速度をカットする方法。 このために特別に2つのアーカイブとソフト正規表現を作成したとしか言えません。50kbit / sのプログラムにホースを固定します。 これで、サブネットバケットの速度を制限しなかった場合(-1 / -1が実行された場合)、これにより何が得られるかを確認できます。

サブネット制限なし:

チャンネル1024(全負荷){:

192.168.0.0_470(全負荷){:

ヴァシャ:235

フェディヤ:235}

192.168.1.0_470(全負荷){:

ペティア:117.5

192.168.1.28:117.5

192.168.1.30:117.5

192.168.1.2:117.5}

192.168.200_80(全負荷){:

マーシャ:80}}

ご覧のとおり、この制限により、バケットを介したデータ交換の参加者は大幅に増加しますが、サブバケットの速度を340に制限するとどうなりますか。

チャンネル1024(74%の負荷){:

192.168.0.0_340(全負荷){:

ヴァシャ:170

フェディア:170}

192.168.1.0_340(全負荷){:

ペティア:85

192.168.1.28:85

192.168.1.30:85

192.168.1.2:85}

192.168.200_80(全負荷){:

マーシャ:80}}

ご覧のように、この状況では、200のサブネットからダウンロードする人だけが勝ち、隣人が手を振る! どのように制限し、何を決定するのはあなた次第です、私のビジネスはあなたにその方法を説明することです。 それをお勧めします。

さらに進む...

インターネットトラフィックパターンを開発します



それでは、インターネットを受け取る小さなテンプレートをスケッチしましょう。



それがすべてのようです。 最初に誰が何をポンプするのかを見つけてから、彼らと一緒にチャネルを切断し始めることをお勧めします。これは最も労働的な方法です...

設定を使用する



この例で状況を説明し、すべてのパラメーターを詳細にコメントします

delay_pools 6 # , ,

delay_class 1 2 # mp3-

delay_class 2 2 # 0

delay_class 3 2 # 1

delay_class 4 2 # 200

delay_class 5 3 # , :)

delay_class 6 3 #

# , ...© =)

# , , ...

# 0 - acl mp3_deny src

# 1 - acl super_users

# 200 - acl deny_all

delay_access 1 allow mp3_deny_src

delay_access 1 allow mp3

delay_access 1 deny all

# () mp3_deny_src, 3 , 10 .

delay_access 2 allow mp3_deny_src

delay_access 2 deny all

# mp3_deny_src, 3 :)

delay_access 3 allow super_users

delay_access 3 deny all

# , , 42

delay_access 4 allow deny_all

delay_access 4 allow mobile archive soft mp3 # , :

# deny_all,

#delay_access 4 allow multimedia

#delay_access 4 allow archive

#delay_access 4 allow soft

#delay_access 4 allow mp3


# , 4 , ,

delay_access 4 deny all

delay_access 5 allow masha

delay_access 5 deny all

# 10

delay_access 6 allow mego_super_user

delay_access 6 deny all

# .

# ( ) , .

delay_parameters 1 -1/-1 10000/10000 # 10

delay_parameters 2 42000/42000 42000/42000

delay_parameters 3 42000/42000 42000/42000

delay_parameters 4 42000/42000 42000/42000

delay_parameters 5 10000/10000 10000/30000 10000/30000 # 10

delay_parameters 6 50000/70000 30000/35000 10000/15000







それだけです。6番目のバケットが最大の関心事です。

サブネットワークで速度が超過した場合、それぞれが10の速度ですべてをポンピングし、切断チャネルが開始され、

彼らが他のサブネットからダウンロードし、それらが3つ以上ある場合、速度さえカットし始めます...

フラカでそれをしている場合、イカを組み立てるときは、必ず--enable-delay-poolsオプションでそれを収集してください!

PSは、可能な限りすべてを本当に噛み砕こうとしました。 私があなたがそれを理解するのを助けたなら、このトピックを書いたのは無駄ではありませんでした。 私はとても幸せになります。 不明な点がある場合は質問してください、私は間違いなく答えます。

イカのデフォルト設定は、PSSがこれをすべて夢に書くのに役立ちました。読み始めると、たくさんの新しいことを学ぶことができます!

PSSS Dear KorP 、残念ながら今はドメインの時間がないので、今のところ頭の中で書いています

UPD。

reply_body_max_size 1000 allow all



、1キロバイトを超えるreply_body_max_size 1000 allow all



ファイルのダウンロードをreply_body_max_size 1000 allow all



しません



私のブログからのクロスポスト



All Articles