"Linux guys were pretty much floored that FreeBSD 5.3 can route 1Mpps and they can't do much more than 100kpps. ;-) Yes, way to go!"
No ja tedy nevim, ale znam Linuxy, ktere routuji desitky megabitu... (Samozrejme se spatne napsanymi firewallovacimi pravidly lze dosahnout mnohe :-)
Taky jsem to pochopil jako packety (kilo packet per second}, jenomže bych docela rád věděl, zda předpona ,,kilo'' tu má stejný význam, jako u velikosti pamětí, tj 1024x, nebo takový, jaký je znám všude jinde, tj. 1000x. Dtto pro Mega v Mpps ;-). Jestli si myslíte, že jsem detailista, tak fyi 1Mpps chápaný metodou (1024x) výjde jako 1048576, zatímco chápáno metodou (1000x) to výjde pochopitelně 1000000, což je rozdíl 48576 packetů za každou 1s ;-), což činí rozdíl cca 4.63%, což imho není zanedbatelné.
BTW tohle je pěknej historickej problém, viz 1.44MB diskety ;-).
Pak mne napadá ještě jeden rejpanec, tj. jestli je počet přeroutovaných packetů za jednotku času nezávislý na jejich délce/typu/obsahu, jinými slovy, jaký packet se tu vlastně myslí. Taky by mne docela zajimalo, na jakém stroji to bylo měřeno, kolik měl ten stroj rozhraní, jak měl velké směrovací tabulky...
Zdravim
Docela se mi to zamlouva. Tomu redukovani 100->8 sice dvakrat moc neverim, ale v pripade nekolikanasobneho pouziti seznamu IP poolu se to asi usetrit da. V iptables se to musi porad donekonecna psat radek co radek, v pf staci udelat seznam na jednu radku a ten pak pouzit. Tesim se az chlapci od tucnaka taky implementuji podobne vychytavky.
Zdenek
Taky se pripojuji k zadosti o ukazku prepisu 100 pravidel iptables na 8 radku pf.
Pochopil bych kdyby slo o prepsani nestavoveho fw na stavovy, ale nejak mi chybi predstavivost v tomto srovnani, neni mi jasne, co se da az tak zredukovat.
Jinak nechapu proc je z toho clanku citit nepratelstvi vuci linuxu, vzdyt je s nim FreeBSD na stejne lodi. Na jedno se hodi lip ten, jinde se zas uplatni druhy.
Pokud jde o tohle, tak vam poradim, jak prepsat _JAKYKOLIV_ skript na jeden radek, staci kdyz mi poslete $100 v jednodolarovych neoznacenych bankovkach z ruznych serii....
Ale ted vazne, jedna se jen o zprehledneni zapisu, ktereho muzu mnohem lepe a systemoveji docilit pomoci for, pouziti databaze nebo treba i XSLT, nebo to PF pak vede (a testuje) jako jedno pravidlo??
To bys musel znat autora... jinak je to proto, ze nekterym bsdckarum kloudne nic nefunguje a jaksi se s tim nemohou smirit, tak si namluvili, ze ten jejich system je lepsi nez linux a nacpali by ho i do zachodoveho prkenka. Cimz jaksi opominaji, ze kazdy system je vhodny pro nekoho jineho a na neco jineho:-).Don't worry, proste se nad tim nepozastavuj a usetri si nervy. Stejne vsichni vime, ktery system je pro nas ten nej nej a od ktereho pryc...
-djz
Proc kdyz kdokoli napise cokoli co rika, ze je jine nez Linux, musi byt nepratelske. Nemam rad tyhle ublizene postoje.
Jinak s tou "predurcenosti" souhlasim. Jsou veci, na ktere dokonce nejlepsi Windows. A to i mezi serverama.
PS: Nemam rad Linux :-D A mam k tomu racionalni duvody :-)
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.