DUMMYNETと、ipfwのオプションを設定してカーネルを作り直します。
options IPFIREWALL # firewall options IPFIREWALL_DEFAULT_TO_ACCEPT # allow everything by default options DUMMYNET
ipfwを用いて帯域制御の対象となる通信を指定、パイプを通します。
たとえば、このホストに対するHTTPアクセス(ダウンロード)の場合は以下のとおり。
# ipfw add 40000 pipe 1 tcp from me 80 to any
対象となるパイプ(上記では1)の帯域などを設定します。
たとえば、帯域を512kbpsに絞りたい場合は以下のとおり。
# ipfw pipe 1 config bandwidth 512kbps
動作させて、正しくパイプにパケットが通っているか確認できます。
# ipfw show 40000 536 743223 pipe 1 tcp from me 80 to any 65535 3697308 2725856511 allow ip from any to any # ipfw pipe show 00001: 1.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 0 tcp xxx.xxx.xxx.xxx/80 xxx.xxx.xxx.yyy/zzzz 536 743223 25 34944 0
Copyright© All rights reserved. Junkie 2002
Last Update 2002.11.03