何が起こっているのかわかりませんが、何か間違ったことをしているようです...私の目的は、トラフィックの一部を制限できるようにすることです。正確にはwwwトラフィックです。私のクライアントの1つは、Webプロキシと呼ばれるものを実行しています。ここでは、エンドユーザーがサイト内の任意のWebページを閲覧できます。
これが私の/etc/ipfw.rules
ファイルの後にipfw show
およびipfw pipe show
:
flush pipeflush pipe 1 config bw 1Mbit/s mask src-port www pipe 2 config bw 1Mbit/s mask src-port www lo0 を介して任意から任意に100許可IPを追加します。] 127.0.0.0/8 127.0.0.0/8から任意に200拒否IPを追加 任意のdstポートに8381パイプ1tcpを追加wwwuidデーモン 任意のsrcポートに8382パイプ2tcpを追加wwwuidデーモン 任意のdstにtcpを許可8025 -port smtp add 8110 allow tcp from any to any dst-port pop3 add 8143 allow tcp from any to any dst-port imap add 8993 allow tcp from any to any dst-port imaps add 8995 allow tcp from any to any dst-port pop3s add 65000 pass all from any to any su-3.2#ipfw show 00100 85839853 23452504269 allow ip from any to any via lo0 00200 0 0 deny ip from any to127.0.0.0/8 003000 0 deny ip from 127.0.0.0/8いずれかに 08025 8835622 34402 33341任意のdstポートからのtcpを許可25 08110 74876244303607任意のdstポートからのtcpを許可110 08143 44391626822178任意のdstポートからのtcpを許可143 08381 13990170110870804903任意のdst-port80uidデーモンへのパイプ1tcp 08382 181159216209004032651任意の80から任意のuidデーモンへのパイプ2tcp 08993 2621221332143828任意から任意へのtcpを許可dst-port 993 08995 880748 87973919 allow tcp from any to any dst-port 995 65000 323132905 187469722830 allow ip from any to any 65535 0 0 deny ip from any to any su-3.2#ipfw pipe show 00001:1.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/49910 66.218.161.133/80 139909114 10871439505 0 0 50 00002:1.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 66.218.161.133/80 64.237.55.83/49910 181159216 209004032651 0 0 21025730 su-3.2#
mrtg
によると、私はipfw
で設定した1Mbit/sを超えています。この問題を解決するために必要な追加情報を提供させていただきますが、初心者向けです。
su-3.2#uname -a FreeBSD x.xxx.xxx 7.3-RELEASE FreeBSD 7.3-RELEASE#13:Tue Mar 23 20:47:52 UTC 2010 [email protected] :/ usr/obj/usr/src/sys/GENERIC AMD64 su-3.2#
まず、_net.inet.ip.fw.one_pass
_が設定されているか確認してください。
第二に、パイプ構成にそのマスクパラメータは必要ないと思います。パッケージがポート80からのものであることを常に確認できるとは限りません。ユーザーがNATの背後から通信する場合など。
第三に、ルール200と300なしで試してみます。内部で配管をどのように処理しているかはよくわかりませんが、ipfw(8)
のトラフィックシェーピングセクションには次のヒントがあります。
チェックリストルールを設計する際に考慮すべきいくつかの重要なポイントは次のとおりです。
_+o Remember that you filter both packets going in and out. Most connec-
_パケットは両方向に進む必要があります。
_+o Remember to test very carefully. It is a good idea to be near the
_これを行うときのコンソール。コンソールの近くにいない場合は、/ usr/share/examples/ipfw /change_rules.shにあるような自動回復スクリプトを使用してください。
_+o **Do not forget the loopback interface.**
_
そして第4に、デフォルトのルール(=最後のルール65000)を変更して、すべてを拒否します。これは優れたファイアウォール設計であり、これがないと、他のすべての許可ルールが無駄になります;)