logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak skonfigurować QoS w IPCop z HFSC dla DSL1?

KrzySie 12 Sie 2006 15:08 6027 0
REKLAMA
  • #1 2908772
    KrzySie
    Poziom 13  
    Posty: 46
    Pomógł: 1
    Z braku polskiego forum dla IPCop zamieszczę tutaj mój przykład konfiguracji

    Ze strony http://mhaddons.tk/ można ściągnąć aktualnie dwie wersje dodatku do kształtowania ruchu qos_ng_ipcop_1.4.8.tar.gz v. 1.3.8 oraz qos_ipcop_1.4.8.tar.gz v. 2.6.1.
    Pracowałem na obydwu. Ze względu na prawdopodobny bug w tej wersji qos_ng polecam qos_ipcop_1.4.8.tar.gz v. 2.6.1 i o tej metodzie (HFSC) powinien traktować temat.
    Po zainstalowaniu kolejkowania qos_ng miałem takie objawy, że proces ksoftirqd_CPU0 oraz ksoftirqd_CPU1 zwiększał mi obciążenie serwera (czas ich działania dochodził już do 18 godz. na 7 dni uptime). Aktualnie kilka sekund na dobę. Procesy te związanie z kernelem zwiększały Load Average całego systemu.

    Procesu instalacji nie poruszam, dobrze opisany na stonie pobierania.

    Posiadam łącze asymetryczne DSL1, więc najważniejszą rzeczą w tym momencie jest właściwe kształtowanie ruchu na uploadzie. Zapchanie uploadu spowoduje spadek downloadu oraz zwiększenie pingów.
    Przy takim łączu lub neostradzie wystarczy stworzyć jedną kolejkę główną root na interfejsie czerwonym RED.
    Co nie znaczy, że nie możesz zrobić kolejkowania na downloadzie.
    Aby "właściwie" ulokować zmorę małych sieci - p2p zastosowałem znakowanie pakietów za pomocą layer7. W wybieranych opcjach nie ma innej możliwości np. po ipp2p.
    W metodzie HFSC jest trochę inna koncepcja całej zasady kolejkowania (w odróżnieniu od HTB z którym wcześniej miałem do czynienia i przez co kilka razy leciałem do routera, bo urywało mi się połączenie przez putty).
    Kolejkowanie oparłem na protokołach (nie userach, ale też można). Nie ma możliwości tworzenia z jakiejś klasy klas pokrewnych - dzieci.
    Moje klasy:
    klasa główna 1: root na eth1
    |  |  |  |  |
    1  1  1  1  1
    0  0  0  0  1
    1  2  4  7  0
    

    Czyli jak widać jest klasa główna i pięć podklas równorzędnych 101, 102, 104, 107, 110.
    Dlaczego ich tak oznaczyłem? Ponieważ każda klasa opiera się na przyznanym jej priorytecie i jest to bardziej widoczne (klasa 101 ma priorytet 1, 102-2, 104-4, 107-7, 110 też 7 stworzona specjalnie dla p2p).
    Tyle moich wypocin. Startujemy z konfiguracją.

    Klasa główna root
    Zakładka "Add a new class eth1"/"Create rootclass for eth1" wybieramy klasę 104 jako Default class:104
    Upload in kbit: 230 ->Lub 90% wartości twojego uploadu

    Podklasa express 101
    Class: 101
    Priorytet: 1
    Minimum Upload in kbit: 90
    Maximum delay in milliseconds: 20
    Minimum Upload in kbit: 230

    Podklasa premium 102
    Class: 102
    Priorytet: 2
    Minimum Upload in kbit: 50
    Maximum delay in milliseconds: 40
    Minimum Upload in kbit: 230

    Podklasa standart 104 - klasa defaultowa
    Class: 104
    Priorytet: 4
    Minimum Upload in kbit: 0
    Maximum delay in milliseconds: 50
    Minimum Upload in kbit: 180 ->90%max uploadu odjąć 50-100Kb

    Podklasa bulk 107
    Class: 107
    Priorytet: 7
    Minimum Upload in kbit: 0
    Maximum delay in milliseconds: 150
    Minimum Upload in kbit: 130 ->90%max uploadu odjąć 50-100Kb

    Podklasa p2p 110
    Class: 110
    Priorytet: 7
    Minimum Upload in kbit: 0
    Maximum delay in milliseconds: 200
    Minimum Upload in kbit: 90 ->dobierz sobie wg. potrzeb i pingów

    Klasy mamy już stworzone i wtedy dopiero możemy przycisnąć jakikolwiek z przycisków Start/Stop, Test, Status w innym przypadku musisz mieć fizyczny dostęp do sprzętu (zablokuje nam połączenia).
    Uratuje cię wtedy polecenie;
    /usr/local/bin/qosctrl stop

    Teraz przyszła kolej na wrzucenie pakietów z flagą ACK do odpowiedniej kolejki. Zakładka "select class for ACK's on eth1", wybieramy 101 i zapisujemy.

    Podam teraz tylko przykładową konfigurację protokołu bittorrent i wrzucenie go do kolejki 110.
    Zakładka "Add l7 rule"
    Rulename: bittorrent_up ->twoja nazwa, nie toleruje wszystkich znaków i za długich nazw
    Interfejs: eth1 ->lub twój np. ppp0
    Protokół: bittorrent
    Mark: 110
    Źródłowy adres IP: ->puste lub adres twojej sieci np. 192.168.1.0/24
    Docelowe IP: ->najlepiej zostaw puste lub 0.0.0.0/0
    Kliknij "Zapisz"
    Uwaga! Dla klasy standart, defaultowej niczego nie musisz kierować. Kierowane jest tam wszystko pozostałe, co nie obejmują twoje regułki.
    Moje przykładowe regułki:
    
    Nazwa            Protokół        Mark Interface Źródłowy adres IP Docelowe IP 
    
    bittorent_up    bittorrent       110    eth1   
    
    directconn_up directconnect    110    eth1   
    
    dns_up           dns            102    eth1   
    
    edonkey_up    edonkey          110    eth1   
    
    ftp_up          ftp              107    eth1   
    
    gnutella_up     gnutella         110   eth1   
    
    h323_up          h323             102  eth1   
    
    http_up           http           102  eth1   
    
    sip_up            sip             102  eth1   
    
    smtp_up         smtp              107  eth1 
    


    Na forum przewija się także nieznajomość funkcji przycisku start collector. Przycisk ten służy do generacji grafiki (wykresów). Jeśli masz słaby komputer to go nie wciskaj.

    Konfiguracja moja może przybliżyć tylko temat.

    Swoją konfigurację dostosuj do sprzętu, faktycznych potrzeb.
    Zwiększenie ilości regułek filtrujących powoduje zwiększenie czasu potrzebnego na sprawdzenie wszystkich.
    Jeśli dodacz jakiś protokół, który uważałeś za niezbędny a po kilku dniach okazuje się, że wpadło tam kilka pakietów lub wcale to najlepszym wyjściem będzie skasowanie tego filtru.

    W załączeniu plik w excelu, jak należy priorytetować protokoły w postaci tabeli "Nazwa protokołu, Charakter-czyli system, komunikator..., Zalecany priorytet-express,bulk..." - z podstaw konfiguracji routera Cisco.
    Załączniki:
    • protokoły l7.xls (24.5 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
REKLAMA