- 论坛徽章:
- 0
|
老大,我有一个512K的下载的宽带,想问一下,怎样写PF才可以让这个宽带可以更好的发挥出性能呢,主要是防止用户用BT之类的下载软件,但又不想停了它,只想其他用户上网马上可以传送数据,不会因为某个用户或几个用户同时用完带宽??
我的想法是这样的:
因为用户有5个,有时他们玩一玩游戏,这样的话,如果有两个人同时玩时就不比较卡了,加上有些要上网浏览网页,所以想分配每个都有100K,之后有空闲的可以借用,也就是如果用只有一个用户上网,就可以用光带宽,如果两个上网,请问怎样写才可以完成??
我有一个现成的,,请帮忙看看能不能,,谢谢
ext_if="tun0"
int_if="rl0"
user_1="192.168.1.5"
user_2="192.168.1.219"
user_3="192.168.1.9"
user_4="192.168.1.8"
me_if="192.168.1.220"
set state-policy if-bound
set block-policy return
set optimization aggressive
scrub in all
altq on $ext_if cbq bandwidth 450Kb queue { out_1,out_2}
queue out_1 bandwidth 10% cbq(default)
queue out_2 bandwidth 50% cbq(borrow)
altq on $int_if cbq bandwidth 600Kb queue{ in_1, in_2}
queue in_1 bandwidth 10% cbq(default)
queue in_2 bandwidth 60% cbq(borrow)
nat on $ext_if from $int_if:network to any -> ($ext_if)
block all
pass quick on lo0 all
antispoof for $ext_if
pass in on $ext_if inet proto tcp from any to ($ext_if) port ssh flags S/SA keep state
pass in quick on $int_if inet from $me_if to any keep state tag $me_if queue in_2
pass out quick on $ext_if inet all keep state tagged $me_if queue out_2
pass in quick on $int_if inet from $user_1 to any keep state tag $user_1 queue in_2
pass out quick on $ext_if inet all keep state tagged $user_1 queue out_2
pass in quick on $int_if inet from $user_2 to any keep state tag $user_2 queue in_2
pass out quick on $ext_if inet all keep state tagged $user_2 queue out_2
pass in quick on $int_if inet from $user_3 to any keep state tag $user_3 queue in_2
pass out quick on $ext_if inet all keep state tagged $user_3 queue out_2
.
.
.
[ 本帖最后由 sunpk 于 2007-3-24 19:39 编辑 ] |
|