ipfw:トラフィック形成

ipfw:トラフィック形成

何かはわかりませんが、何か間違っているようです...私の目標は、いくつかのトラフィック、正確に言えばwwwトラフィックを制限できることです。私のゲストオペレーティングシステムの1つはWebプロキシであることを実行し、エンドユーザーはWebサイトを介してすべてのWebページを閲覧できます。興味のある方はこちらをご覧ください。

http://www.thespacesurf.com/

以下は私の/etc/ipfw.rulesファイルipfw showと次のものですipfw pipe show

フラッシュ
パイプフラッシング
パイプ 1 構成 bw 1Mbit/s マスク src ポート www
パイプ 2 は帯域幅 1Mbit/s マスク src ポート www を構成します。
すべてのIPからすべてのIPとして許可するには、lo0を介して100を追加します。
127.0.0.0/8に200拒否IPを追加
すべてのアイテムに300拒否 127.0.0.0/8 IPを追加
ランダム dst ポート www uid デーモンに 8381 パイプ 1 tcp を追加
すべてのsrcポートwww uidデーモンに8382パイプ2 tcpを追加
すべてのTCPからすべての宛先ポートへのsmtpを許可するには、8025を追加します。
すべての宛先ポートでpop3 tcpを許可するには、8110を追加します。
すべてのimapからすべての宛先ポートにTCPを許可するには、8143を追加します。
すべてのdstポートimapでTCPを許可するには、8993を追加します。
すべての宛先ポートでTCPを許可するには、8995を追加してください。 pop3
anyからanyへの65000パスをすべて追加します。

su-3.2# ipfw ディスプレイ
00100 85839853 23452504269 lo0を介してすべてのIPからすべてのIPへのアクセスを許可します。
00200 0 0 127.0.0.0/8のすべてのIP拒否
00300 0 0 127.0.0.0/8のIPを拒否します。
08025 8835622 3440233341すべての宛先ポートでTCPを許可する25
08110 748762 44303607 すべての宛先ポート 110 で TCP を許可
08143 443916 26822178 すべての宛先ポート 143 で TCP を許可
08381 139901701 10870804903 任意の dst ポートから任意の dst ポートへのパイプ 1 80 uid デーモン
08382 181159216 209004032651パイプ2 tcp経由で80からすべてのuidデーモンに
08993 2621221 332143828すべての宛先ポートでTCPを許可する993
08995 880748 87973919 すべての宛先ポート 995 で TCP を許可
65000 323132905 187469722830 すべてからすべてまで IP を許可
65535 0 0 誰からでもIPを拒否します。
su-3.2# ipfw パイプライン表示
00001: 1.000Mbit/s 0ms 50sl。キュー1個(バケット1個)ドロップテール
    マスク: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT保護___ソースIP /ポート____ ____ターゲット。 IP/ポート____Tot_pkt/BytePkt/ByteDrp
  0 TCP 64.237.55.83/49910 66.218.161.133/80 139909114 10871439505 0 0 50
00002: 1.000Mbit/s 0ms 50sl。キュー1個(バケット1個)ドロップテール
    マスク: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT保護___ソースIP /ポート____ ____ターゲット。 IP/ポート____Tot_pkt/BytePkt/ByteDrp
  0 TCP 66.218.161.133/80 64.237.55.83/49910 181159216 209004032651 0 0 21025730
Su-3.2#

mrtg私が知っている限り、ipfw私はこの問題を解決するために必要な追加情報を喜んで提供することができますが、まず次の点に従う必要があります。

su-3.2# uname -a
FreeBSD x.xxx.xxx 7.3-リリース FreeBSD 7.3-リリース #13: 2010年3月23日火曜日 20:47:52 UTC     [Eメール保護]:/usr/obj/usr/src/sys/GENERIC amd64
Su-3.2#

答え1

まず、net.inet.ip.fw.one_pass設定されていることを確認してください。

次に、パイプライン構成で対応するマスクパラメータを使用する必要はないと思います。たとえば、ユーザーがNATの背後で通信している場合など、パケットがポート80から来ているかどうかは必ずしもわかりません。

第三に、ルール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.**

第四に、すべてのルールを拒否するようにデフォルトルール(=最後のルール65000)を変更します。これは良いファイアウォール設計です。これがなければ、他のすべての許可規則は無駄です。 ;)

関連情報