Hi,
On Tue, 3 Sep 2002, Razvan Cremenescu wrote:
>
> in principu nu ai facut nimik bine... :)
> iti dau un exemplu folosit de mine mai demult :
>
>
> # mai trebe pus si <out> la urma :)
> #add 301 pipe 501 ip from 192.168.0.11 to any via rl1 out
> #add 302 pipe 502 ip from any to 192.168.0.11 via rl1 in
>
> #un pipe pentru un bandwidth momentan la ****
> #pipe 500 config bw 1kbits/s
> #pipe 501 config bw 10kbit/s
> #pipe 502 config bw 10kbit/s
Da, aici accentuez si eu ideea: mare atentie la modul de implementare a
filtrelor cu pipe, in ipfw se intra de doua ori: o data la intrarea
pachetului in kernel si inca o data la iesirea pachetului din kernel.
Deci, daca veti pune ceva de genul:
pipe <xx> ip from any to <client>
de fapt le veti aloca de fapt numai jumatate din banda configurata in
pipe, deoarece pachetul va fi bagat in coada de asteptare a pipe-ului de
doua ori, la intrare si iesire. Corect este:
pipe <xx> ip from any to client out
Generalizand, pentru a limita niste clienti conectati la server-ul
nostru printr-o interfata vx0, vom folosi:
pipe 1 ip from <client> to any in via vx0
pipe 2 ip from any to <client> out via vx0
Nu va speriati daca ipfw o sa va transforme regula putin (din "in via"
in "in recv" si "out via" in "xmit out"). Pipe 1 este pentru upload, iar
pipe 2 pentru download.
E buna si cealalta observatie, ca un pipe va "iesi" imediat din
firewall (la fel ca un allow). Puteti folosi sysctl-ul cu pricina pentru
a schimba modul de manifestare (adica sa nu mai sara imediat), dar
atunci trebuie sa aveti grija sa nu fie prinse pachetele simultan de mai
multe filtre cu pipe (in acest caz se vor "insuma" efectele pipe-urilor
cu pricina).
Happy firewalling,
Ady (@rofug.ro)
____________________________________________________________________
| An age is called Dark not because the light fails to shine, but |
| because people refuse to see it. |
| -- James Michener, "Space" |
__________________________________________________________
Send 'unsubscribe rofug' to [EMAIL PROTECTED] to unsubscribe