当前位置:操作系统 > Unix/Linux >>

FreeBSD下的带宽控制--ipfw+dummynet

环境:FreeBSD 4.5-Release

  在FreeBSD下可以通过ipfw+dummynet来进行带宽控制,具体实现如下:

  1、 修改kernel configuration file, 加入对IPFW和DUMMYNET的支持

  options IPFIREWALL

  options DUMMYNET

  重新编译,安装新的kernel

  注:如果原内核中支持IPFILTER, 请注释 options IPFILTER。

  2、 新内核缺省是deny所有的连接,因此在/etc/rc.conf文件里加入以下行:

  # ---------------------------------------------------------------------------

  firewall_enable="YES" # Set to YES to enable firewall functionality

  firewall_script="/etc/rc.firewall" # Which script to run to set up the firewall

  firewall_type="open" # Firewall type (see /etc/rc.firewall)

  # ---------------------------------------------------------------------------

  注:因为是测试FreeBSD的带宽管理, 不想在ipfw上浪费时间,因此我们将firewall设置为open状态, 允许所有包的in, out

  3、 重新启动系统,让新内核起作用。在ipfw里加入自己的rules来进行带宽管理:

  # ipfw pipe 1 config bw 128Kbytes/s

  # ipfw add 1000 pipe 1 ip from 172.22.4.90 to 172.22.0.0/24 out

  注:172.22.4.90是FreeBSD网卡的ip address, 172.22.0.0/16是它所在的网段

  第一条rule定义了一个128Kbytes/s的pipe

  第二条rule 是将从172.22.4.90-〉172.22.0.0/16 的packet送到pipe 1处理

  测试结果:

  加入两条rule前从FreeBSD上下载文件速率是900K Bytes/s(10M局域网)加入两条rule后从FreeBSD上下载文件速率是127K Bytes/s

  以上只是一个很简单的测试,但从结果看FreeBSD下通过ipfw+dummynet可以很好的进行带宽的控制。大家可以参考dummynet手册来定制更复杂的rule来满足自己的需求!

  

上一个:FreeBSD中文化全攻略
下一个:FreeBSD核心参数

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,