| FreeBSDhandbook中文版2开始安装FreeBSD(1) | | 发布日期:2005-3-28 浏览:506次 | | 关键字: | 环境:FreeBSD4.5-Release 在FreeBSD下可以通过ipfw dummynet来进行带宽控制,具体实现如下: 1、修改kernelconfigurationfile,加入对IPFW和DUMMYNET的支持
optionsIPFIREWALL optionsDUMMYNET
重新编译,安装新的kernel
注:如果原内核中支持IPFILTER,请注释optionsIPFILTER。
2、新内核缺省是deny所有的连接,因此在/etc/rc.conf文件里加入以下行:
#--------------------------------------------------------------------------- firewall_enable="YES"#SettoYEStoenablefirewallfunctionality firewall_script="/etc/rc.firewall"#Whichscripttoruntosetupthefirewall firewall_type="open"#Firewalltype(see/etc/rc.firewall) #---------------------------------------------------------------------------
注:因为是测试FreeBSD的带宽管理,不想在ipfw上浪费时间,因此我们将firewall设置 为open状态,允许所有包的in,out
3、重新启动系统,让新内核起作用。在ipfw里加入自己的rules来进行带宽管理:
#ipfwpipe1configbw128Kbytes/s #ipfwadd1000pipe1ipfrom172.22.4.90to172.22.0.0/24out
注:172.22.4.90是FreeBSD网卡的ipaddress,172.22.0.0/16是它所在的网段
第一条rule定义了一个128Kbytes/s的pipe 第二条rule是将从172.22.4.90-〉172.22.0.0/16的packet送到pipe1处理
测试结果: 加入两条rule前从FreeBSD上下载文件速率是900KBytes/s(10M局域网) 加入两条rule后从FreeBSD上下载文件速率是127KBytes/s
以上只是一个很简单的测试,但从结果看FreeBSD下通过ipfw dummynet可以很好的进行带宽 的控制。大家可以参考dummynet手册来定制更复杂的rule来满足自己的需求!
参考文档:DUMMYNET(4)
| | 关键字: |
|