V jednom seminari jsem chtel po studentech dve veci, ktere na Linuxu jdou, ale ti kteri jeli *BSD (ted uz nevim konkretne ktere, myslim Open nebo Free) to nedokazali udelat s tim, ze to pravdepodobne nejde. Treba nekdo poradi? Doufam ze si to zadani pamatuju spravne.
1. ukol: udelat router s packetovym filtrem tak, aby pristup zvenku na port 2222 stroje v DMZ presmeroval na port 22 toho stroje, ale tak, aby pristup zvenku primo na port 22 toho stroje v DMZ nebyl mozny (cili jde o to umet packet rozlisit i po prepisu adresy). V Linuxu jde trivialne pomoci oznackovani (mark) toho packetu.
2. ukol se tykal shapingu - ethernetova linka, na ni router a nejaky dalsi "vnitrni" stroj: Nakonfigurovat router tak, aby veskery provoz mezi routerem a tim vnitrnim strojem byl omezeny na 128kbps s tim, ze se tento provoz mel dale podrobneji klasifikovat tak, ze z jednoho konkretniho vnejsiho pocitace byl omezeny na 64kbps a mel nejvyssi prioritu, z druheho na 80kbps s nizsi prioritou a zbytek na nejnizsi priorite. Pokud si pamatuju dobre, tak uzivatele *BSD neumeli v ALTQ 128kbps tok rozklasifikovat na neco co v souctu tech 128kbps presahlo. V Linuxu se tohle dela treba pres HTB hierarchii kde se toky omezi pres "ceil".
No flames, please.
-Yenya
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/net/pf.c
---
Revision 1.349, Tue May 13 17:45:23 2003 UTC (16 months, 1 week ago) by henning
add support for tagging packets with arbitary tags and filtering based on
those tags later on.
---
Pokud se ale bavime o FreeBSD, tak tam to vlastne bude az po vydani 5.3, cili asi za 2 tydny :)
Jednak - viz predchozi odpoved - na shaping linky z inetu (i kdyz to neni prave orechove a nefunguje to moc dobre a jen na TCP, tak preci jenom je to lepsi nez nic).
Ja to navic pouzivam na shaping podle IP na routeru, ktery dela zaroven NAT - shaping se musi delat na vstupu, protoze na vystupu uz maji packety natovane (stejne) IP. Je fakt, ze by se to mozna dalo obejit nejakym znackovanim packetu na vstupu a pak shapovat na vystupu podle tech znacek...
1, mozna jsem nepochopil zadani, ale to co jsem pochopil bych resil tato:
ipfw add 500 deny from any to pc.dmz 22 via $if_out
ipfw add 600 (fwd|divert) ... pak zalezi na tom jestli budem forwardovat, nebo prekladat.
2, man dummynet #/queue
ps: ted jsem si vsimnul, ze je to dotaz na pf, ale ten ja nepouzivam, takze nemohu slouzit.
PS. bsd tohle umelo snad jiz s prvnimi verzemi ipf (rikal jste ze pouzivali *BSD) (navic nevidim vubec duvod nejake pakety znackovat, alespon ne v tomto pripade)
v pf bych resil asi tak:
rdr on $ext_if inet proto tcp from any to ($DMZ_stroj) port 2222 -> $DMZ_stroj port 22
slo by to i pres routovani na 4 urovni iso/osi, coz by mne docela i zajimalo zda je mozne routovat s iptables timto zpusobem, jelikoz je prilis neznam, napriklad odchozi ssh pres jinou nez defaultni gateway a ftp take pres jinou nez defaultni a take jinou nez je pro ssh z jednoho stroje za takovymto routerem?
shaper, znam jen dummynet tam to mozne je
V Linuxu neni problem routovat na zaklade znacek. Takze si v iptables pakety oznackujete na libovolne vrstve (treba 7 modelu ISO/OSI) a pak routujete provoz aplikace XXX jinak nes YYYY jinak nes ZZZ a je vam jedno na jakych portech komunikace jede (ono jsou aplikace jejichz porty pri komunikaci jsou ruzne).
Nebo lze napr. nastavit ze vzdy prvnich 10 paketu za sekundu aplikace XXX jde jednou cestou dalsi jinou. Proste moznosti jsou v Linuxu takrka neomezene a lze zapsat takrka cokoli.
Spravuju krome Linux routeru i Cisco PIX Firewall a musim rict ze tento super firewall za skoro milion (to je cena jen FW desky do Catalystu) je proti tomu co nabizi iptables v Linuxu jen polofunkcni hracka pro deti (Polofunkcni myslim doslova. Skutecne nektere veci, ktere se tam zapsat daji v reale nefunguji mnohe se nedaji zapsat vubec a Cisko je neni schopne opravit ani za rok. Takze mame predrazeny firewall, ktery zdaleka nesplnuje nase predstavy o firewallu. Ale to us je jina historie.)
Jinak v Linuxu se da napsat stejna vec v iptables jako 1 ale i jako 1000 pravidel. Takze autor redukce 100 radku iptables na 8 v nejakem BSD firewallu bud chce poskodit Linux nebo zkratna nezvlada konfiguraci linuxoveho iptables.
Rivalita systemu je do urcite miry zdrava, alespon se BSD snazi trumfnout Linux a naopak, z cehoz muze tesit uzivatel - system se stale zlepsuje. Ale zase to neprehanejte, mnohdy uzivateli totiz pomuze pro zlepseni OS jejich spoluprace.