ipfw: beznych sluzeb od p2p
Dan Lukes
dan at obluda.cz
Thu Oct 21 00:05:29 CEST 2004
Cizek Milan wrote:
> laboruji ted s jednim problemem. Protoze se mi v siti nehorazne rozmohli p2p
> (lide to neomezuji, stahuji jak o zivot, jsou neohleduplni k ostatnim) stava
> se, ze chvilema bezne sluzby ani nenajedou.
> ${fwcmd} pipe 1 config bw 512Kbit/s # běžné služby
> ${fwcmd} pipe 2 config bw 512Kbit/s # bezohledné stahovače
>
> ${fwcmd} add 6000 pipe 1 ip from not 10.0.0.0/8 ${FairServices} to
> 10.0.0.0/8 in via ed0
> ${fwcmd} add 7000 pipe 2 ip from not 10.0.0.0/8 not ${FairServices} to
> 10.0.0.0/8 in via ed0
Ono se nad tim trochu slozite premysli, kdyz nezname IP konfiguraci
toho pocitace. Informace, zda ed0 je vnitrni nebo vnejsi interface, jake
jsou na vnitrnim interface site (nebo alespon zda je tam i nejaka jina
nez cely ten A blok) jsou tim, co by nam premysleni nad podobnym
problemem znacne usnadnilo ...
> Pokusim se prelozit sve myslenky. :-)
> * vse co neni z LAN (INET) a funguje na portech ${FairServices} a je
> smerovane do LAN a prichazi pres ed0 dej do pipe 1
> * vse co neni z LAN (INET) a nebezi na portech ${FairServices} a je
> smerovane do LAN a prichazi pres ed0 dej do pipe 2
Ja uz jsem psal, je tezke posoudit, zda napsane pravidlo odrazi
dostatecne verne tento slovni popis - nemame na to dost informaci. Ale
pripada mi to ponekud prekombinovane.
Jestlize je ed0 vnejsi interface a vnitrni je ed1 a neni na nem jina
sit nez "LAN", pak vhodnejsi je patrne
... ip from any ${FS} to any out recv ed0 xmit ed1
Slovne receno nam jde o "pakety jdouci zvenku dovnitr".
> Jeste jeden pod poddotaz. Co napsat do vyctu FairServices kdyz tam chci
> jeste DNS a ICMP?
Coz o DNS - to odpovida z portu 53, jehoz slovni nazev je "domain" - s
tim problem neni.
Ale s tim ICMP ano. Tvoje $FairServices obsahuje seznam portu. Pojem
"port" ma vyznam jen u nekolika malo protokolu rodiny IP. Napriklad u
TCP a UDP. U vetsiny protokolu pak tento pojem definovan neni.
Podminka (napriklad) "any $FS" tak zahrnuje pakety s lobovolnou IP
adresou a portem ze seznamu FS. Jenze to samo o sobe implikuje, ze IP
paket je takoveho typu, pro ktery ma pojem "port" vyznam. ICMP nepatri
mezi protokoly, ktere by takovou podminku splnovaly - proto podminka
"port ze seznamu" nemuze byt nikdy splnena. ICMP paketu se takto
koncipovane pravidlo nikdy tykat nebude (ledaze bude seznam portu zcela
prazdny).
Pro ICMP je nutne podminku sestavit zvlast - a o zadnych portech se
nezminovat. Nemusim snad zduraznovat, ze "Podminku zvlast" neznamena,
ze musi mit samostatnou separatni pipe ...
----------------
No, schazi dodat jeden zasadni postreh. Filtrujeme az "za linkou" - tj.
(pripadne) zahazujes az pakety, ktere uz linkou prosly a jeji kapacitu
vyuzily.
Takove filtrovani ma smysl jen u tech protokolu, ktere maji nejakou
flow-control a ktera zareaguje na tuto situaci spravne - tedy snizenim
frekvence zasilanych paketu.
To lze ale s jistotou rict jen o TCP (pozor, UDP neni TCP, to je neco
jineho) ...
U ostatnich IP protokolu je flow-control zalezitosti aplikacni vrstvy a
zminene chovani zaruceno v zadnem pripade neni.
Pokud by tedy prenosy probihaly nejakym "neohleduplnym" protokolem, pak
konfigurace, o ktere se bavime, sice zabrani uzivateli, aby data dostal,
ale nezabrani, aby ta data (pred svym zahozenim) nezacpala totalne
linku, o jejiz ochranu se snazime ...
------------------
A, v neposledni rade, bojujes boj predem prohrany. Jestli's ty neslysel
o tom, ze skrz SSH a HTTP protokol lze protunelovat jakakoliv data (a to
nemluvimo moznosti, ze na druhem konci na patricnem portu vubec nesedi
SSH a HTTP, ale neco uplne jineho), pak tvoji uzivatele o tom slyseli
urcite - a pokud ne, opatreni je zahy donuti si tuto diru ve vzdelani
doplnit.
Domnivam se, ze "shaping" neni vhodnym nastrojem pokud se nam jedna o
vynuceni "fair-use" od uzivatelu, kteri se aktivne snazi pojem "rozumne
uziti" ignorovat. Ver mi. Mam v siti 800 uzivatelu ...
Dan
More information about the Users-l
mailing list