Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Mikrotik - priorytety dla portu 80.

Gawcio90 14 Apr 2010 02:38 10400 35
  • #1
    Gawcio90
    Level 16  
    Witam, mam pytanie odnośnie priorytetów dla portu 80.

    Krótko mówiąc, gdy ktoś coś ściąga z jakichkolwiek serwerów przez port 80, rapid, hotfile, megaupload, to żeby ten ruch miał jak najniższy priorytet, natomiast samo przeglądanie stron miało wysoki? Jak to rozgraniczyć skoro jedno i drugie leci po porcie 80?

    Próbowałem markować adresy ip rapida, działa ładnie ale to tylko jeden serwer, nie ma na to jakiegoś innego sposobu?

    Pozdrawiam Gawcio.
  • #2
    EBC41
    Level 28  
    To się robi przez Connection Bytes. Pierwsze 4M połączenia markujesz tak, a następne inaczej. Potem robisz osobne kolejki w drzewie dla tych marków
  • #3
    Gawcio90
    Level 16  
    Podasz jakiś przykład jak to wykonać?
  • Helpful post
    #4
    EBC41
    Level 28  
    Robisz dwa marki połączeń na forwardzie, jeden z Connection Bytes ustawionym na 0-5000000, czyli do około 5MB. Drugi od 5000000-0, ten będzie działał powyżej. Potem robisz w oparciu o to marki pakietów z rozróżnieniem downloadu i uploadu pod kątem interfejsów wyjściowych

    Oczywiście markowanie pakietów to element funkcji Mangle w firewallu i na tej zakładce w WinBoxie powinieneś wprowadzać konfigurację
  • #5
    Gawcio90
    Level 16  
    Ok już to zrobiłem tylko w prerouting dla downloadu i postrouting dla uploadu.

    Dzięki!
  • #6
    EBC41
    Level 28  
    Tfu, tfu. Pomyliłem się w moim poprzednim poście, nie sprawdziłem najpierw jak to dokładnie ustawiłem w konfiguracji routera. Po pierwsze to te marki (wszystkie i dla download i upload) robi się nie w forwardzie tylko w preroutingu. W forwardzie ustawia się marki wg. poszczególnych klientów. A po drugie kierunek przepływu danych rozróżnia się po interfejsach wejściowych a nie wyjściowych... Mam nadzieje że nie zamiesza to tobie za bardzo. Potem pokażę jak to u mnie działa
  • #7
    Gawcio90
    Level 16  
    Myślałem, że mark dla download i upload rozróżnia się przez łańcuchy w tym przypadku prerouting i postrouting oraz port dla download src natomiast upload dst..



    Ps. mam jeszcze jedno pytanie, jeżeli mam dynamiczny podział dla użytkowników i dla nich domyślnie priorytet 7, to jak się to ma teraz do moich marków www, np gdy ustawie dla przeglądania stron priorytet 3, to który teraz zadziała ten 7 dla użytkowników, którzy mają markowany cały ruch czy ten 3 dla samego www? Krótko co tu jest nadrzędne?
  • #8
    EBC41
    Level 28  
    pokaż na screenie z winboxa jak to masz zrobione. Kolejkowanie per użytkownik jest osobno konfigurowane niż per usługa
  • #9
    Gawcio90
    Level 16  
    Więc tak w głównej Download prio = 8, dla poszczególnych użytkowników prio = 7, analogicznie dla Upload.

    Natomiast P2P oraz HTTP-download prio =8, dla HTTP-strony prio =3

    I chodzi mi o to jak się mają priorytety przypisane usługą do priorytetów użytkownika?
  • #10
    EBC41
    Level 28  
    Przykro mi to stwierdzać, ale cała ta twoja konfiguracja nadaje się tylko i wyłącznie do wywalenia i zrobienia od nowa. Moje uwagi są przede wszystkim takie:

    1. Źle zaprojektowałeś to drzewo kolejek. Nie tworzy się kolejki dla każdego użytkownika z osobna (to jest bliższe Simple Queue), tylko dla poszczególnych abonamentów.

    2. Kolejki o które mi chodzi punkt wyżej nie mogą być typu fifo, ale PCQ. Parametry takie jak maksymalna prędkość nie określa się jako max-limit (MIR) i limit-at (CIR), tylko jako Rate w konfiguracji poszczególnej kolejki (tylko PCQ ma coś takiego). Dla każdego użytkownika będzie tworzona dynamicznie osobna podkolejka
    Mikrotik - priorytety dla portu 80.
    Równie ważnym elementem są tzw Classifiery, mają one znaczenie przy odróżnianiu downloadu i uploadu
    Mikrotik - priorytety dla portu 80.

    3. Markowanie powinno się robić w oparciu o address listy, poprawia to zdecydowanie wydajność, bo router ma miej reguł do przetworzenia. A wydajność i optymalizacja jest rzeczą o której powinno się myśleć od początku. Od razu nadmienię że mój konfig nie jest idealny pod tym względem
    Mikrotik - priorytety dla portu 80.

    4. Tworzy się osobne drzewko dla priorytetowania per usługa i per klient


    Więcej napiszę jutro...
  • #11
    Gawcio90
    Level 16  
    W porządku, w takim razie posłucham Twojej rady. Ta konfiguracja jakoś działała w końcu same kolejki były tworzone na podstawie tutoriala z cyberbajt'u. Jeśli możesz to pokaż lub napisz coś więcej o samym markowaniu..

    Pozdrawiam.
  • #12
    EBC41
    Level 28  
    No właśnie ten poradnik na stronie CB, jest jednym z gorszych które są dostępne w internecie. Napiszę tobie dokładnie jak to zrobić, najpewniej jeszcze dzisiaj ale później..
  • #13
    Gawcio90
    Level 16  
    W porządku, w takim razie czekam.
    Ps. Twój 3 screen jest taki sam jak 2...
  • #14
    EBC41
    Level 28  
    Mikrotik - priorytety dla portu 80.
    To jest ten screen który miał być w punkcie nr3.

    5. Taki sam diagram przepływu pakietów obowiązuje dane przychodzące i wychodzące do internetu. Nie można rozróżniać jednego i drugiego w różnych łańcuchach, tak samo nie powinno się tego robić przy pomocy źródłowego i docelowego adresu IP. Do tego celu tworzy się dwa marki pakietów z różną wartością Out Interface. Dla uploadu będzie to interfejs wyjściowy, a dla downloadu należy zastosować operator !. Teoretycznie można by było podać interfejs sieci lokalnej, ale w momencie w którym zaczął byś korzystać np z PPPoE, ruch do użytkowników przestał by się łapać

    6. Cała idea QoS, polega na podwójnej "obróbce" pasma. Pierwsza to prio po usługach. Markuje się to w preroutingu, kolejki robi się w global-in. Druga to cięcie pasma dla użytkowników, markuję się w forwardzie, a kolejkuje w global-out. Pakiety mogą mieć tylko i wyłącznie jeden mark, dlatego tak ważne jest to jak, gdzie i co się oznacza

    7. Nie rozumiesz też widzę idei priorytetów. Prio służy tylko i wyłącznie do ustalania pierwszeństwa (w przypadku zapchania nadrzędnej) do pasma niewykorzystanego przez kolejki z ustawionym Limit-at. Upraszczając jeżeli powiedzmy w HTTP wpiszesz sobie limit-at (czyli pasmo gwarantowane dla tej kolejki) wartość 256k to priorytet będzie wyznaczał która kolejka dostanie więcej pasma z całej reszty pozostałem po tym co wykorzysta HTTP (to cp jest tam wpisane w limit-at).

    8. Suma wartości limit-at w liściach nie może być większa niż w parencie, a tym bardziej niż max-limit. Aby priorytetowanie w ogóle działało te pozycję muszą być ustawione (i to z głową, nie można wpisywać byle czego) w każdym liściu jak i w parencie. Nie ma potrzeby tworzenia drzewa więcej niż dwupoziomowego
    Mikrotik - priorytety dla portu 80.
  • #15
    Gawcio90
    Level 16  
    Sporo mi rozjaśniłeś, chodź nie ukrywam mam jeszcze jakiś błąd w ustawieniach.
    Mianowicie, wygląda na to że markowanie działa mi w porządku, jest tylko problem z kolejkami dla użytkowników, bo np. same usługi działają OK.

    Wygląda to tak, że po włączeniu Downloadu wykracza się wszystko, co skutkuje brakiem Internetu. Zauważyłem jednak, że jak zmienię w podkolejce Queue type na SFQ a nie na stworzony wcześniej "1024_download" to problem znika.


    Jeszcze pytanie odnośnie kolejkowania, Ty masz sporo klientów dlatego rozumiem dlaczego robisz to wg abonamentu, ale jeżeli ja miałbym mieć do 15osób w sieci to czy mógłbym na każde ip zrobić marka?

    Pozdrawiam.
  • #16
    EBC41
    Level 28  
    Przyuważyłem jeszcze kilka spraw. Ruch dla "lokalnego" Winboxa nie markuję się w forwardzie, tylko jako input. Wpisz sobie w google QoS_megis.pdf i przeczytaj ten dokument, tam masz opisany w uproszczeniu przepływ pakietów przez router. Powracając do poprzedniego zwróć uwagę że dane z i do internetu będą się różniły tylko wartością interfejsu we i wy. "Płynąć" będą w taki sam sposób

    W tym D-Port i S-Port ustaw sobie limit na 50 i Total limit na 2k, takie wartości powinny domyślnie się tam znaleść

    W taryfach nie wpisuj nic w max-limit i limit-at, priorytet wpisz dowolny, byle był wszędzie taki sam. Tutaj nie ma on w sumie żadnego znaczenia.

    I zauważyłem że dziwnie markujesz te usługi. Robi się to analogicznie jak użytkowników. Najpierw połączenia wg numeru portu, a potem pakiety z rozróżnieniem kierunku przepływu danych (download, upload).

    Zwróć też uwagę na ustawienie "puszczania dalej" w markach
    Mikrotik - priorytety dla portu 80.
    Jeżeli tą opcję masz wszędzie zaznaczoną to oznaczanie wszystkiego musisz mieć bezwzględnie na samej górze tak jak to jest u mnie. Wadą takiego rozwiązania jest to że w momencie gdy jakiś pakiet załapie się na regułę będzie przetwarzany przez wszystkie pozostałe, co oznacza bezsensowne zużywanie czasu procesora

    Quote:
    Jeszcze pytanie odnośnie kolejkowania, Ty masz sporo klientów dlatego rozumiem dlaczego robisz to wg abonamentu, ale jeżeli ja miałbym mieć do 15osób w sieci to czy mógłbym na każde ip zrobić marka?

    Nie ja nie mam dużo użytkowników na sieci, ale zrobiłem to w taki sposób żeby potem ułatwić sobie administrację. Druga, ważniejsza sprawa to wydajność, router przetwarza reguły w kolejności w której one występuję na liście, im więcej reguł w tych okienkach tym bardziej obciążony CPU
  • #17
    Gawcio90
    Level 16  
    Idee priorytetowania usług zrozumiałem i poprawiłem. Mam jednak dalej problem z kolejkami dla abonentów, markowanie dla download i upload działa poprawnie co widać na screenie, jednak gdzie błąd w samym drzewie...

    Ps. dlaczego na początku markujesz wszystkie usługi? Nie można tego kroku pominąć?

    EDIT:
    O cholera jaki ja głupi jestem %-) Zamiast wpisywać 1024k to wpisałem sobie 1024... nie dziwne, że mi przestawało działać...

    Znalazłem jeszcze jedną sprzeczność w tym co piszesz a w tym co na screenie, mianowicie:
    Quote:
    Dla uploadu będzie to interfejs wyjściowy, a dla downloadu należy zastosować operator !


    U siebie masz na odwrót..

    Odnośnie markowania, jeżeli chciałbym markować każde ip z osobna, to nie będzie różnicy gdy to po prostu zrobię w scr address i dst a nie w za pomocą address list?

    Aha, w screenach dla usług w in iterface masz coś takiego jak z-dat oraz !z-dat, wyjaśnisz?
  • #18
    EBC41
    Level 28  
    Mam u siebie po prostu mały błądzik. Jako download dałem out-interface LAN, a upload !LAN. W takim stanie jak jest to działa, ale PPPoE by już się nie łapało tak jak powinno. Żeby przy czymś takim było ok to w uploadzie powinno być WAN a w downloadzie !WAN. Tam w usługach nazwy interfejsy sa wpisane "tak jak powinny", czyli tak jak wyżej to opisałem :)

    A marki są skonstruowane w taki sposob z jednej przyczyny. Generalnie nad p2p nie zapanujesz, bo protokoły zmieniają się zbyt szybko, dodatkowo te uslugi nie pracują na jednym okreslonym porcie, a transmisja czasami jest szyfrowana. Dlatego dobrze to zrobić na zasadzie wykluczania z całej reszty isotnych usług
  • #19
    Gawcio90
    Level 16  
    Ok, w porządku, ale co to za interfejsy "z-dat oraz !z-dat"?

    Ps. gdzieś wcześniej napisałeś, że usługi markuje się analogicznie do abonentów, jednak robisz to na interfejsie in a nie na out jak w przypadku abonentów, jest to związane później z tworzeniem kolejek?

    Dla ICMP wystarczy zamarkować i później tylko wrzucić ten sam mark do kolejek download i upload?
  • #20
    EBC41
    Level 28  
    z-dat.... to u mnie jest WAN, z wykrzyknikiem na początku oznacza wszystkie interfejsy oprócz niego. Z tą analogią to chodziło mi tylko o to że najpierw połączenia a potem pakiety. Prio usług należy robić na podstawie in interface, bo dzieje się to wszystko w preroutingu i nie wiadomo na jaki interfejs pakiety zostaną poten wysłane.
  • #21
    Gawcio90
    Level 16  
    Jeszcze jedno pytanie, po zrobieniu wszystkiego mam problem z otwieraniem niektórych stron, np onet w ogóle mi się nie wyświetli inne strony działają normalnie.
    Ale gdy np wyłączę regułę użytkownika dla uploadu to wraca do normy..

    Tam gdzie masz tylko upload i tylko download opcja passthrough jest odznaczona? Bo zauważyłem też, że gdy ją przy uploadzie zaznaczę to działa...
  • #22
    EBC41
    Level 28  
    Tak ja mam w całych manglach passthrough na on. Pokaż jak to teraz u ciebie wygląda, to będziemy myśleć co jest nie tak.
  • #23
    Gawcio90
    Level 16  
    W usługach dla downloadu ma być S-port czy D-port?
    Dla usług rate ma być równe 0?
  • #24
    EBC41
    Level 28  
    Z tego co ja wiem to wyłączenie passthrough, działa tak że jeżeli jakiś pakiet zostanie przetworzony przez jakąś regułę to nie będzie już więcej rozważany, nawet w kolejnym łańcuchu. Po prostu zostanie zignorowany przez resztę reguł, jakie by one nie były. Możliwe że przy wyłączeniu tego przy regule Downloadu potem jakoś to bruździ. Długo by się trzeba w to wgłębiać żeby znaleźć przyczynę.

    Przy queue types dla downloadu w prio ma być Src. Port . Rate wszędzie na 0
  • #25
    Gawcio90
    Level 16  
    Rozumiem, że u Ciebie w tych miejscach(upload, download) masz to zaznaczone, tak?

    Jeszcze odnośnie markowania wszystkich usług, w queue tree robi się to analogicznie do innych? Bo nie mogę tego jakoś dopasować, zawsze wiekszy ruch idzie mi upload chodź w mangle jest w porządku...

    W sumie też się zastanawiam czemu by nie markować tych usług u samego dołu, jak już router przemieli wszystkie reguły i jak nie trafi to resztę wrzuci do jednego "worka"
  • #26
    EBC41
    Level 28  
    Gdybyś zaznaczył passthrough i markowanie wszystkiego innego dał na sam dół to wszystko co bym przez Mangle przechodziło kończyło by z tym markiem. Zastanów sie dlaczego :). Kolejkuje się to tak samo jak resztę prio

    Tak u mnie wszędzie zaznaczone
  • #27
    Gawcio90
    Level 16  
    Quote:
    Gdybyś zaznaczył passthrough i markowanie wszystkiego innego dał na sam dół to wszystko co bym przez Mangle przechodziło kończyło by z tym markiem


    No nie wiem... Passthrough zaznaczone jest tylko w przypadku markowania użytkowników, usługi już trochę inaczej, bo przecież ta opcja jest zaznaczona tylko dla mark connection a dla samego marka pakietu już jest odznaczona w wyniku czego jak sam napisałeś wcześniej gdy pakiet trafi w regułę nie będzie puszczany dalej. Pomyślałem więc, że można pierwsze obrobić wszystkie usługi a właśnie na sam koniec trafiały by pakiety nie pasujące do żadnej z reguł. Popraw mnie jeżeli błędnie kombinuję :)
  • #28
    EBC41
    Level 28  
    Jeżeli przy markach pakietów masz ją odznaczoną to OK, oznaczanie wszystkiego można dać na sam koniec bez problemów. Z tym że jak napisałem u mnie jest to zaznaczone wszędzie. Puki co CPU Load nie wykracza mi powyżej 10% dlatego zmieniać tego niespecjalnie mi się chcę
  • #29
    Gawcio90
    Level 16  
    Masz jakąś radę na markowanie samego youtuba czy radia internetowego? bo nie wiem jak to rozdzielić..

    Moderated By witux:

    Kolego, wysłałem Ci PW z prośbą o poprawienie swoich postów. Poprawne wklejanie grafiki https://www.elektroda.pl/rtvforum/topic595877.html. Nie widzę poprawy !

  • #30
    EBC41
    Level 28  
    A powiedz mi jaką masz wersję systemu? Na youtube są ponoć filtry layer7, ale od razu uprzedzam że do tego trzeba mieć potężną maszynkę. Zwykłego RB a już tym bardziej na procku 300Mhz można bardzo szybko tym załatwić. A shoutcast robi się tak samo jak całą resztę, on działa na konkretnym porcie. Inna sprawa jest taka że u siebie nie mam ani jednego ani drugiego obrabianego i jest ok. Download może harować o górną kreskę a radio działa bez zająknięcia. Pytanie tylko jakie ty masz łącze