Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest poniedziałek, 16 czerwca 2025, 18:24

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 82 ]  Przejdź na stronę 1, 2, 3, 4, 5  Następna
Autor Wiadomość
Post: środa, 20 września 2006, 15:21 
Offline
Użytkownik

Rejestracja: wtorek, 13 sierpnia 2002, 11:27
Posty: 823
Lokalizacja: Lubliniec
Proponuję w tym wątku rozwiązać w końcu stary jak świat problem współpracy niceshaper'a i squid'a. Zapraszam wszystkie "Wielkie głowy" NND do wypowiedzi. Ze swej strony zgłaszam gotowość napisania odpowiednich skryptów z zaproponowanych tutaj rozwiązań (równiez przebudowanie konfiguratora dla niceshaper'a). Problem, który należy rozwiązać to: Kontrola wysyłanych danych przez squid'a na zewnatrz sieci i w ogóle kontrola ruchu squid'a z niceshaper'em.

W związku z pojawieniem się nowej wersji niceshaper'a proponuję metodę oprzeć na tej wersji. Możemy również zająć się kontrolą danych przesyłanych przez squid'a lokalnie przez niceshaper'a - ale tutaj istnieje rozwiązanie - delay pools.

Oprócz tego dobrze byłoby stworzyć przykładowe klasy dla nice kontrolujące pewne kategorie ruchu, mam na myśli np. ruch priorytetowy dla ssh (dla łączących sie zdalnie), może ruch dla lokalnego ftp'a na NND, luch dla zewnętrznego ftp na NND, ruch dla Apache na NND (na zewnątrz i do wewnątrz sieci) i inne przydatne. Może dobrym pomysłem jest także stworzenie klasy inne - do której wpadałby ruch nie zaklasyfikowany w żadnej z pozostałych klas.

W tej chwili dyskusja toczy się w kilku różnych wątkach, związanych z problemami poruszonymi przez konkretne osoby i związane z nimi przypadki. Chciałbym rozwiązac ten temat globalnie i stworzyć odpowiedni pakiet. Albo stwierdźmy jednoznacznie - "nie da się i koniec" :)

Zapraszam do dyskusji i proszę o podawanie sprawdzonych przykładów. Mam nadzieję, że wyjdzie z tego coś pożytecznego dla wszystkich. :D

_________________
Ludzie często, zamiast szukać prostych rozwiązań, komplikują sobie życie...


Ostatnio zmieniony sobota, 23 września 2006, 00:11 przez adi, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 20 września 2006, 17:24 
Offline
MODERATOR

Rejestracja: wtorek, 31 sierpnia 2004, 23:06
Posty: 3267
Lokalizacja: Katowice
A ja bede czuwal i usuwał posty ktore nic nie beda wnosic do tematu!!

EDIT: Mowilem ze bede usuwal :!: :!: :!: :!:

_________________
Obrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 20 września 2006, 21:21 
Offline
Użytkownik

Rejestracja: środa, 2 lutego 2005, 23:40
Posty: 483
Pierwszy przykład klasy:
Ruch wychodzący z serwera do internetu
Działa dla Apacha, ftp, poczty .... i pewnie też dla pakietów wychodzących przez squida
Cytuj:
# ruch serwera do internetu
class upload eth0 serwer_do_int
match from localhost srcip 10.0.0.1 htb_prio 6
ceil 25kB/s

10.0.0.1 to adres karty sieciowej od strony internetu
To działa
Kto następny

_________________
Pozdrawiam


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 21 września 2006, 21:55 
Offline
Użytkownik

Rejestracja: środa, 2 lutego 2005, 23:40
Posty: 483
UWAGA Wszyscy testujący nowego Niceshapera !!!

Przed chwilą pod adresem:
www.ao.sytes.net/clamav/niceshaper0.6-r ... pkg.tar.gz
umieściłem poprawioną wersję tego samego nice
Poprawka polega na tym, że nie wywala błędu przy tworzeniu klasy z parametrem tos (squid), lub ttl.

Kto miał już zainstalowaną paczkę, to aby nie niszczyć swoich plików konfiguracyjnych powinien tylko ściągnąć, rozpakować i podmienić plik:
/usr/bin/niceshaper0.6

I teraz:
klasa
Cytuj:
class download eth1 lokalny_z_squid
match from localhost srcip 10.10.10.1 dstip 10.10.10.0/29 proto tcp tos 0x0
do not shape

powoduje, że pliki, które idą z dysku squida są ściągane z maksymalną prędkością

a klasa
Cytuj:
class download eth1 squid
match from localhost srcip 10.10.10.1 dstip 10.10.10.0/29 proto tcp tos 0x8
rate 220kB/s

powoduje, że to co idzie przez squida, ale jest ściągane z netu jest ograniczane.

U mnie to działa !

EDIT
jeszcze jedno
W pliku config musi być wpis:
support mark on eth0 eth1 (markowanie pakietów dla eth1, lub dla obu jak tutaj)

_________________
Pozdrawiam


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 08:27 
Offline

Rejestracja: sobota, 17 grudnia 2005, 21:29
Posty: 58
Lokalizacja: KASZUBY
dużeeeee piwo dla alfreda
w końcu squid zagadał w normalnym tempie

Mam jeszcze jedno pytanko co do konfiguracji nice. Jak macie rozwiązaną zmianę prędkości np. w nocy. Czy zostaje tylko wieczorek (np. 23:00) wyłączenie niceshapera, podmiana configa i ponowne odpalenie? Rano (7:00) operacja podobna?
Proszę o sugestie lub polemikę

_________________
Użyszkodnik NND


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 11:01 
Offline
MODERATOR

Rejestracja: wtorek, 31 sierpnia 2004, 23:06
Posty: 3267
Lokalizacja: Katowice
Wydaje mi sie ze na to nie ma innego roziwazania. Podmiana configow i przeladowanie nice.
Przeciez to tylko wystarczy wpisac do crona i bedzie dzialac :P

_________________
Obrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 12:20 
Offline
MODERATOR

Rejestracja: poniedziałek, 27 stycznia 2003, 23:39
Posty: 3065
Lokalizacja: Kraków/Częstochowa
a nice nie ma czasem parametru -f albo -c czy jakoś tak żeby mu podać ścieżkę do innego configa?

_________________
Ten post Ci pomógł? Zaznacz go jako pomocny .


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 15:43 
Offline
Użytkownik

Rejestracja: wtorek, 13 sierpnia 2002, 11:27
Posty: 823
Lokalizacja: Lubliniec
Modyfikacje Alfred'a i squid podrasowany u mnie:

Sam niceshaper (bez squid'a)
----------------------------
wp - 12 sek
onet - 12 sek
interia - 15 sek
gazeta - 11 sek
cnn - 20 sek

Niceshaper ze squid'em
-----------------------
wp - 10 sek
onet - 8 sek
interia - 9 sek
gazeta - 5 sek
cnn - 15 sek

Średnie czasy otwierania stron www u userów.Sieć obciązona. Kilka pomiarów.

_________________
Ludzie często, zamiast szukać prostych rozwiązań, komplikują sobie życie...


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 16:37 
Offline
Użytkownik

Rejestracja: sobota, 30 kwietnia 2005, 18:18
Posty: 1128
Lokalizacja: Rybnik
squid w kolejce usera:
: [/] [] ()
class download eth1 lokal_squid
match from localhost srcip 192.168.1.1 dstip 192.168.1.0/24 proto tcp tos 0x0
do not shape

#class download eth1 squid
#match from localhost srcip 192.168.1.1 dstip 192.168.1.0/24 proto tcp tos 0x8
#rate 200kb/s

class download eth1 Marek
    match dstip 192.168.1.2
    match dstip 192.168.1.2 proto tcp tos 0x8
    ceil 200kb/s
class upload ppp0 Marek
    match srcip 192.168.1.2
    ceil 80kb/s

Rozwiazanie alfreda tworzy osobne pasmo dla squida, tak wiec jesli ktos zaczyna saciagac cos przez www dostaje tyle ile przypisane jest w clasie dla squida, natomiast to roziwaznie lapie ruch ze squida do widelek jakie zostalu przypisane danemu userowi. Sprawdzone, przetestowane i dziala.
temat zaczerpniety z forum niceshaepra.
nie ograniczamu ruchu po Lanie do i z serwera:
: [/] [] ()
###  ruch z serwera 192.168.1.1 do podsieci 192.168.1.0/24  ###
class download eth1 localhost-lan
    match from localhost srcip 192.168.1.1 dstip 192.168.1.0/24
    do not shape
### ruch z podsieci 192.168.1.0/24 do serwera 192.168.1.1 ###
class upload eth1 localhost-lan
    match to localhost dstip 192.168.1.1 srcip 192.168.1.0/24
    do not shape

jesli ktos ma rozwiaznie ograniczenia psama sewrwera dla zmiennego IP to prosilbym o zamieszczenie.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 19:23 
Offline
Użytkownik

Rejestracja: wtorek, 13 sierpnia 2002, 11:27
Posty: 823
Lokalizacja: Lubliniec
Czy dodanie tos=0x0 do klas uploadu dla userów załatwi problem uploadu?

Niestety makog - sprawdzone i nie działa. U userów transfer urywa łącze. Dopiero delay pools squid'a to przycina.

_________________
Ludzie często, zamiast szukać prostych rozwiązań, komplikują sobie życie...


Ostatnio zmieniony piątek, 22 września 2006, 21:06 przez adi, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 20:57 
Offline
MODERATOR

Rejestracja: poniedziałek, 27 stycznia 2003, 23:39
Posty: 3065
Lokalizacja: Kraków/Częstochowa
ale one chyba mają tos 0x0 bo przecież połączenie nie wyszło ze squida.

_________________
Ten post Ci pomógł? Zaznacz go jako pomocny .


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 22:27 
Offline
Użytkownik

Rejestracja: wtorek, 13 sierpnia 2002, 11:27
Posty: 823
Lokalizacja: Lubliniec
Po konsultacji Mac!kiem wyrzeźbiłem taką zmianę:

Założenia:

1. Niceshaper ma działać ze squid'em.
2. Squid ma zostać ograniczony przez niceshaper'a
3. Ograniczenie nie ma obejmować pakietów trafionych (czyli puszczanych lokalnie)

: [/] [] ()
# --- Ruch z serwera do LAN
class download eth1 SERWER_TO_LAN
match from localhost srcip 192.168.1.1 dstip 192.168.1.0/24 proto tcp tos 0x8
do not shape

# --- KLASY UŻYTKOWNIKÓW

# --- User1
class download eth1 User1
match dstip 192.168.1.13
ceil 64kB/s

class upload eth0 User1
match srcip 192.168.1.13
ceil 16kB/s


Co zyskujemy:
Userzy mają zadeklarowane pasmo niezależnie od tego co ściągają a pakiety HIT są wysyłane lokalnie bez ograniczeń prędkości.

Co należy wyjaśnić - czy w takiej konfiguracji ruch generowany przez squid'a na zewnątrz (download i upload) jest kontrolowany przez niceshaper'a.

Powyższe rozwiązanie nie zostało prztestowane na 100%.

_________________
Ludzie często, zamiast szukać prostych rozwiązań, komplikują sobie życie...


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 22:43 
Offline
Użytkownik

Rejestracja: środa, 2 lutego 2005, 23:40
Posty: 483
I to jest (chyba !) prawidłowe rozwiazanie.

Tworząc klasę dla squida (pakiety NIE trafione) nie miałem na myśli, że tak ma być, a jedynie chcałem pokazać, że to działa i jak wygląda taka klasa.
Co nie znaczy, że jestem taki mądry, a tylko to, że nie mam (chyba nikt nie ma) doświadczenia z nowym nice, ale wspólnymi siłami (i testami) do czegoś dojdziemy.

_________________
Pozdrawiam


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 22 września 2006, 23:40 
Offline
Użytkownik

Rejestracja: wtorek, 13 sierpnia 2002, 11:27
Posty: 823
Lokalizacja: Lubliniec
Rozwiązanie rzeczywiście działa! Ale wymaga jeszcze pewnych zmian w squid.conf (dzięki Makog... :) )

Powolutku jeszcze raz po kolei:

Wymagane są:
1. squid 2.6stable3 lub inny z odpowiednim patchem
2. Niceshaper poprawiony przez Alfreda
3. Chwila czasu na konfiguracje.

Wszystkie potrzebne pliki są na:

http://www.adane.pl/pub/nnd/pakiety/

SQUID
--------
UWAGA: Dla squid'a 2.6stable3 należy KONIECZNIE doinstalować wcześniej nowy openssl i openssh (inaczej będa problemy)

Squid 2.6stable 3 w konfigu nie wymaga opcji:
: [/] [] ()
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Powyższe opcje trzeba usunąć albo dać # przed każdą.
Wystarczy przy porcie dać parametr: transparent
: [/] [] ()
# Ustawiamy porty na ktorych pracuje squid (typowo: 3128 lub 8080)
http_port 3128 transparent

Oraz koniecznie w configu następujące opcje:
: [/] [] ()
# Ustawienia TOS dla Niceshaper'a
zph_tos_local 8
zph_tos_peer 0
zph_tos_parent off

teraz restartujemy squid'a i ustawiamy w firewall'u albo odpowiednią komendą żeby był przeźroczysty (transparent):
: [/] [] ()
#Przykład dla DSL (eth1) i portu squid'a: 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


Niceshaper:
--------------
config normalnie wg uznania i chęci wysterowania...

plik class

: [/] [] ()
# --- Ruch z serwera do LAN
class download eth1 SERWER_TO_LAN
match from localhost srcip 192.168.1.1 dstip 192.168.1.0/24 proto tcp tos 0x8
do not shape

# --- KLASY UŻYTKOWNIKÓW

# --- User1
class download eth1 User1
match dstip 192.168.1.13
ceil 64kB/s

class upload eth0 User1
match srcip 192.168.1.13
ceil 16kB/s
.
.
.


Userzy mają zadeklarowane pasmo niezależnie od tego co ściągają a pakiety HIT czyli pakiety których squid NIE ŚCIAGA z internetu są wysyłane lokalnie bez ograniczeń prędkości. Powinno dopalić www niesamowicie! :)

TESTY:
--------
Download pliku pierwszy raz:
Obrazek

Download tego samego pliku ponownie:
Obrazek

Łącze ma 1 Mbit/ cache przeglądarki wyłączone. :)

EDIT:
Dla squid'a proponuję zmienić linijkę w /etc/rc.d/squid

Zamieniamy linię:
: [/] [] ()
[ -z "$PID" ] && /usr/sbin/squid ${SQUID_ARGS}

na
: [/] [] ()
[ -z "$PID" ] && ulimit -HSn 4096 ; /usr/sbin/squid ${SQUID_ARGS}


i ewentualnie w (squid 2.6stable3) linię:
: [/] [] ()
stat_busy "Zatrzymyję Squid'a"

na
: [/] [] ()
stat_busy "Zatrzymuję Squid'a"

Ale to już względy estetyczne ;)

Daje nam to aż 4096 file-handles. Przy wiekszych sieciach się przydaje :)

_________________
Ludzie często, zamiast szukać prostych rozwiązań, komplikują sobie życie...


Ostatnio zmieniony piątek, 22 września 2006, 23:58 przez adi, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 23 września 2006, 00:25 
Offline

Rejestracja: sobota, 17 grudnia 2005, 21:29
Posty: 58
Lokalizacja: KASZUBY
MAC!EK pisze:
a nice nie ma czasem parametru -f albo -c czy jakoś tak żeby mu podać ścieżkę do innego configa?


a niby jak ten parametr użyć

_________________
Użyszkodnik NND


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 23 września 2006, 01:06 
Offline
MODERATOR

Rejestracja: poniedziałek, 27 stycznia 2003, 23:39
Posty: 3065
Lokalizacja: Kraków/Częstochowa
lehmpiotr pisze:
MAC!EK pisze:
a nice nie ma czasem parametru -f albo -c czy jakoś tak żeby mu podać ścieżkę do innego configa?


a niby jak ten parametr użyć

Nie wiem, nie mam nicehsapera, sprawdź w helpie manie czy czymśtam, większość programów pozwala na podanie ścieżki do configa.

Co do tego co Adi napisał...
Teraz to się dopiero zacznie bajzel, każdy będzie miał pakiet nie wiadomo skąd, nie wiadomo jaką wersję. Nie instalowaną z repozytorium, tylko każdy z innego miejsca, i poprawianą własnoręcznie gdzie popadnie.
Zapowiada się żę będzie ciekawie :>

Te sugestie dotyczące pliku startowego squida przydałoby się podać do mantisa, choć większość z nich jest poprawiona od pewnego czasu w CVS, ale nie ma jeszcze nowych pakietów w repozytorium ze względu na brak czasu developerów.

_________________
Ten post Ci pomógł? Zaznacz go jako pomocny .


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 23 września 2006, 08:45 
Offline
Użytkownik

Rejestracja: wtorek, 13 sierpnia 2002, 11:27
Posty: 823
Lokalizacja: Lubliniec
Mac!iek:
Maćku to wrzuć te trzy czy cztery pakiety do repo a ja je wywalę i tyle. A poza tym, jak popatrzysz po forum to i tak pakiety "walają się po kątach":)

Wszystkie chodzą z wersją kernela 2.4.31-1, sprawdzone na kilku serwerach u różnych osób. Także nie widzę problemu.

Przy okazji, co do zależności: squid 2.6stable3 wymaga openssl'a nowszego, ale już openssl (oba z repo.test) nie wymaga openssh. (nie wiem jak jest odwrotnie) Powoduje to tyle, że po wgraniu openssl'a do restartu maszyny wszystko jest ok, ale później ssh nie wstaje bo mu ssl nie pasuje i trzeba osobiście do routerka lecieć i wgrywać.

lehmpiotr:

Cytując dokumentację niceshaper'a:
: [/] [] ()
Poza opcjami umożliwiającymi urchomienie, zatrzymanie i wyświetlenie statystyk pracy, mamy mozliwość określenia ściezek do plików konfiguracyjnych, np.:
--confdir /wspolna_sciezka_do_wszystkich_plikow_konfiguracyjnych
--conffile /sciezka/plik_konfiguracyjny
--classfile /sciezka/plik_z_klasami
--usersfile /sciezka/plik_users


Do przeładowywania niceshaper'a w cronie wpisujesz coś w stylu:
: [/] [] ()
00 07 * * * /usr/bin/niceshaper0.6 restart --conffile /etc/niceshaper0.6/config_day --classfile /etc/niceshaper0.6/class_day
 >/dev/null
59 23 * * * /usr/bin/niceshaper0.6 restart --conffile /etc/niceshaper0.6/config_night --classfile /etc/niceshaper0.6/class_night
 >/dev/null


W jednej linii!

A w /etc/niceshaper0.6/ przygotowujesz sobie konfigi osobno:
Na dzień:
config_day
class_day

Na noc:
config_night
class_night

I po sprawie. :)

P.S. Rozwiązanie nie testowane - mogłem gdzieś walnąć byka ;)

_________________
Ludzie często, zamiast szukać prostych rozwiązań, komplikują sobie życie...


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 23 września 2006, 09:27 
Offline

Rejestracja: sobota, 17 grudnia 2005, 21:29
Posty: 58
Lokalizacja: KASZUBY
adi pisze:
[...]
Do przeładowywania niceshaper'a w cronie wpisujesz coś w stylu:
: [/] [] ()
00 07 * * * /usr/bin/niceshaper0.6 restart --conffile /etc/niceshaper0.6/config_day --classfile /etc/niceshaper0.6/class_day
 >/dev/null
59 23 * * * /usr/bin/niceshaper0.6 restart --conffile /etc/niceshaper0.6/config_night --classfile /etc/niceshaper0.6/class_night
 >/dev/null

[...]

P.S. Rozwiązanie nie testowane - mogłem gdzieś walnąć byka ;)


Tetsowane i działa :D THX adi
Tak na marginesie testowałem to ale wpisywałem /etc/rc.d/niceshaper0.6 a widać że to nie to samo co /usr/bin/niceshaper0.6

_________________
Użyszkodnik NND


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 23 września 2006, 10:04 
Offline
Użytkownik

Rejestracja: wtorek, 13 sierpnia 2002, 11:27
Posty: 823
Lokalizacja: Lubliniec
lehmpiotr pisze:
Tak na marginesie testowałem to ale wpisywałem /etc/rc.d/niceshaper0.6 a widać że to nie to samo co /usr/bin/niceshaper0.6


No pewnie że nie to samo. Pierwsze to skrypt, który nie przekaże Ci parametrów do nice, a drugie to binarka niceshape'a, która potrafi te parametry zinterpretować. :)

_________________
Ludzie często, zamiast szukać prostych rozwiązań, komplikują sobie życie...


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 23 września 2006, 18:07 
Offline
MODERATOR

Rejestracja: poniedziałek, 27 stycznia 2003, 23:39
Posty: 3065
Lokalizacja: Kraków/Częstochowa
adi pisze:
Mac!iek:
Maćku to wrzuć te trzy czy cztery pakiety do repo a ja je wywalę i tyle. A poza tym, jak popatrzysz po forum to i tak pakiety "walają się po kątach":)

Wszystkie chodzą z wersją kernela 2.4.31-1, sprawdzone na kilku serwerach u różnych osób. Także nie widzę problemu.


No i właśnie tego nie lubię, jakiś taki nieporządek :) No ale to Wasze serwerki :D
Będą w repo, ale na razie jest deficyt czasowy, a ja nie ustawiałem synchronizacji repozytoriów więc muszę czekać aż przełożony odpowiedzialny za tą działkę coś ruszy :D

_________________
Ten post Ci pomógł? Zaznacz go jako pomocny .


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 82 ]  Przejdź na stronę 1, 2, 3, 4, 5  Następna

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 18 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl