- 論壇徽章:
- 0
|
老大,我有一個(gè)512K的下載的寬帶,想問一下,怎樣寫PF才可以讓這個(gè)寬帶可以更好的發(fā)揮出性能呢,主要是防止用戶用BT之類的下載軟件,但又不想停了它,只想其他用戶上網(wǎng)馬上可以傳送數(shù)據(jù),不會(huì)因?yàn)槟硞(gè)用戶或幾個(gè)用戶同時(shí)用完帶寬??
我的想法是這樣的:
因?yàn)橛脩粲?個(gè),有時(shí)他們玩一玩游戲,這樣的話,如果有兩個(gè)人同時(shí)玩時(shí)就不比較卡了,加上有些要上網(wǎng)瀏覽網(wǎng)頁,所以想分配每個(gè)都有100K,之后有空閑的可以借用,也就是如果用只有一個(gè)用戶上網(wǎng),就可以用光帶寬,如果兩個(gè)上網(wǎng),請(qǐng)問怎樣寫才可以完成??
我有一個(gè)現(xiàn)成的,,請(qǐng)幫忙看看能不能,,謝謝
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 編輯 ] |
|