| 
 | 
 
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册 
 
 
 
×
 
我下了个BFW的build tree,重新编译着来玩,给BUSYBOX加上了top命令。 
在top下看,发现pppoe进程占用的CPU非常的高,当高峰时,BT下载上传都几百K接近1M时,它占用了30%的CPU。(机器cpu: CE333) 
于是想到用kernel-mode-pppoe。 
恰好BFW还带了pppox.o和pppoe.o 
我又自己重新编译了rp-pppoe和pppd(用的新版本的,老版本没运行成功),得到rp-pppoe.so和pppd(这个pppd不晓得怎么搞的,很大,170K的样子)。 
 
然后安装: 
1.将pppox.o,pppoe.o,rp-pppoe.so加进/lib/modules 
2.用新的pppd代替老的pppd 
3.修改/etc/rc.d/rc.pppoe 
echo "pty 'pppoe -I $IF_INET -m 1452'"           >>/etc/ppp/options 
改为: 
# use kernel mode pppoe 
insmod /lib/modules/pppox.o 
insmod /lib/modules/pppoe.o 
echo "plugin /lib/modules/rp-pppoe.so $IF_INET "            >>/etc/ppp/options 
#echo "pty 'pppoe -I $IF_INET -m 1452'"           >>/etc/ppp/options 
这样就使用rp-pppoe.so这个plugin而不是pppoe了。但是这里还有个问题,原先传给pppoe的-m 1452的这个参数,现在没有办法传给rp-pppoe.so,导致不能设置MSS,有些网站就访问不了了,我搞了好久才找到原因并找出解决方法,这就是下面的: 
4.修改/etc/ppp/ip-up 
将文件末尾的 exit  0 这行前加点东西,改成下面这样: 
# patch! 
# needed for using rp-pppoe.so 
iptables -I FORWARD -o $1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452 
iptables -I FORWARD -o $IF_LOCAL -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452 
logger -p daemon.info -t ip-up "ip-up script do --set-mss 1452 on $1 and $IF_LOCAL" 
exit 0 
 
这样应该就没问题了。不过怎么保存就看自己的方法了,pppd在root.tgz里,这个包是不保存的。一般的方法是手动修改它了。 
我的方法更方便 
 
[ 本帖最后由 terminal2000 于 2005-10-29 16:02 编辑 ] |   
 
 
 
 |