web-dev-qa-db-ja.com

FreeBSDトラフィックシェーピング

FreeBSDでトラフィックシェーピングを行おうとしています。これが私のルールです

 su-3.2#ipfw show | grep pipe 
 08380 1514852 125523804 pipe 1 tcp from any to any dst-port 80 
 su-3.2#ipfw pipe 1 show 
 00001:2.000 Mbit/s 0 ms 50sl。 1キュー(1バケット)droptail 
マスク:0x00 0x00000000/0x0000-> 0x00000000/0x0000 
 BKT Prot___ソースIP /ポート________宛先。 IP/port ____ Tot_pkt/bytes Pkt/Byte Drp 
 0 tcp 64.237.55.83/60598 72.21.81.133/80 6520267 1204533020 0 0 1216 
 su-3.2#

まず第一に、私が走るとき ipfwパイプ1ショー 同じ送信元と宛先のIPを取得しますが、変更されていないようですが、合計パケット/バイトが増加しています

そして最も重要な質問ですが、MRTGの統計を調べたところ、2Mbit/sの制限をはるかに超えていることがわかりました。

私は何が間違っているのですか?

これが設定ファイルです

 flush 
 pipeflush 
 pipe 1 config bw 2Mbit/s 
 add 100 allow ip from any to any via lo0 
 add 200 deny ip from any to127.0.0.0/8
300deny ip from 127.0.0.0/8 to any 
 add 8380 pipe 1 tcp from any to any src-port wwwuiddaemon 
 add 8380パイプ1tcpを任意から任意のdst-portwwwuidデーモン
 65000パスすべてを任意から任意に
1
alexus

Httpトラフィックを2Mb/sに制限しますが、他のすべてのトラフィックは通過させます。したがって、たとえば制限されない50Mb/sのFTPトラフィックを引き続き使用できます。

以前は次のようにポリシーを設定していました。

# flush all rules
ipfw -f flush

ipfw pipe 1 config bw 256Kbits/s
ipfw pipe 2 config bw 512Kbits/s
ipfw pipe 10 config bw 1Mbits/s
ipfw pipe 50 config bw 20Mbits/s
ipfw pipe 60 config bw 20Mbits/s
ipfw pipe 100 config bw 100Mbits/s


ipfw add 1 pipe 50 ip from X.X.X.X/21 to any out
ipfw add 2 pipe 60 ip from any to X.X.X.X/21 in

つまり、内側に20Mb/s、外側に20Mb/sがあります。パイプを1つだけ使用する場合、それは20Mb/sで共有されるため、10Mb/sになります。

シェーピングには最後にすべてのトラフィックを含める必要があるため、トラフィックシェーピングなしではフローはありません。

1
Mathieu Chateau