ipfw:流量整形

ipfw:流量整形

我不知道是什么,但似乎我做错了什么......我的目标是能够限制我的一些流量,确切地说是 www 流量。我的一个客户操作系统运行所谓的网络代理,最终用户可以通过他们的网站浏览任何网页,如果有人感兴趣的话可以看一下:

http://www.thespacesurf.com/

这是我的/etc/ipfw.rules文件,后跟ipfw showipfw pipe show

冲水
管道冲洗
管道 1 配置 bw 1Mbit/s 掩码 src 端口 www
管道 2 配置带宽 1Mbit/s 掩码 src 端口 www
通过 lo0 添加 100 允许从任意 IP 到任意任意 IP
添加 200 拒绝 ip 从任何到 127.0.0.0/8
添加 300 拒绝 127.0.0.0/8 的 ip 到任何
添加 8381 管道 1 tcp 从任何到任何 dst 端口 www uid 守护进程
将 8382 管道 2 tcp 从任何添加到任何 src 端口 www uid 守护进程
添加 8025 允许从任何 tcp 到任何目标端口 smtp
添加 8110 允许从任何到任何目标端口 pop3 的 tcp
添加 8143 允许从任何 imap 到任何目标端口的 tcp
添加 8993 允许从任何 dst 端口 imap 进行 tcp
添加 8995 允许从任何到任何目标端口 pop3 的 tcp
添加 65000 从任意到任意传递所有

su-3.2# ipfw 显示
00100 85839853 23452504269 允许通过 lo0 从任意 IP 到任意 IP
00200 0 0 拒绝从任意 IP 到 127.0.0.0/8
00300 0 0 拒绝从 127.0.0.0/8 到任何 IP
08025 8835622 3440233341 允许从任意到任意目标端口 25 的 TCP
08110 748762 44303607 允许从任何目标端口 110 进行 tcp
08143 443916 26822178 允许从任何目标端口 143 进行 tcp
08381 139901701 10870804903 从任何到任何 dst 端口 80 uid 守护进程的管道 1
08382 181159216 209004032651 通过管道 2 tcp 从任何 80 到任何 uid 守护进程
08993 2621221 332143828 允许从任何到任何目标端口 993 的 tcp
08995 880748 87973919 允许从任何目标端口 995 进行 TCP
65000 323132905 187469722830 允许 ip 从任意到任意
65535 0 0 拒绝 ip 从任何到任何
su-3.2# ipfw管道展示
00001:1.000 Mbit/s 0 ms 50 sl。 1 个队列(1 个桶)droptail
    掩码:0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___源 IP/端口____ ____目标。 IP/端口____ Tot_pkt/字节 Pkt/字节 Drp
  0 TCP 64.237.55.83/49910 66.218.161.133/80 139909114 10871439505 0 0 50
00002:1.000 Mbit/s 0 毫秒 50 sl。 1 个队列(1 个桶)droptail
    掩码:0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___源 IP/端口____ ____目标。 IP/端口____ Tot_pkt/字节 Pkt/字节 Drp
  0 TCP 66.218.161.133/80 64.237.55.83/49910 181159216 209004032651 0 0 21025730
苏-3.2#

mrtg我说,我的速度超过了我在ipfw.我非常乐意提供解决此问题所需的任何其他信息,但对于初学者来说:

su-3.2# uname -a
FreeBSD x.xxx.xxx 7.3-RELEASE FreeBSD 7.3-RELEASE #13:2010 年 3 月 23 日星期二 20:47:52 UTC 2010     [电子邮件受保护]:/usr/obj/usr/src/sys/GENERIC amd64
苏-3.2#

答案1

首先,请检查是否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.**

第四,我将更改默认规则(= 最后一条规则 65000)以拒绝所有规则。这是很好的防火墙设计,没有它,所有其他允许规则都只是浪费;)

相关内容