环境: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来满足自己的需求!
([url]http://www.*.com[/url])
相关文章
- win10下的CLion控制台中文乱码终极解决方案
- linux下命令行方式的音量控制
- SpringBoot下控制层关于@RequestBody接受参数,用实体接受时,参数接受不到的问题
- TCP系列49—拥塞控制—12、DSACK下的拥塞撤销
- 在PWM控制下的直流有刷电机性能优化
- 设置Eclipse下控制台console输出字体的大小
- Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)
- Linux下C语言的进程控制编程
- 解决 Uncaught SyntaxError: Unexpected token 周末加班写语音后台,在套模板时,查看控制台,老是报 Uncaught SyntaxError: Unexpected token <,如下图 可是又没发现页面结构有问题,与看了下后台的 error_log,发现有这么一条日志 [2018-05-26 16:11:28] 127.0.0.1 /js/ INFO [Log_Log.info] error:Failed opening controller script D:\wamp\www\asterisk/application/\controllers\: No such file or directory|file:D:\wamp\www\asterisk\public\|line:15 原来是引入的 js 文件没有放入框架,后放置下,刷新页面,便没有了报警。 其实,后来想想,这个 Uncaught SyntaxError: 属于 js 的报错,查看控制台找不到其他的错误,点击跳转到第一幅图的错误提示,应该就应该想到是某个 js 文件未引入。
- Dell 服务器 R740 RAID控制卡F2 设置界面下raid的配置