HOME
DO_STR_GLOWNEJ_WYSZUKIWARKI
 
 
CBQ str 2

 

Pobierz spakowaną witrynę gorzow-wlkp.pl/linux

Jeżeli pragniesz poznać Linuksa Mandrake (obecnie Mandriva), to... dobrze trafiłeś. Witryna została zauważona przez twórców magazynu KOMPUTER ŚWIAT 5/2004(141) str. 46 poprzez umieszczenie linku oraz magazynu CHIP 4/2004 (str.114) poprzez umieszczenie artykułu opisującego ten serwis internetowy. Jak na hobbystyczną stronę o Linuksie to miłe ;) Acha... na stronie mandrakelinux.pl/informacje podano też link z opisem cytuję "duży zbiór praktycznych informacji o Mandrake" (mam ją w swoim archiwum - klub.chip.pl/twarogal).

Zapraszam do zadawania pytań na FORUM oraz mailem. Chętnie udzielę (bezpłatnie) odpowiedzi. Oficjalne ceny za jedną poradę na stronie MandrakeSoftPL (mam ją w moim archiwum z dnia 2.05.2004) wahają się od 20 do 350 zł.

 


 

Materiał o CBQ jest na tyle obszerny, ze podzieliłem dotychczasową stronę na cztery pliki. W każdym opisałem inny aspekt konfiguracji CBQ:

  • Strona nr 1 - Konfiguracja transferu na komputerze łączącym się z Internetem poprzez modem SDI (ppp0) zgodnie ze schematem:
    INTERNET ----- ppp0 - [Linux] - eth0 --------------[client]
  • Strona nr 2 (jesteśmy na niej) - Konfiguracja transferu na komputerze łączącym się z Internetem poprzez karte sieciową (eth0) zgodnie ze schematem:
    INTERNET ----- eth0 - [Linux] - eth1 --------------[client]
  • Strona nr 3 - Tłumaczenie pliku cbq.init v0.7.2 autorstwa Pavela Golubeva pg@ksi-linux.com
  • Strona nr 4 - Przykłady plików konfiguracyjnych moich znajomych z Internetu oraz ich uwagi i pytania.



Strona nr 2.

Gdy łączymy się z Internetem poprzez SDI (ppp0), mamy problem z ustawieniem transferu wychodzącego. Na sąsiedniej stronie opisałem jak ustawić (pod SDI) transfer wychodzący, zbiorczo dla wszystkich komputerów z domowej sieci. Natomiast na niniejszej stronie proponuję dodać router (np. pod Freesco) przyjmujący wezwania na modemie SDI i udostępniający Internet na karcie sieciowej. Taka sztuczka umożliwi nam indywidualną kontrolę transferu dla każdego klienta w domowej sieci osobno.

Schemat naszej sieci:


NET---ppp0-[IP od TPSA/Linux_1 Fresco/192.168.10.1]-eth0---[192.168.10.2/ nasz Linux_2/192.168.0.1]-eth1---[clienty 192.168.0.2 itd.]

Jak można zauważyć, tak naprawdę opiszę tutaj konfigurację CBQ na serwerze opartym na dwóch kartach sieciowych, pracującym wg schematu:

[192.168.10.1]-eth0---[192.168.10.2/ [Linux] /192.168.0.1]-eth1---[clienty 192.168.0.2 itd.]

 


 

WSTĘP.

Aby zapanować nad komunikacją w sieci należy wykonać:

  • narzucić klientom w domowej sieci stałe nr IP i zablokować im możliwość logowania pod innym nr IP poprzez powiązanie IP z MAC. Jeżeli masz Mandrake 9.x to opisy instalacji tego systemu są na moich stronach razem z konfiguracją udostępnienia Internetu na łączu SDI i powiązaniem IP + MAC klientów. W przeciwnym wypadku polecam stronkę o dhcpd.

  • ustalić IP klientów, którzy zostaną objęci kontrolą transferu i wyizolować pozostałe hosty od usług związanych z netem za pomocą firewalla. W przypadku Mandrake 9.x firewall na iptables jest nadzorowany za pomocą shorewalla. Utworzyłem stronki o tym projekcie, ale w tym miejscu potrzebne są jedynie przykłady wpisów blokujących - zapraszam tutaj (zwróć uwagę na czerwony tekst).

Nie znam w tej chwili narzędzia, którym by można było przeprowadzić test szybkości połączeń na kartach sieciowych, ale poszukam go i podam link umożliwiający jego ściągniecie. Chwilowo przyjmijmy, że wewnętrzna sieć (eth0, eth1) działa na jednej z dwóch teoretycznie możliwychwartości: 100 Mbit/sek lub 10 Mbit/sek. Na potrzeby tego opisu wybieram 10 Mbit/sek transferu na interfejsie eth0. (czyli po odjęciu zapasu tolerancji ok 9500Kbit)


Usługa SDI-HIS póki co, nie narzuca rygorystycznie wielkości komunikacji przychodzącej i wychodzacej, więc na szczęście (na dzień dzisiejszy) proporcje te mogą być płynne. Teoretyczna, maksymalna wartość 112 Kbit/sek (praktycznie ok. 100Kbit) jest sumą transferu w tę i z powrotem. Ponieważ w naszym przykładzie zajmujemy się siecią na łączu SDI-HIS, w której pracuje 4 klientów dzielimy 100 Kbit/sek na 4. Jak łatwo można wyliczyć, każdy z hostów w domowej sieci otrzyma 25Kbit/sek maksymalnego transferu. Zauważyłeś pewnie, że nie dzielimy wartości 112 Kbit/sek , a 100 Kbit/sek. Różnica, czyli 12 Kbit/sek, jest rezerwą związaną z wahaniami jakości usługi SDI oraz ewentualnymi skromnymi potrzebami serwera. Oczywiście jest to podział szkoleniowy i nie należy go bezmyślnie naśladować. Sumując wnioski: za chwilę nadamy następujące parametry:

  • z netu (a tak naprawdę z serwera linuksowego_2) do klienta - górna granica transferu to 25Kbit/sek
  • oraz 10 Kbit/sek od klienta do netu (a tak naprawdę do serwera linuksowego_1).
Oczywiście w skrajnych okolicznościach, jeżeli każdy z naszych klientów zaprze się i jednocześnie zacznie wysyłać i ściągać pliki to zabraknie komuś transferu, ale jeżeli wszyscy jednocześnie będą na maksa tylko ściągać z netu - powinno starczyć ;) Oczywiście da się zabezpieczyć przed pierwszą możliwością i ustalić bardziej restrykcyjne parametry, ale moim zdaniem będzie to zbędna nadgorliwość administratora. Mając podzieloną teoretycznie sieć, możemy umieścić scrypt CBQ w systemie i skonfigurować go.

Pobieramy plik ze strony http://sourceforge.net/projects/cbqinit lub http://freshmeat.net/projects/cbq.init . Na dzień dzisiejszy (luty 2003) ma numer cbq.init-v0.7.2 . Zmiamy prawa do tego pliku poleceniem: chown root.root cbq.init* oraz chmod 755 cbq.init* . Dla swojej wygody możemy mu zmienić nazwę na cbq.init poleceniem mv cbq.init-v* cbq.init . Umieszczamy go w katalogu /etc/rc.d

W katalogu /etc/sysconfig utwórz katalog cbq i nadaj mu prawa: root.root 755 (poleceniami chmod 755 cbq oraz chown root.root cbq) . Utwórz w nich pary plików dla poszczególnych hostów. W nazwie_pliku można dla swojej wygody umieścić nazwę interfejsu i kierunek transferu (skąd_dokąd). Przypominam fragment schematu naszej sieci. Będzie to potrzebne do lepszego zrozumienia logiki nadawanych nazw plikom konfiguracyjnym.

INTERNET --------- eth0 - [Linux ] - eth1 --------------[clienty]


Para plików dla pierwszego hosta bedzie miała nazwy:

cbq-0002.eth1_serwer_klient
cbq-0003.eth0_klient_net


dla drugiego hosta będą numery:

cbq-0004.eth1_serwer_klient
cbq-0005.eth0_klient_net


dla trzeciego hosta:

cbq-0006.eth1_serwer_klient
cbq-0007.eth0_klient_net


dla czwartego hosta:

cbq-0008.eth1_serwer_klient
cbq-0009.eth0_klient_net


Pliki tworzy się poleceniem touch nazwapliku . Nadaj im prawa 750 root.root . Uwaga: w nazwach plików nie ma spacji. Nazwa składa się z [cbq] [myślnika] [numeru (nie zmieniaj formatu(!)] [kropki] [dowolnej treści]

Przypominam, iż przyjęliśmy, że transfer z netu do klietów ograniczają parametry usługi SDI. Wypełnij utworzone przed chwilą pliki następującą treścią. Uwaga: w poszczególnych wierszach nie ma spacji.


cbq-0002.eth1_serwer_klient

treść:

DEVICE=eth1,9500Kbit,950Kbit
RATE=25Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.0.2




cbq-0003.eth0_klient_net

treść (zwróć uwagę na przecinek (,) w polu RULE):

DEVICE=eth0,9500Kbit,950Kbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=192.168.0.2,



cbq-0004.eth1_serwer_klient

treść:

DEVICE=eth1,9500Kbit,950Kbit
RATE=25Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.0.3



cbq-0005.eth0_klient_net

treść (zwróć uwagę na przecinek (,) w polu RULE):

DEVICE=eth0,9500Kbit,950Kbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=192.168.0.3,



cbq-0006.eth1_serwer_klient

treść:

DEVICE=eth1,9500Kbit,950Kbit
RATE=25Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.0.4


cbq-0007.eth0_klient_net

treść (zwróć uwagę na przecinek (,) w polu RULE):

DEVICE=eth0,9500Kbit,950Kbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=192.168.0.4,


cbq-0008.eth1_serwer_klient

treść:

DEVICE=eth1,9500Kbit,950Kbit
RATE=25Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.0.5



cbq-0009.eth0_klient_net

treść (zwróć uwagę na przecinek (,) w polu RULE):

DEVICE=eth0,9500Kbit,950Kbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=192.168.0.5,



Startujesz skrypt komendą /etc/rc.d/cbq.init start nocache , a sprawdzasz jak działa poleceniem tc -s qdisc (wyświetlą się wtedy Twoje parametry z plików cbq-0002 itd.).

Autostart skryptu /etc/rc.d/cbq.init możesz umieścić w /etc/rc.d/rc.local dopisując na końcu linię

/etc/rc.d/cbq.init start nocache



*



To wszystko. Testowałem na Mandrake 9.0. Jedynym problemem, było nietrzymanie zadanych wartości transferu - bład wynosił ok 10% (o tyle klient w sieci miał więcej transferu, niż mu przydzieliłem).


Czytając pytania od internautów (w mailach i na GG) odnoszę wrażenie, że nikt nie czyta do końca i uważnie porad umieszczonych na tej stronie. Na szybkiego robi się pliki konfiguracyjne i... ze zdziwieniem zauważa, że nie działają. Podstawowe błędy jakie robią pospieszni admini:

  • w nazwę pliku wpisują nr kolejny wg systemu dziesiątkowego, a ma być liczba hexagonalna
  • łączą w plikach konfiguracyjnych kilka jednostek np. Mbit oraz Kbit. Nie umieją przeliczać jednostek (1Mbit to nie jest 1000 razy Kbit)
  • wprowadzają wartości ułamkowe (bo tak im pasuje po podzieleniu przez 10), a wolno wprowadzać wyłącznie wartości całkowite (nawet jeżeli dzielnikiem będzie np. 6, a nie 10)
  • wprowadzają spację do nazwy pliku lub jego zawartości
  • zapominają, że przecinek w pliku konfiguracyjnym transferu wychodzącego jest konieczny
  • mając interfejsy np. eth0 oraz eth1 konfigurują komputer kliencki na IP zewnętrzne, a trzeba w obu plikach na IP wewnętrzne (np. 192.168.0.5)
  • mając ppp0 (modem) oraz eth0 (do domowej sieci), trzeba zbiorczo ustawić transfer wychodzący na IP zewnętrznym (np. 217.96.171.101), a indywidualnie (dla kazdego klienta-komputera osobno) na IP wewnętrznym (np. 192.168.0.5). Na marginesie podaję, że otrzymałem mailem umieszczony na sąsiedniej stronie wpis skrtyptu iptables regulującego niezbiorczo transfer, ale jest to rozwiązanie dla zaawansowanych Linuksiarzy
  • nie znają rzeczywistych możliwości transferu w sieci

 
Przykład plików konfiguracyjnych CBQ pod Neostradę: cbq_neo.rar

 

 
twarogal@wp.pl

Uwaga: z powodu namnożenia się różnych złodziejskich witryn www, które kopiują moje strony i umieszczają je u siebie wraz z komercyjnymi reklamami (na których zarabiają) informuję, że wszelkie prawa są zastrzeżone.

Uwaga. Aby uniknąć zasysania całej witryny gorzow-wlkp.pl/linux za pomocą programów typu TeleportPro, WebCopier itd. informuję, że udostępniłem spakowaną wersję (w formacie RAR).

 
 

 

 

Witryna była dostępna pod adresami: strony.wp.pl/wp/twarogal , strony.wp.pl/wp/linuxtwarka , twarogal.republika.pl , klub.chip.pl/twarogal oraz gorzow-wlkp.net (w latach 2003/04).

 

 

gorzow-wlkp.pl

Informacje o odwiedzających są rejestrowane i publicznie udostępniane na pod adresem: http://gorzow-wlkp.pl/licznik/