reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

FAQ: Dělení rychlosti internetu klientům alias shaping pomocí FreeBSD

Star_gate (17)|5.5.2007 19:01
[SIZE="5"]
Dělení rychlosti internetu klientům alias shaping pomocí FreeBSD
[/SIZE]


Ahoj všem, kteří řešili tento problém a nebo se na to chystají. Kdysi sem také řešil omezování rychlosti sítě. Až do dne, kdy sem objevil nástroj, který funguje ve své podstatě jako server (gateway). Kde to využiji? Já to používám jako internet provider pro několik klientů, kterým sdílím své internetové připojení. Minimálně se naučíte základy ISP (Internet service provider) a získáte další cenné zkušenosti s prací s operačním systémem BSD. Hlavní výhoda tohoto řešení je cena, ta je naprosto zanedbatelná, relativní nenáročnost, rychlost a jednoduchost.



[size=+1]HW požadavky[/size]
Potřebujeme starý PC (např. nějaká P2 266MHz a alespoň 128MB RAM, 2xPCI LAN karta a starý disk, alespoň 600MB. Dále už jen CD-ROM, které se po instalaci odpojí kvůli úspoře el. energie). Čím méně to spotřebuje, tím lépe. Vyhažte zbytečné disky, zvukovky atp.

[size=+1]SW požadavky[/size]
Samotný "router" stáhneme z http://snapshots.pfsense.org/FreeBSD6/RELENG_1_2/iso/. ISO má přibližně 28 MB. Soubor vypálíme na CD (buď přímo vypálíme IMAGE nebo rozbalit a soubory hodit na datové CD). Tento serverový OS je v podstatě router s možnostmi nastavení, které nemají ani přístroje v cenové relaci 5000Kč a více.

[size=+1]Instalace[/size]
Máme sestavený PC a vypálené CD se staženým *.iso souborem? Výborně, jdeme na tu těžší část.

Jako další nastavíme bootování z CD v BIOSu a nabootujem z vypáleného CD. Vyběhne nabídka v příkazové řádce. Zde zvolíme volbu 99 (snad, kdyžtak se ozvěte). Mělo by to být "install pfSense to harddrive" (snad... :)). Tato instalace je vcelku jednoduchá. Stačí znát základy PC angličtiny a máte vyhráno. Po instalaci restartujete PC a odpojíte CD-ROM.

[size=+1]Instalace rozhraní v OS[/size]
V nainstalovaném OS vybereme, které rozhraní bude WAN (připojeno k modemu => internet) a které LAN (do interní sítě). Jeden kabel zapojíme z modemu do jedné síťovky a kabel z druhé síťovky do switche (interní LANka). OS chce po nás vybrat OPT1 interface (interface je rozhraní neboli síťová karta), zvolíme "n". Dále je na řadě WAN interface. Zde odpojíme kabel od modemu, zvolíme "a". Odentrujeme, připojíme kabel a znovu klávesou enter potvrdíme. U LAN interface je nastavení stejné. Tímto jsme dokončili základní konfiguraci.

[size=+1]Nastavení OS a vytvoření skupin[/size]
Dále je na řadě zvolení síťové IP adresy, přes kterou budeme konfigurovat "router" na jiném PC. Defaultní je 192.168.1.1. Tuto adresu zadáme do internetového prohlížeče, chce to po nás jméno a heslo. Původní nastavení je účet admin a heslo pfsense. Otevře se nám stránka se statusem neboli stavem systému. Na horní liště máme oddělení konfigurace. Nás bude zajímat traffic shaper. Problém je, že takto nastavíme pouze dynamický shaping a ne statický. Proto dávám k dispozici konfig na shaper, který je zde http://90.176.64.19/shaper.xml. Ten nahrajeme do systému tím, že na horní liště vybereme položku diagnostics a tam BACKUP/RESTORE.. zde dáme obnovit config (dolní polovina stránky) a vybereme AREA (část systému pro kterou je config určen => traffic shaper) a dáme obnovit. Dále je vše vyplněno. Pouze změníme nějaké hodnoty, které se nám nelíbí v položce firewall/traffic shaper. Pokračujeme otevřením položky firewall/aliases a zde vytvoříme skupiny. Jednu nazveme např. "Group 256" a další "Group 512" atd. Do nich vepíšeme IP adresy podle rychlosti netu a máme vyhráno... uložíme konfiguraci a vesele shapujeme.

V případě nesrovnalosí napište... Je toho mnoho, tak se mohlo stát, že jsem na něco zapoměl. Vzal jsem to letem, pokud nebudete čemukoliv rozumět či jsem cokoliv přeskočil, potom se hned ozvěte.
[SIZE="1"]
EDITED a UČESÁNO (a přidán roztomilý obrázek maskota systému BSD) by P@pi (snažil jsem se to přeložit do spisovné češtiny co to jen šlo, jestli něco nechápete => ozvěte se). Díky Star_Gatovi za návod a vítam mezi námi nové ISP ;).[/SIZE]
[SIZE="1"]EDIT2: Přidány Mechovo poznatky[/SIZE]

[SIZE=+1]Trochu od Mecha13[/SIZE] (originál najdete níže na první stránce):
[QUOTE]tak trochu doplnim vlastni poznatky

1. instalace:uvodni obrazovka - odpalit entrem
masleduje nastaveni VLAN (asi nebudete - 'n') a ktera sitovka je LAN a ktera WAN - poznate je jen podle MAC adresy, takze treba jestli mate nekde DHCP, tak si pak muzete overit jestli jste spravne, jinak je prohodit. (ip se dozvite az o kus dal)
99 - instalace

rozdelit disk - snad bez problemu

instal bootblock - jestli je disk bootovatelny
packet mode - to je co za volbu?

vytvorit pododdily - dle libosti swap muzete smazat

instalace - pri instalaci na USB flash disk se instalace strasne dlouho drzi na 41% (treba i 5-10 minut) - nebojte se, bude pokracovat... jen to trva

a pak mam problem. na VMware v pohode, na HDD taky v pohode, ale ani za boha to nemuzu rozchodit z USB flash disku. 512MB kinkston stoji 160,- coz je idealni a velikost staci (i kdyby 1GB stoji 260,-) protoze jen redukce CF->IDE stoji 500,- a k tomu jeste CF...
no ale problem je, ze se z USB flashdisku nedari ani za nic nabootovat.
-------------------
Invalid label
No /boot/loader

FreeBSD/i386 boot
Default: 0:fd(0,a)/boot/kernel/kernel
boot:
Invalid label
No /boot/kernel/kernel
....
------------------

jestli to dobre chapu, tak se zavadec spusti, snazi spustit system, ale nema flash disk najity, nevi i nem (ikdyz z neho nabootuje) a nepodari se spustit.

podle toho co jsem nasel, by to mel zvladnout GRUB - jeden borec udelal .img CF a flash disku s GRUBem, ale kdyz jsem do nahodil pomoci "dd of=/dev/sdb1 bs=16k" z kubuntu, tak zustane boot zastaveny hned po biosu se vypise GRUB a blika kurzor... a nic. pak byl na tech strankach jeste nejaky skriptik v shellu, ale ten se na linuchu nechyta uz vubec, jdu skusit splasit FreeBSD, nainstalovat a spustit skript z toho...

teoreticky by melo stacit na flashdisk nahodit GRUB, pak pri instalaci vynechat bootblock a GRUB nastavit rucne... jenze nemam paru jak na to:(
(postaci spustit instalaci linuchu, nechat ho nahodit grub a instalaci pak tipnout? a prenastavit? nebo to je blbost?)

///////////////////////////
to Star_gate - jestli dobre chapu tomu shapovani pomoci tvojeho .xml konfiguraku, tak tam jsou akorat vytvoreny queue s danymi rychlostmi, a pak vytvorena pravidla WAN-LAN a LAN-WAN s danymi rychlostmi? nebo jeste nejaky figl

//////////////////////////
odkazy na ty .img jsou zde:

http://marc.info/?l=pfsense-discussion&m=114572016822259&w=2
http://shopping.hacom.net/catalog/pub/pfsense/[/QUOTE]
Ritchie83 (369)|5.5.2007 20:32
Pro traffic shaping založený na Linuxu lze použít např. IPCop.
Star_gate (17)|6.5.2007 00:44
Linux je na tohle nic moc... Má "špatnou" podporu síťe... System pro usery a ne na gateway.. FreeBSD je primárně určen síťím a myslím, že je to to nejlepší free co je...
speedsnail (4876)|6.5.2007 12:14
Super návod. Chtěl jsem si něco podobného doma (celeron 266,160ram) vytvořit ale jelikož mám 4port ADSL router tak jsem od toho upustil, na to co potřebuju to stačí. Jestli to dobře chápu tak bych musel buď
1. Koupit ještě switch, nebo
2. do toho PC koupit 4 síťovky :) (abych mohl routovat/shapovat 3 pc)
Star_gate (17)|7.5.2007 00:43
No koupil bych dvě a pak to z tý LAN dal do switche... 4 sou zbytečnost...
speedsnail (4876)|7.5.2007 13:36
No to pak ale musim koupit switch :) a jsem u toho že mi radši stačí to co umí SMC barricade.
pavel_p (993)|8.5.2007 09:45
[QUOTE=speedsnail]Jestli to dobře chápu tak bych musel buď
1. Koupit ještě switch, nebo
2. do toho PC koupit 4 síťovky (abych mohl routovat/shapovat 3 pc)
[/QUOTE]
Myslím, že stačí nechat konfiguraci sítě jak je a jen přenastavit na třech PC gateway na PC co má dělat shaper a to zkonfigurovat. Provoz sice půjde ven 2x přes ADSL router, ale nemělo by to ničemu vadit.
mech13 (5526)|26.5.2007 11:24
tak trochu doplnim vlastni poznatky

1. instalace: uvodni obrazovka - odpalit entrem
masleduje nastaveni VLAN (asi nebudete - 'n') a ktera sitovka je LAN a ktera WAN - poznate je jen podle MAC adresy, takze treba jestli mate nekde DHCP, tak si pak muzete overit jestli jste spravne, jinak je prohodit. (ip se dozvite az o kus dal)
99 - instalace

rozdelit disk - snad bez problemu

instal bootblock - jestli je disk bootovatelny
packet mode - to je co za volbu?

vytvorit pododdily - dle libosti swap muzete smazat

instalace - pri instalaci na USB flash disk se instalace strasne dlouho drzi na 41% (treba i 5-10 minut) - nebojte se, bude pokracovat... jen to trva

a pak mam problem. na VMware v pohode, na HDD taky v pohode, ale ani za boha to nemuzu rozchodit z USB flash disku. 512MB kinkston stoji 160,- coz je idealni a velikost staci (i kdyby 1GB stoji 260,-) protoze jen redukce CF->IDE stoji 500,- a k tomu jeste CF...
no ale problem je, ze se z USB flashdisku nedari ani za nic nabootovat.
-------------------
Invalid label
No /boot/loader

FreeBSD/i386 boot
Default: 0:fd(0,a)/boot/kernel/kernel
boot:
Invalid label
No /boot/kernel/kernel
....
------------------

jestli to dobre chapu, tak se zavadec spusti, snazi spustit system, ale nema flash disk najity, nevi i nem (ikdyz z neho nabootuje) a nepodari se spustit.

podle toho co jsem nasel, by to mel zvladnout GRUB - jeden borec udelal .img CF a flash disku s GRUBem, ale kdyz jsem do nahodil pomoci "dd of=/dev/sdb1 bs=16k" z kubuntu, tak zustane boot zastaveny hned po biosu se vypise GRUB a blika kurzor... a nic. pak byl na tech strankach jeste nejaky skriptik v shellu, ale ten se na linuchu nechyta uz vubec, jdu skusit splasit FreeBSD, nainstalovat a spustit skript z toho...

teoreticky by melo stacit na flashdisk nahodit GRUB, pak pri instalaci vynechat bootblock a GRUB nastavit rucne... jenze nemam paru jak na to:(
(postaci spustit instalaci linuchu, nechat ho nahodit grub a instalaci pak tipnout? a prenastavit? nebo to je blbost?)

///////////////////////////
to Star_gate - jestli dobre chapu tomu shapovani pomoci tvojeho .xml konfiguraku, tak tam jsou akorat vytvoreny queue s danymi rychlostmi, a pak vytvorena pravidla WAN-LAN a LAN-WAN s danymi rychlostmi? nebo jeste nejaky figl

//////////////////////////
odkazy na ty .img jsou zde:

http://marc.info/?l=pfsense-discussion&m=114572016822259&w=2
http://shopping.hacom.net/catalog/pub/pfsense/
Star_gate (17)|26.5.2007 11:49
No kdyby to bylo tak prosté, tak bych tam ten config neposkytoval, ne??;-) Jde o to, že se freeBSD musí nějak říct, kudy má co téct.... Problém by u nezkušeného uživatele nastal, kdyby se snažil nakonfigurovat vše ručně a to proto, že je potřeba vytvořit parentní quos na down i up, ACK quosy, a obecné quos pro ostatní provoz než je definovaný(připojíme nový PC který nemáme definovaný). Osobně testuju v ostrém provotu verzi 1.2 BETA-1. A tu CF kartu nesouhlasím. První důvod je omezený počet přepsání, a druhý a velice podstatný je malá kapacita. Vím že namítneš že 1GB je na 40-ti MB CD až moc, ale zkus si vzít v ůvahu to, že ten systém má možnost doinstalování balíčků které například monitorují provoz jednotlivých IP a tp. K tomu je potřeba dost paměti a SWAP bych rozhodně nemazal:-) Jinak aby si věděl jak to vypadá, tak zde jsou dva odkazy na můj PF na monitoring systému a trafficu. https://90.176.64.19/phpSysInfo a další je https://90.176.64.19/bandwidthd . V případě že máš další otázky, neváhej se mne zeptat.
mech13 (5526)|26.5.2007 11:58
ty fronty: prave proto jsem se ptal:) ale kdyz teda chcu jinou rychlost, tak staci jenom prepsat tvoje preddefinovany treba z 512 na 480 a bude to ne?

btw jeste sem to moc netestoval, jen ze to jede - kdyz tam 5 lidi do pravidla s 512Kb tak sdili stejnych 512 nebo ma kazdy z nich 512?

CF - Embedded verze je upravena aby se jen nainstalovala a pak prakticky nezapisovala... ale zase se na ni tusim nedaji nahodit ty rozsireni...

s tim problemem s USB ses nesetkal asi ze?

a k cemu je ten packet mode?
P@pi (1519)|26.5.2007 11:59
S tím CF jsem už se Star_Gatem diskutoval. Podle mě mají paměťové karty příliš malý počet přepsání. Flashky už jsou něco jiného.

Někde jsem četl (už nevím kde), že paměťovky se nehodí na ReadyBoost právě z tohodle důvodu.

V serveru bych zrovna neriskoval, nemluvě o tom, že se na nich blbě dělá RAID :D.
Star_gate (17)|26.5.2007 12:21
Otázka k čemu je packet mode je dost obecná... PF je jeden obrovský stabilní firewall a prakticky celý běží na packet filtru. S tim USB flashem sem se sám nesetkal (osobně používám 10GB HDD). Je to rychlejší a lepší. A s tim definováním rychlostí stačí jn přepsat moje hodnoty a dosadit si svoje vlastní. To že dáš 5 lidí na jednu 512 kbps znamená, že ve špičce má každý 128kbps.... Shaper je dost dynamický a tohle dělá suprově.... Hlavně pozor na to, že upload každého by měl být nastaven na borrow!!! (vypůjčení) To se nastavuje v těch quos. Používám to. Mam třeba dva klienty na rychlosti 923kbps/50kbps. Jeden začal torrentařit a druhý ani neposlal zprávu přez ICQ. Řešení je dát borrow speed from other quos a u klienta omezit odesílání sdílených dat tak na 5 KB/s.... Funguje to a super.. Jinak asi tě dost bude žrát stabilita ale můžu tě ujistit že ty fámy kde s e říká že je linux nejstabilnější systém sou jen hloupost. Sám si počkej a uvidíš. Já tam mám sice jen 1 den v online (uvidíš na php odkazu jak sem posílal) ale to proto, že sem včera přidával 128MB RAM(SWAPOVAL:-)). Každopádně se ještě ozvi a jsem ochoten ti pomoci i s nastavením přímo přez internet jestli máš zájem. Zatím ahoj
mech13 (5526)|26.5.2007 12:39
oki, dik moc. ted musim pryc, vecer na to vlitnu. kdyztak mi pls posli SZ s ICQ nebo nejakym kontaktem, nebo se mi ozvy na ICQ.
jak budu potrebovat help se ozvu

//asi teda nahodim HDD, chtel sem flashku ze nic nezere a je absolutne ticha a oproti starsim diskum spolehlivejsi, ale schrastim teda nejaky ten HDD...
Star_gate (17)|4.8.2007 23:42
Jinak FOR ALL!!!!!!! Byl bych rád kdyby ste sem psaly vaše osobní postřehy a tím jsme společně docílily srozumitelnosti tohoto FAQu... Děkuji všem
Xgarlic (2)|9.10.2007 21:03
Zdravím všechny uživatele Pfsense. V naší síti je přes Pfsense připojeno 60 počítačů a i v maximální špičce jede vše bez problémů (zatížení procesoru 11% a operační paměti: 65 %). Potřeboval bych ale aplikovat statický shaping, ale nejde mi konfigurační soubor stáhnout (chce to po mě heslo a uživ. jméno). Díky za rady
mech13 (5526)|9.10.2007 21:50
tady je muj config...

mam tam 2MB, 1MB a 64KB skupiny, ale musel jsem izolovat jednoho tahace takze jsou ty rychlosti trosku prehazeny a neodpovida to uplne tem rychlostem...

skus se zeptat Star_gate jak to jeste doladit, rikal neco s borrow ale nevim presne jak to ma fungovat... ICQ ti poslu pres SZ

EDIT: jaky mas stroj a jak rychla je linka?
Xgarlic (2)|10.10.2007 16:43
[QUOTE=mech13;53493]tady je muj config...

mam tam 2MB, 1MB a 64KB skupiny, ale musel jsem izolovat jednoho tahace takze jsou ty rychlosti trosku prehazeny a neodpovida to uplne tem rychlostem...

skus se zeptat Star_gate jak to jeste doladit, rikal neco s borrow ale nevim presne jak to ma fungovat... ICQ ti poslu pres SZ

EDIT: jaky mas stroj a jak rychla je linka?[/QUOTE]

Díky moc, zkusím ho kontaktovat. Jinak mám nastarosti celý internát jedné střední školy a z celkem 3 "serverů" jsem pro Pfsense použil mašinu 1,6 sempron (2800+), 512 MB RAM (DDR - 600), disk 70 GB. Linka je 10MB (dost málo pro celý internat , ale víc k dispozici nemáme).

Běží tam kromě dočasného dynamického shaperu jetě transparentní proxy, snort (antihacker), SNMP server (pro vzdálenou kontrolu), firewall, NMap,
Starejbar (5)|28.10.2007 13:39
Zdravim, moc pekny navod, dekuji. Jen se chci zeptat jak se dostat k tomuto konfiguraku: http://90.176.64.19/shaper.xml Chce to heslo ;) Děkuji
mech13 (5526)|28.10.2007 14:51
stacilo cist dal, dal jsem ho do prilohy o tri posty vys;)
Starejbar (5)|28.10.2007 20:41
V pohodě ;) Jsem to asi přehlídl, už ho ale mám přímo od zdroje (Star_Gate). Ale Díky

A teď hurá do pokusů :-)
Star_gate (17)|31.10.2009 16:26
Tak Vás tu všechny po dlouhé době zdravím. Od doby co jsem psal tenhle článek uteklo moře času a můžu Vás ujistit, že PFsense stále používám :) Neni to již pouze router pro domácí nebo malou síť, ale jeho úkolem je řídit provoz mě veřejné sítě. (spousta pravidel v traffic shaperu, statické routy, veřejné IP a spousta dalšího). Síť má ke 100 uživatelů a vše chodí bez problémů.

Rád bych zjistil Vaše názory na tento OS pro router.

V případě že by Vás zajímaly podrobnosti o síti kterou provozuji, tak více info. zde : http://internetnajihu.cz

Všem předem děkuji za postřehy a zkušenosti.