2024年6月6日发(作者:)
Dummynet安装配置
DummyNet是FreeBSD的内部系统工具,需要在安装FreeBSD系统后重新安装编译内
核。该工具是内核级别的IP包处理工具。该工具可以模拟包的丢失、包的延时……(仓促
间仅试验了drop & delay,但相信功能远多于此)。该工具是配合FreeBSD自带的防火墙ipfw
使用的。
第一部分:简单的介绍安装
1、FreeBSD系统的安装:
(1,2,3,……,系统的安装过程省略)
2、dummynet安装:
我在FreeBSD8.1下面的安装最简单的方法是通过以 root 身份运行 sysinstall, 选择
Configure, 然后是 Distributions、 src,选中其中的 base 和 sys
3、接下来配置内核(因为要编译内核,过程比较慢very very )
内核文件默认路径 /usr/src/sys/i386/conf
A、在文件GENERIC中,所以需要先copy一份
# cd /usr/src/sys/i386/conf
# cp GENERIC dummynet-GENERIC
B、再编辑dummynet-GENERIC文件,添加以下几行
options IPFIREWALL #在内核中添加防火墙支持
options DUMMYNET #启用dummynet
options IPFIREWALL_DEFAULT_TO_ACCEPT #把防火墙设置为默认接收包
C、配置内核
# config dummynet-GENERIC
D、编译内核
根据提示的路径进入,执行提示的相关命令
# cd ../compile/dummynet-GENERIC
# make cleandepend
# make depend
# make (此时可以去休息了,过程灰常滴慢,俺在虚拟机编译了超过1个小时)
# make install
E、reboot重启系统,让新内核生效
检验内核中是否已经添加了防火墙,查看的值
# sysctl
:1
#
结果为1表明已经添加成功,并且防火墙已经启用
第二部分:简单举例(本处需要使用ipfw规则,偶也不熟,找手册吧)
1、 清除所有规则,看默认的网络情况
# ipfw -f flush
本例通过ping网关看到网络基本正常,丢包率0.0%,平均延迟3.257ms (进、出来回,
单向就是1.6ms)
2、 设置延迟和丢包
设置所有上行icmp协议的ip包延迟100ms丢包率40%
通过ping网关看丢包率在46.5%,平均延迟106.581ms(单向out,如果双向则在210ms
所有)
3、 设置延迟
让所有通过网卡的ip包都延迟500ms(包含进、出)


发布评论