dummynet

Lubomir Majersky lumax at in.acompp.sk
Mon Apr 18 19:38:58 CEST 2005


Petr Bezděk napsal(a):
>>
>>                192.168.1.1             verejny if
>>                       -------------------
>> 192.168.1.0/24       |                   |
>> LAN -----------------|         FW        |----- inet
>>                      |                   |
>>                       -------------------
>>                   if xl0               if ep0
>>
>>
>> Zacal som teda od toho najjednoduchsieho a ako prve som sa rozhodol 
>> obmedzit rychlost pre stanicu 192.168.1.11 a urobil som to takto:
>>
>> #upload/download
>> pipe 1 config bw 8KBytes/s queue 8KBytes
>> pipe 2 config bw 16KBytes/s queue 8KBytes
>> ...
>> add 501 pipe 1 all from 192.168.1.11 to any in via xl0
>> add 502 pipe 2 all from any to 192.168.1.11 out via xl0
>> ...
>> add 1000 divert natd all from any to any via ep0
>>
>> Pravidla som aplikoval na vnutorny interface (xl0) a funguje to bez 
>> problemov.
>> Zacal som teda experimentovat s pravidlami, ktore som chcel aplikovat 
>> na verejny if (ep0), ale nemozem sa pohnut z miesta, stale robim 
>> niekde chybu. Skusal som to aj podla prikladu zo septembra 2003 "ipfw 
>> pipe/queue dynamicky mezi uzivatele" ale bez efektu. Vie mi niekto 
>> poradit, ako by mali vyzerat tie pravidla pre obmedzenie rychlosti 
>> stanice 192.168.1.11 s tym, ze budu aplikovane na verejny if (ep0)?
> 
> 
> #upload/download
> pipe 1 config bw 8KBytes/s queue 6KBytes
> pipe 2 config bw 16KBytes/s queue 12KBytes
> ...
> add 500 pipe 1 all from 192.168.1.11 to any out via ep0
> ...
> add 1000 divert natd all from any to any via ep0
> ...
> add 1500 pipe 2 all from any to 192.168.1.11 in via xl0
> 
No, skusal som to, ale nejde to tak ako by som chcel. Zo stanice 
192.168.1.11 downloadujem bez obmedzenia rychlosti. Pipe 1 sa uplatni 
ale pipe 2, ktore som dal za divert sa neuplatni (0,0). Uplatnuje sa 
divert. one_pass mam nastavene na 0.
Momentalne som zrusil vsetky pravidla (okrem beznych - lo0, 127.0.0...)a 
  mam uz len pravidla pipe a divert, ale za toho certa nemozem dosiahnut 
takeho efektu obmedzenia rychlosti ako u pravidiel aplikovanych len na 
vnutorny if (xl0). Nema tam byt este nieco?

Zopakujem teda dany stav:
1. Ak to mam aplikovane na vnutorny if (xl0) a one_pass=1 vsetko slape 
bez problemov.
2. Ak to aplikujem na verejny if (ep0) (one_pass som nastavil na 0, 
pretoze pri one_pass=1 to nejde vobec) aj podla Vasho prikladu (a 
myslim, ze som to uz skusal a nielen tuto kombinaciu) tak to ide ale bez 
obmedzenia rychlosti, pipe 2 sa neuplatni.

Ak je one_pass 1 tak paket opustajuci pipe neprechadza fw znova ale ide 
na dalsie pravidlo. Chapem to spravne?

Dokonca som si nakreslil taky jednoduchy obrazok, aby som mal lepsiu 
predstavu ako tie pakety idu "z" resp. "do" stanice.

ep0(verejny)      xl0(vnutorny)
  IN-->|-->OUT     IN-->|-->OUT
       |                |
OUT<--|<--IN     OUT<--|<--IN

Som vsak v koncoch...
-- 
Lumax



More information about the Users-l mailing list