我不知道是什么,但似乎我做错了什么......我的目标是能够限制我的一些流量,确切地说是 www 流量。我的一个客户操作系统运行所谓的网络代理,最终用户可以通过他们的网站浏览任何网页,如果有人感兴趣的话可以看一下:
这是我的/etc/ipfw.rules
文件,后跟ipfw show
和ipfw 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)以拒绝所有规则。这是很好的防火墙设计,没有它,所有其他允许规则都只是浪费;)