modified on 2 gru 2009 at 12:07 ••• 19 050 views

Kontrola Przepustowości

Z MikroTik Wiki

  • Transparent Traffic Shaper
  • PCQ_Examples
  • Improved Load Balancing over Multiple Gateways
  • How to apply different limits for Local/Overseas traffic
  • Queue with Masquerading and Internal Web-Proxy
  • Queue Tree with more than two interfaces

INSTRUKCJA KSZTAŁTOWANIA RUCHU Z LIMITEM PPS ITP.

na razie mam MT jako router + proste kształtowanie ruchu, za miesiąc dorzucam jeszcze jednego i most na 5GHz, podziele sie moimi zautomatyzowanymi ustawieniami

1. ustawiamy sobie MT jako routerek do DSLa według np: http://www.mikrotik.com/testdocs/ros/2.8/howto/howto.php z tą różnicą że nie dajemy by interfejs do którego podłączony jest DSL otrzymywał IP z DHCP ustawiamy to statycznie z kartki otrzymanej od TPSA (czy jakiegoś innego dostawcy) (ja mam wersje 2.9.27 robiłem wszystko według tego how to w winboxie czytasz przykład z how-to szukasz tego w winboxie i ustawiasz - opis dla laikow Smile )

2. by nie marnować IP (ja np mam 5 zewn) wszystkie dodajemy do interfejsu z DSLem potem bedziemy mogli jakiemus kasiastemu klientowi zaoferować zewn IP Smile (o tym później)

3. zakładam ze nasz MT jest zrobiony według how-to mamy na nim necik i każdy kto jest podpięty do niego dostaje IP z DHCP i tez ma necik Smile (by uzytkownicy mieli zawsze to samo IP z DHCP robimy tak: IP-->DHCP Server--> Leases widzimy wpisy jak pokaże sie nowa osoba klikamy "make static" nastepnie w "Interface List" we właściwosciach intefejsu na ktorym działa nasz serwer DHCP zmieniamy ARP na "reply-only"

4. jak juz nasz MT działa jako router chronimy go (i naszych uzyszkodnikow) regółkami w firewallu by nie wklepywac setek regółek uzyjemy skryptu Smile (w winboxie SYSTEM--->SCRIPTS, wchodzimy sobie i klikamy na plusik nadajemy nazwe zaznaczamy wszystkie fajeczki i w SOURCE wklejamy:

/ip firewall filter add chain=forward action=jump jump-target=virus comment="jump to the virus chain" /ip firewall filter add chain=virus protocol=tcp dst-port=135-139 action=drop comment="Drop Blaster Worm" /ip firewall filter add chain=virus protocol=udp dst-port=135-139 action=drop comment="Drop Messenger Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=445 action=drop comment="Drop Blaster Worm" /ip firewall filter add chain=virus protocol=udp dst-port=445 action=drop comment="Drop Blaster Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=593 action=drop comment="________" /ip firewall filter add chain=virus protocol=tcp dst-port=1024-1030 action=drop comment="________" /ip firewall filter add chain=virus protocol=tcp dst-port=1080 action=drop comment="Drop MyDoom" /ip firewall filter add chain=virus protocol=tcp dst-port=1214 action=drop comment="________" /ip firewall filter add chain=virus protocol=tcp dst-port=1363 action=drop comment="ndm requester" /ip firewall filter add chain=virus protocol=tcp dst-port=1364 action=drop comment="ndm server" /ip firewall filter add chain=virus protocol=tcp dst-port=1368 action=drop comment="screen cast" /ip firewall filter add chain=virus protocol=tcp dst-port=1373 action=drop comment="hromgrafx" /ip firewall filter add chain=virus protocol=tcp dst-port=1377 action=drop comment="cichlid" /ip firewall filter add chain=virus protocol=tcp dst-port=1433-1434 action=drop comment="Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=2745 action=drop comment="Bagle Virus" /ip firewall filter add chain=virus protocol=tcp dst-port=2283 action=drop comment="Drop Dumaru.Y" /ip firewall filter add chain=virus protocol=tcp dst-port=2535 action=drop comment="Drop Beagle" /ip firewall filter add chain=virus protocol=tcp dst-port=2745 action=drop comment="Drop Beagle.C-K" /ip firewall filter add chain=virus protocol=tcp dst-port=3127-3128 action=drop comment="Drop MyDoom" /ip firewall filter add chain=virus protocol=tcp dst-port=3410 action=drop comment="Drop Backdoor OptixPro" /ip firewall filter add chain=virus protocol=tcp dst-port=4444 action=drop comment="Worm" /ip firewall filter add chain=virus protocol=udp dst-port=4444 action=drop comment="Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=5554 action=drop comment="Drop Sasser" /ip firewall filter add chain=virus protocol=tcp dst-port=8866 action=drop comment="Drop Beagle.B" /ip firewall filter add chain=virus protocol=tcp dst-port=9898 action=drop comment="Drop Dabber.A-B" /ip firewall filter add chain=virus protocol=tcp dst-port=10000 action=drop comment="Drop Dumaru.Y" /ip firewall filter add chain=virus protocol=tcp dst-port=10080 action=drop comment="Drop MyDoom.B" /ip firewall filter add chain=virus protocol=tcp dst-port=12345 action=drop comment="Drop NetBus" /ip firewall filter add chain=virus protocol=tcp dst-port=17300 action=drop comment="Drop Kuang2" /ip firewall filter add chain=virus protocol=tcp dst-port=27374 action=drop comment="Drop SubSeven" /ip firewall filter add chain=virus protocol=tcp dst-port=65506 action=drop comment="Drop PhatBot, Agobot, Gaobot"

tą liste mozemy oczywiscie rozbudować Smile zapisujemy skrypcik i klikamy RUN SCRIPT powinna pokazac się data i ilość odpalen (jesli macie kiepską maszyne moze to potrwac nawet kilkanascie sekund wiec nie klikajcie kilka razy) i teraz jeszcze jedna wazna sprawa najelpiej robic to w winboxie i na pelnym ekranie by linijki kodu się nie zawijały jesli się zawiną w złym miejscu skrypt nie odpali się !! JESLI SIE NIE ODPALI SPRAWDZCIE CZY SIE COS NIE POZAWIJAŁO

dobra mamy firewalla Smile

5. dodajemy nastepny skrypt (tak samo jak poprzednio) do oznaczania ruchu poszczególnych klientów w SOURCE wklejamy:

:for x from 2 to 254 do={ /ip firewall mangle add chain=prerouting src-address=(192.168.0. . $x ) action=mark-packet new-packet-mark=( $x . upload ) passthrough=no }

ten skrypt oznaczy ruch wychodzaczy (upload) w sieci dla adresów od 192.168.0.2 do 192.168.0.254 oczywiscie zakres i klase adresów zmieniamy dowolnie uważamy tylko na kropeczki i na miejsca zawijania sie linijek w skrypcie

teraz download

:for x from 2 to 254 do={ /ip firewall mangle add chain=postrouting dst-address=(192.168.0. . $x ) action=mark-packet new-packet-mark=( $x . download ) passthrough=no }

jest oznaczanie Smile

6. kolejki tworzymy nastepny skrypcik przygotowujacy kolejkowanie:

/queue type add name="sfq" kind=sfq sfq-perturb=5 sfq-allot=1514 /queue tree add name="Download" parent=ether2 queue=sfq max-limit=2000000 /queue tree add name="Upload" parent=ether1 queue=sfq max-limit=230000

pierwsza linijka wybiera algorytm kolejkowania (sfq) druga linijka tworzy głowną kolejke download przypisaną do interfesju wewnetrznego (LAN) (narazie mam DSL 2048kb wiec ograniczam download do 2000k zawsze dajemy jakis zapas by sie nie zatykał jako ze w mojej miejscowosci dsl-e fajnie chodzą (wyciagają maxa) to dalem 48kb zapasu:) trzecia linijka tworzy głowną kolejke upload przypisaną do ether1 (zewnetrznego) (tu uwazamy dsle są wrazliwe na zatykanie sie uploadu robimy wiekszy zapas najlepiej dobrac to doswiadczalnie ja dałem 230kb) teraz tworzymy skrypcik który zrobi nam kolejki dla poszczegolnych userów

najpierw download w source wklejamy

:for z from 2 to 254 do={ /queue tree add parent=Download packet-mark=( $z . download ) limit-at=32000 queue=sfq priority=7 max-limit=1000000 }

skrypt ten tworzy kolejki dla userów o ozanczeniu pakietow od "2download" do "254download", kolejki te zliczane są w ramach kolejki głownej (parent=Download) i tak "gwarantujemy" kazdemu 32kb i ograniczamy do 1Mb w skrócie jesli ktos jest "obcinany" do 1Mb czyli zapycha pasmo to będzie ignorowany jesli inny user chce wykorzystac pasmo do 32kb Smile

teraz upload w source wklejamy

:for b from 2 to 254 do={ /queue tree add parent=Upload packet-mark=( $b . upload ) limit-at=16000 queue=sfq priority=7 max-limit=128000 }

tak samo jak poprzednio "gwarantujemy" 16kb i ograniczamy do 128kb (ja maniakom p2p daje 64kb)

mamy limitowanie pasma Smile PS cudzysłowy dałem bo przeciez DSL nie ma CIR-a wiec tak naprawde nie mozemy nic gwarantowac Smile mozemy za to gwarantowac ruch klienta do MT- co robią powyzsze skrypty

ostatnia wazna sprawa:

7. limitowanie pakietów na sek (pps)

dsl jest wrazliwy na dużą liczbe pps z moich testów i z opini kolegow wynika ze wytrzymuje ok 400pps (przynajmniej u mnie)

trzeba by to ograniczyc robimy nastepny skrypcik: w source wklejamy:

for l from 2 to 254 do={

/ip firewall filter add chain=forward dst-address=(192.168.0. . $l ) dst-limit=50,70,dst-address/1m action=accept comment="" disabled=no /ip firewall filter add chain=forward dst-address=(192.168.0. . $l ) action=drop comment="" disable=no /ip firewall filter add chain=forward src-address=(192.168.0. . $l )dst-limit=50,70,src-and-dst-address/1m action=accept comment="" disabled=no /ip firewall filter add chain=forward src-address=(192.168.0. . $l )action=drop comment="" disabled=no }

tu musimy sie pobawic i wybrac optimum jak mamy sporo ludzi w sieci to polecam dac 40pps i burst=60pps na usera narazie mam malo ludzi i spoko moge dawac 50pps i 70pps w burst na usera

w firewallu regółki od pps muszą byc przed jakimikolwiek wpisami w których uzyto łancucha forward

8. kasiasci userzy z zewn IP IP-->Adress wpisujemy wszystkie zewn IP (wazne z maską jesli ktos nie wie jak przeliczac maski to http://gorzow-wlkp.pl/linux/dodatkowe/ip.php !!) od naszego dostawcy do interejsu "z netem" wchodzimy w IP->FIREWALL->NAT klikamy na plusik chain dsnat dst. address (wpisujemy jeden z zewnetrznych wpisanych wczesniej w IP-->Adress ale juz bez maski i nie ten na ktorym mamy router lub zewn IP dla MT ) w zakladce action action dstnat to address (IP usera z kasą np 192.168.0.2) to ports 0-65535 klikamy na OK i mamy regółke ktora zmienia adres przeznaczenia Smile

teraz zmienimy zródło wchodzimy w IP->FIREWALL->NAT klikamy na plusik chain srcnat src address (IP usera z kasą np 192.168.0.2) w zakladce action action srcnat to address (wpisujemy jeden z zewnetrznych wpisanych wczesniej w IP-->Adress ale juz bez maski i nie ten na ktorym mamy router lub zewn dla MT ) to ports 65535

ta regółka zmieniła nam zródło pakietów Smile

gotowe wszystko co wychodzi z 192.168.0.2 i przychodzi na ten adres jest przekierowywane na zawnetrzny ktory przypisalismy userowi

te przekierowania muszą byc w NAT przed maskaradą !


dobra na dzisiaj tyle Smile jak znajde chwilę czasu to dodam początek czyli jak ustawic poszegolne IP na interfejsach jak zrobic serwer DHCP z IP do MAC, klasy adresów i maskarade (czyli krok po kroku małe how-to jak podłaczyc DSL do MT w wersji przetestowanej na 2.9.27 + proste kształtowanie ruchu a za dwa miechy jak dorzuce radio do MT to tez rozszesze tą instrukcje)


PODKRESLAM ZE NIE JESTEM TWÓRCA (AUTOREM) POWYZSZYCH REGÓŁEK I SKRYPTÓW poprostu uzywam duzo google i bawie sie moim MT wiec jest to swego rodzaju zebranie w jednym miejscu róznych regółek znalezionych na necie odnosnie kształtowania ruchu przetestowanch i zmodyfikowanych przezmnie na MT 2.9.27 mam nadzieje ze pomoze to wielu laikom


na koniec prosba do doswiadczonych uzytkownikow MT. Mam w sieci kilku totalnie niekumatych userow dorwali się do neciku i pierwsze co to od rownie jak oni doswiadczonych kolegow otrzymli info zeby sciagac pliczki np bear shearem Smile problem polega na tym ze jak sobie odpalą te swoje zasysacze to nie ma to wplywu na wydajnosc mojej sieci (moje kolejki i limity pps działają ok) jednak przychodzi sierotka do mnie i mowi ze jak chce cos zciągnąc ze stronki to ma transfer 1KB i strony wogole mu sie nie otwierają patrze na kolejki w winboxie a kolo wysyla 128,1kb ze 128 jakie mu przydzielilem i tak samo z download tlumacze mu ze jak chce sobie przegladac stronki itd to nie wylaczy zasysacze, bo w tle zabierają mu całe jego pasmo i ze z mojej strony wszystko jest ok, znudzilo mi sie tlumaczenie i chcialbym zmodyfikowac mojego MT (przedstawionego dokladnie w tym poscie) o priorytetowanie po usługach podsumowujac moim celem jest by niekumaty user jak juz sobie właczy zapychacze wlasnego pasma to zeby mu sie tez stronki otwierały i zeby do mnie nie biegał (nie chce całkiem wycinac jakiegos ruchu bo dla mnie to bez sensu)


MUSZE COS DODAC DO FIREWALLA ? (mysle ze tylko musze zmodyfikowac markowanie i kolejki ale jak sie myle to poprawcie mnie) CO DOŁOZYC DO MARKOWANIA I W KTORE MIEJSCA ? (przed moje markowanie kazdego usera czy po tych markach a moze jeszcze inaczej) GDZIE NAJLEPIEJ STWORZYC KOLEJKI DLA PRIORYTETOWANIA USŁUG (simple czy tree a moze bez roznicy) COS JESZCZE BEDZIE MI POTRZEBNE ? DA SIE JAKOS PRZYSPIESZYC OTWIERANIE STRON ? (jakies transparentne poxy na MT powiem szczerze ze jakos nie kumam jak to zrobic na MT przecierz mam tam CFa 128MB czy to bedzie na tym dzialac CF mi nie padnie ? moze jakas inna metoda ? ) mała prosba darujcie sobie odpowiedzi typu "uzyj szukaj" duzo szukalem wiele znalazłem chodzi mi by ktos doswiadczony pomogl mi rozbudowac moją konfigurację (bo nie chce jej drastycznie zmieniac) tymbardziej ze jesli ktos mi w tym pomoze to potem chce rozszerzyc moj opis o te modyfikacje, wiec jak kogos kusi odpowiedz "na forum jest pełno" to lepiej nic nie piszczie Smile

pzdr. wszystkich uzytkownikow najlepszego w polsce forum o MT Smile Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email mcozio


Dołączył: 12 Wrz 2005 Posty: 663 Skąd: Trojmiasto i okolice

PostWysłany: Czw Lut 15, 2007 11:02 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora trza poprawic bo samo wklejenie nic nie daje,,,

for l from 20 to 110 do={

/ip firewall filter add chain=forward dst-address=(195.64.151. . $l . "/32") dst-limit=50,70,dst-address/1m action=accept comment="" disabled=no /ip firewall filter add chain=forward dst-address=(195.64.151. . $l . "/32") action=drop comment="" disable=no /ip firewall filter add chain=forward src-address=(195.64.151. . $l . "/32") dst-limit=50,70,src-and-dst-address/1m action=accept comment="" disabled=no /ip firewall filter add chain=forward src-address=(195.64.151. . $l . "/32") action=drop comment="" disabled=no }

Ostatnio zmieniony przez mcozio dnia Czw Lut 15, 2007 11:37 pm, w całości zmieniany 1 raz Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Numer GG Tlen Kiepura Site Admin


Dołączył: 03 Lut 2007 Posty: 275 Skąd: Warszawa

PostWysłany: Czw Lut 15, 2007 11:08 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora mcozio napisał: trza poprawic bo samo wklejenie nic nie daje,,,


Jeżeli wiesz jak to miło by była jak byś się podzielił tą wiedzą.

Pozdrawiam Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora bawolek


Dołączył: 29 Maj 2006 Posty: 139 Skąd: Radymno

PostWysłany: Pią Lut 16, 2007 11:19 am Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora hmm mcozio mam bez maski ("/32") i niby łapią sie ludzie na to mógłbyś wytlumaczyć, ? możliwe że mam to źle i tylko wydaje mi się ze dobrze przycina Wink

jednak wytłumaczenie by mi pomogło Smile



pol godz pozniej ......Wink

zmieniłem regółki i dodałem maske do skryptu nie zmieniło to kompletnie nic jak sprawdzam kazdą z nich w winboxie wyglada tak samo jak poprzednio


pzdr. _________________ GG 1011941 pzdr. Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email mcozio


Dołączył: 12 Wrz 2005 Posty: 663 Skąd: Trojmiasto i okolice

PostWysłany: Pią Lut 16, 2007 1:10 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora u mnie bez maski nie działało, poza tym sa błedy z samej składni, na 2.9.2 nie chodziło jak poprawilem to zaczeło działac Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Numer GG Tlen luka5z


Dołączył: 08 Paź 2005 Posty: 53


PostWysłany: Pią Lut 16, 2007 2:20 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora Kod:

for i from=140 to=164 step=1 do={ /ip firewall filter add chain=forward dst-address=(10.10.1. . $i) limit=50/1m,70 action=accept }

Kod:

for i from=140 to=164 step=1 do={ /ip firewall filter add chain=forward src-address=(10.10.1. . $i) limit=50/1m,70 action=accept }


Kod:

for i from=140 to=164 step=1 do={ /ip firewall filter add chain=forward dst-address=(10.10.1. . $i) action=drop comment="" disable=no }


Kod:

for i from=140 to=164 step=1 do={ /ip firewall filter add chain=forward src-address=(10.10.1. . $i) action=drop comment="" disable=no }


O tym mowa ?! Confused Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email bawolek


Dołączył: 29 Maj 2006 Posty: 139 Skąd: Radymno

PostWysłany: Pią Lut 16, 2007 4:04 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora w składni to wątpie Smile wszystko to co jest w mojej instrukcji przekopiowałem z moich skryptow z MT i wszystkie działaja mi pod 2.9.27, może masz inną klase a moze w IP->adress masz wpisana siec bez maski

na 90% nie odpalało się bo w złym miejscu zawiną się skrypt w okienku source najlepiej dązyc by wszystko bylo w jednej linijce a jak sie nie zmiesci to zeby MT sam to pozawijał ja tez mialem takie problemy


teraz jak sprawdzam jakies rozwiazania z netu to wszystko pakuje jako skrypty Smile


ale wracajac do mojej prosby pomoze mi ktos w rozbudowie tych skryptow o priorytetowanie po uslugach ?

po spotkaniu MT-kowców w Krakowie na wiki.mikrotik jest fajny przykład do firewalla i markowania ruchu ale jest tam kilka rozwiazan ktorych narazie nie kumam

mam prosbe jak przerobic moje markowanie by oprocz oznaczenia do kogo nalezy dany pakiet oznaczac jeszcze czy to www poczta czy cos innego (poprostu jak w mangle oznaczam pakiety np dla adresu 192.168.0.68 to zostaje on juz calkiem "wybity" i nie wpada w reszte regółek)

pzdr. _________________ GG 1011941 pzdr. Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email luka5z


Dołączył: 08 Paź 2005 Posty: 53


PostWysłany: Pią Lut 16, 2007 4:16 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora Po mojemu mimo iz malo wiem.. Kod: passthrough=yes i mozna pozniej dalej dzialac.. chyba ze sie myle. Confused

A mialo to byc jakies faq, a znowu robi sie paplanina. Czy ktos to moderuje, i po przeanalizowaniu za i przeciw zrobi w tym temacie porzadek !? Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email bawolek


Dołączył: 29 Maj 2006 Posty: 139 Skąd: Radymno

PostWysłany: Pią Lut 16, 2007 4:29 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora heh jesli tak dawałem to faktycznie przepuszcza dalej ale jednoczesnie ignoruje tą regółke w ktorej uzywam passthrough=yes (poprostu przechodzilo przez nią i nawet jak pakiet spełeniał warunki regółki to jak gdyby nigdy nic szedł dalej)

no chyba ze w zly sposób tego uzywam


i po jednym dniu zabawy sam sobie odpowiem:

"Please be aware, we use passthrough only for connection mark".


swieta prawda robimy tu burdel moze gdzies na boku w innym temacie wspolnie dorzucimy do tego skryptu oznaczanie usług (ale w juz ozaczonym ruchu indywidualnego klienta) a w tym temacie moze niech moderator wywali niepotrzebne smieci _________________ GG 1011941 pzdr.

Ostatnio zmieniony przez bawolek dnia Sob Lut 17, 2007 10:40 pm, w całości zmieniany 1 raz Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email luka5z


Dołączył: 08 Paź 2005 Posty: 53


PostWysłany: Pią Lut 16, 2007 7:15 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora Wtrace jeszcze pytanie. Mam problem z markowaniem DC++ a mianowicie: Mam w sieci publiczne adresy, i serwer DC++. Zmarkowalem przykladowo jenego usera na upl i dl na tyle ile moglem z p2p. Teraz staram sie wyciac lokalne DC++ tak aby sobie smigal poza kolejka ktora ma byc na ogolne p2p. Testowo wyglada to tak.

Arrow Pseudo mark p2p

Kod:


11  ;;; P2P

    chain=prerouting protocol=tcp src-port=1024-65535 dst-port=6881-6889 action=mark-connection
    new-connection-mark=p2p_conn passthrough=yes

12 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=8080 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

13 chain=prerouting protocol=tcp src-port=8080 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

14 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=4242-4243 action=mark-connection

    new-connection-mark=p2p_conn passthrough=yes

15 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=4661-4662 action=mark-connection

    new-connection-mark=p2p_conn passthrough=yes

16 chain=prerouting protocol=tcp src-port=4661-4662 dst-port=1024-65535 action=mark-connection

    new-connection-mark=p2p_conn passthrough=yes

17 chain=prerouting protocol=tcp src-port=4711 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

18 chain=prerouting protocol=tcp src-port=8888 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

19 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=8888 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

20 chain=prerouting protocol=tcp src-port=8875 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

21 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=8875 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

22 chain=prerouting protocol=tcp src-port=6699 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes
    passthrough=yes

23 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=6699 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

24 chain=prerouting protocol=tcp src-port=6345 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

25 chain=prerouting protocol=tcp src-port=6346 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

26 chain=prerouting protocol=tcp src-port=6347 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

27 chain=prerouting protocol=tcp src-port=6348 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

28 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=6345 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

29 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=6346 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

30 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=6347 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

31 chain=prerouting protocol=tcp src-port=1024-65535 dst-port=6348 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

32 chain=prerouting protocol=tcp src-port=1214 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

33 chain=prerouting protocol=udp src-port=1024-65535 dst-port=4672 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

34 chain=prerouting protocol=udp src-port=1024-65535 dst-port=8080 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

35 chain=prerouting protocol=udp src-port=8080 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

36 chain=prerouting protocol=udp src-port=4672 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

36 chain=prerouting protocol=udp src-port=4672 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

37 chain=prerouting protocol=udp src-port=1024-65535 dst-port=4661 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

38 chain=prerouting protocol=udp src-port=1024-65535 dst-port=4665 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

39 chain=prerouting protocol=udp src-port=1024-65535 dst-port=12053 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

40 chain=prerouting protocol=udp src-port=12053 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

41 chain=prerouting protocol=udp src-port=6345 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

42 chain=prerouting protocol=udp src-port=6346 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

43 chain=prerouting protocol=udp src-port=6347 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

44 chain=prerouting protocol=udp src-port=6348 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

45 chain=prerouting protocol=udp src-port=1024-65535 dst-port=6345 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

46 chain=prerouting protocol=udp src-port=1024-65535 dst-port=6346 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

47 chain=prerouting protocol=udp src-port=1024-65535 dst-port=6347 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

48 chain=prerouting protocol=udp src-port=1024-65535 dst-port=6348 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

49 chain=prerouting protocol=udp src-port=1024-65535 dst-port=1214 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

50 chain=prerouting protocol=udp src-port=5602-5618 dst-port=1024-65535 action=mark-connection

    new-connection-mark=p2p_conn passthrough=yes

51 chain=prerouting protocol=udp src-port=1024-65535 dst-port=5602-5618 action=mark-connection

    new-connection-mark=p2p_conn passthrough=yes

52 chain=prerouting protocol=udp src-port=58136 dst-port=1024-65535 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

53 chain=prerouting protocol=udp src-port=1024-65535 dst-port=58136 action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

54 chain=prerouting protocol=udp dst-port=6348 action=mark-connection new-connection-mark=p2p_conn passthrough=yes

55 chain=prerouting protocol=udp dst-port=11982 action=mark-connection new-connection-mark=p2p_conn passthrough=yes

56 chain=prerouting protocol=tcp dst-port=80 p2p=bit-torrent action=mark-connection new-connection-mark=p2p_conn

    passthrough=yes

57 chain=prerouting p2p=all-p2p action=mark-connection new-connection-mark=p2p_conn passthrough=yes

58 chain=prerouting connection-mark=p2p_conn action=mark-packet new-packet-mark=p2p passthrough=yes


Arrow Mark usera wg powyzszego..

Kod:

59  ;;;

    chain=prerouting src-address=195.64.x.x dst-address=!195.64.x.0/23 connection-mark=p2p_conn p2p=all-p2p
    action=mark-packet new-packet-mark=140_p2p_upload passthrough=no

84  ;;;

    chain=prerouting src-address=!195.64.x.0/23 dst-address=195.64.x.x connection-mark=p2p_conn
    p2p=!direct-connect action=mark-packet new-packet-mark=140_p2p_download passthrough=yes


I w zasadzie nie mam pojecia jak to ma byc... Confused Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email bawolek


Dołączył: 29 Maj 2006 Posty: 139 Skąd: Radymno

PostWysłany: Sob Lut 24, 2007 3:06 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora No i sam doszedlem po tygodniu intensywnej zabawy --- co coraz bardziej uswiadamia mi dlaczego nikt nie daje rozwiazan na tacy Surprised

ja tez gotowego nie podam ale spore podpowiedzi.... Smile

najwazniejsze = markowanie

ja uzylem http://wiki.mikrotik.com/wiki/Dmitry_on_firewalling tylko ze nie rozdzielam protokołów i dziele uslugi na 3 priorytety wazna podpowiedz jesli uwazamy ze kilka uslug powinno miec ten sam najwyzszy priorytet to dajemy je w marka o tej samej nazwie, w markowaniu pakietow NIE wolno dawac passthrough=yes

potem lecimy do simple queues i tworzymy glowna kolejke do interfejsu, potem podkolejki dla userow i nastepne podkolejki (z parent=jakis user) podkolejki uslug userów Smile (tu mozemy wykorzystac do jednej kolejki kilka markow pakietow !!! - wazna sprawa Smile) Gularz_pl dokaldnie to opisał w http://forum.osbridge.pl/viewtopic.php?t=4011

pzdr.

i po wszystkim jak narazie dziala idealnie Smile _________________ GG 1011941 pzdr. Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Kiepura Site Admin


Dołączył: 03 Lut 2007 Posty: 275 Skąd: Warszawa

PostWysłany: Wto Lut 27, 2007 11:15 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora bawolek napisał: Witam

NIE WIEM CZY W DOBRE MIEJSCE JESLI ZLE TO NIECH MODERATOR TO PRZENIESIE Wink

INSTRUKCJA KSZTALTOWANIE RUCHU Z LIMITEM PPS ITP.

narazie mam MT jako router + proste kształtowanie ruchu, za miesiąc dorzucam jeszcze jednego i most na 5GHz, podziele sie moimi zautomatyzowanymi ustawieniami Smile

1. ustawiamy sobie MT jako routerek do DSLa według np: http://www.mikrotik.com/testdocs/ros/2.8/howto/howto.php z tą różnicą że nie dajemy by interfejs do którego podłączony jest DSL otrzymywał IP z DHCP ustawiamy to statycznie z kartki otrzymanej od TPSA (czy jakiegos innego dostawcy) (ja mam wersje 2.9.27 robiłem wszystko według tego how to w winboxie czytasz przykład z how-to szukasz tego w winboxie i ustawiasz - opis dla laikow Smile ) 2. by nie marnować IP (ja np mam 5 zewn) wszystkie dodajemy do interfejsu z DSLem potem bedziemy mogli jakiemus kasiastemu klientowi zaoferowac zewn IP Smile (o tym pozniej)

3. zakładam ze nasz MT jest zrobiony według how-to mamy na nim necik i kazdy kto jest podpiety do niego dostaje IP z DHCP i tez ma necik Smile (by uzytkownicy mieli zawsze to samo IP z DHCP robimy tak: IP-->DHCP Server--> Leases widzimy wpisy jak pokaze sie nowa osoba klikamy "make static" nastepnie w "Interface List" we właściwosciach intefejsu na ktorym działa nasz serwer DHCP zmieniamy ARP na "reply-only"

4. jak juz nasz MT działa jako router chronimy go (i naszych uzyszkodnikow) regółkami w firewallu by nie wklepywac setek regółek uzyjemy skryptu Smile (w winboxie SYSTEM--->SCRIPTS, wchodzimy sobie i klikamy na plusik nadajemy nazwe zaznaczamy wszystkie fajeczki i w SOURCE wklejamy:

/ip firewall filter add chain=forward action=jump jump-target=virus comment="jump to the virus chain" /ip firewall filter add chain=virus protocol=tcp dst-port=135-139 action=drop comment="Drop Blaster Worm" /ip firewall filter add chain=virus protocol=udp dst-port=135-139 action=drop comment="Drop Messenger Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=445 action=drop comment="Drop Blaster Worm" /ip firewall filter add chain=virus protocol=udp dst-port=445 action=drop comment="Drop Blaster Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=593 action=drop comment="________" /ip firewall filter add chain=virus protocol=tcp dst-port=1024-1030 action=drop comment="________" /ip firewall filter add chain=virus protocol=tcp dst-port=1080 action=drop comment="Drop MyDoom" /ip firewall filter add chain=virus protocol=tcp dst-port=1214 action=drop comment="________" /ip firewall filter add chain=virus protocol=tcp dst-port=1363 action=drop comment="ndm requester" /ip firewall filter add chain=virus protocol=tcp dst-port=1364 action=drop comment="ndm server" /ip firewall filter add chain=virus protocol=tcp dst-port=1368 action=drop comment="screen cast" /ip firewall filter add chain=virus protocol=tcp dst-port=1373 action=drop comment="hromgrafx" /ip firewall filter add chain=virus protocol=tcp dst-port=1377 action=drop comment="cichlid" /ip firewall filter add chain=virus protocol=tcp dst-port=1433-1434 action=drop comment="Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=2745 action=drop comment="Bagle Virus" /ip firewall filter add chain=virus protocol=tcp dst-port=2283 action=drop comment="Drop Dumaru.Y" /ip firewall filter add chain=virus protocol=tcp dst-port=2535 action=drop comment="Drop Beagle" /ip firewall filter add chain=virus protocol=tcp dst-port=2745 action=drop comment="Drop Beagle.C-K" /ip firewall filter add chain=virus protocol=tcp dst-port=3127-3128 action=drop comment="Drop MyDoom" /ip firewall filter add chain=virus protocol=tcp dst-port=3410 action=drop comment="Drop Backdoor OptixPro" /ip firewall filter add chain=virus protocol=tcp dst-port=4444 action=drop comment="Worm" /ip firewall filter add chain=virus protocol=udp dst-port=4444 action=drop comment="Worm" /ip firewall filter add chain=virus protocol=tcp dst-port=5554 action=drop comment="Drop Sasser" /ip firewall filter add chain=virus protocol=tcp dst-port=8866 action=drop comment="Drop Beagle.B" /ip firewall filter add chain=virus protocol=tcp dst-port=9898 action=drop comment="Drop Dabber.A-B" /ip firewall filter add chain=virus protocol=tcp dst-port=10000 action=drop comment="Drop Dumaru.Y" /ip firewall filter add chain=virus protocol=tcp dst-port=10080 action=drop comment="Drop MyDoom.B" /ip firewall filter add chain=virus protocol=tcp dst-port=12345 action=drop comment="Drop NetBus" /ip firewall filter add chain=virus protocol=tcp dst-port=17300 action=drop comment="Drop Kuang2" /ip firewall filter add chain=virus protocol=tcp dst-port=27374 action=drop comment="Drop SubSeven" /ip firewall filter add chain=virus protocol=tcp dst-port=65506 action=drop comment="Drop PhatBot, Agobot, Gaobot"

tą liste mozemy oczywiscie rozbudować Smile zapisujemy skrypcik i klikamy RUN SCRIPT powinna pokazac się data i ilość odpalen (jesli macie kiepską maszyne moze to potrwac nawet kilkanascie sekund wiec nie klikajcie kilka razy) i teraz jeszcze jedna wazna sprawa najelpiej robic to w winboxie i na pelnym ekranie by linijki kodu się nie zawijały jesli się zawiną w złym miejscu skrypt nie odpali się !! JESLI SIE NIE ODPALI SPRAWDZCIE CZY SIE COS NIE POZAWIJAŁO

dobra mamy firewalla Smile

5. dodajemy nastepny skrypt (tak samo jak poprzednio) do oznaczania ruchu poszczególnych klientów w SOURCE wklejamy:

for x from 2 to 254 do={ /ip firewall mangle add chain=prerouting src-address=(192.168.0. . $x ) action=mark-packet

new-packet-mark=( $x . upload ) passthrough=no }

ten skrypt oznaczy ruch wychodzaczy (upload) w sieci dla adresów od 192.168.0.2 do 192.168.0.254 oczywiscie zakres i klase adresów zmieniamy dowolnie uważamy tylko na kropeczki i na miejsca zawijania sie linijek w skrypcie

teraz download

for x from 2 to 254 do={ /ip firewall mangle add chain=postrouting dst-address=(192.168.0. . $x ) action=mark-packet

new-packet-mark=( $x . download ) passthrough=no }

jest oznaczanie Smile

6. kolejki tworzymy nastepny skrypcik przygotowujacy kolejkowanie:

/queue type add name="sfq" kind=sfq sfq-perturb=5 sfq-allot=1514 /queue tree add name="Download" parent=ether2 queue=sfq max-limit=2000000 /queue tree add name="Upload" parent=ether1 queue=sfq max-limit=230000

pierwsza linijka wybiera algorytm kolejkowania (sfq) druga linijka tworzy głowną kolejke download przypisaną do interfesju wewnetrznego (LAN) (narazie mam DSL 2048kb wiec ograniczam download do 2000k zawsze dajemy jakis zapas by sie nie zatykał jako ze w mojej miejscowosci dsl-e fajnie chodzą (wyciagają maxa) to dalem 48kb zapasu:) trzecia linijka tworzy głowną kolejke upload przypisaną do ether1 (zewnetrznego) (tu uwazamy dsle są wrazliwe na zatykanie sie uploadu robimy wiekszy zapas najlepiej dobrac to doswiadczalnie ja dałem 230kb) teraz tworzymy skrypcik który zrobi nam kolejki dla poszczegolnych userów

najpierw download w source wklejamy

for z from 2 to 254 do={ /queue tree add parent=Download packet-mark=( $z . download ) limit-at=32000 queue=sfq priority=7

max-limit=1000000 }

skrypt ten tworzy kolejki dla userów o ozanczeniu pakietow od "2download" do "254download", kolejki te zliczane są w ramach kolejki głownej (parent=Download) i tak "gwarantujemy" kazdemu 32kb i ograniczamy do 1Mb w skrócie jesli ktos jest "obcinany" do 1Mb czyli zapycha pasmo to będzie ignorowany jesli inny user chce wykorzystac pasmo do 32kb Smile

teraz upload w source wklejamy

for b from 2 to 254 do={ /queue tree add parent=Upload packet-mark=( $b . upload ) limit-at=16000 queue=sfq priority=7

max-limit=128000 }

tak samo jak poprzednio "gwarantujemy" 16kb i ograniczamy do 128kb (ja maniakom p2p daje 64kb)

mamy limitowanie pasma Smile PS cudzysłowy dałem bo przeciez DSL nie ma CIR-a wiec tak naprawde nie mozemy nic gwarantowac Smile mozemy za to gwarantowac ruch klienta do MT- co robią powyzsze skrypty

ostatnia wazna sprawa:

7. limitowanie pakietów na sek (pps)

dsl jest wrazliwy na dużą liczbe pps z moich testów i z opini kolegow wynika ze wytrzymuje ok 400pps (przynajmniej u mnie)

trzeba by to ograniczyc robimy nastepny skrypcik: w source wklejamy:

for l from 2 to 254 do={

/ip firewall filter add chain=forward dst-address=(192.168.0. . $l ) dst-limit=50,70,dst-address/1m action=accept comment="" disabled=no /ip firewall filter add chain=forward dst-address=(192.168.0. . $l ) action=drop comment="" disable=no /ip firewall filter add chain=forward src-address=(192.168.0. . $l )dst-limit=50,70,src-and-dst-address/1m action=accept comment="" disabled=no /ip firewall filter add chain=forward src-address=(192.168.0. . $l )action=drop comment="" disabled=no }

tu musimy sie pobawic i wybrac optimum jak mamy sporo ludzi w sieci to polecam dac 40pps i burst=60pps na usera narazie mam malo ludzi i spoko moge dawac 50pps i 70pps w burst na usera

w firewallu regółki od pps muszą byc przed jakimikolwiek wpisami w których uzyto łancucha forward

8. kasiasci userzy z zewn IP IP-->Adress wpisujemy wszystkie zewn IP (wazne z maską jesli ktos nie wie jak przeliczac maski to http://gorzow-wlkp.pl/linux/dodatkowe/ip.php !!) od naszego dostawcy do interejsu "z netem" wchodzimy w IP->FIREWALL->NAT klikamy na plusik chain dsnat dst. address (wpisujemy jeden z zewnetrznych wpisanych wczesniej w IP-->Adress ale juz bez maski i nie ten na ktorym mamy router lub zewn IP dla MT ) w zakladce action action dstnat to address (IP usera z kasą np 192.168.0.2) to ports 0-65535 klikamy na OK i mamy regółke ktora zmienia adres przeznaczenia Smile

teraz zmienimy zródło wchodzimy w IP->FIREWALL->NAT klikamy na plusik chain srcnat src address (IP usera z kasą np 192.168.0.2) w zakladce action action srcnat to address (wpisujemy jeden z zewnetrznych wpisanych wczesniej w IP-->Adress ale juz bez maski i nie ten na ktorym mamy router lub zewn dla MT ) to ports 65535

ta regółka zmieniła nam zródło pakietów Smile

gotowe wszystko co wychodzi z 192.168.0.2 i przychodzi na ten adres jest przekierowywane na zawnetrzny ktory przypisalismy userowi

te przekierowania muszą byc w NAT przed maskaradą !


dobra na dzisiaj tyle Smile jak znajde chwilę czasu to dodam początek czyli jak ustawic poszegolne IP na interfejsach jak zrobic serwer DHCP z IP do MAC, klasy adresów i maskarade (czyli krok po kroku małe how-to jak podłaczyc DSL do MT w wersji przetestowanej na 2.9.27 + proste kształtowanie ruchu a za dwa miechy jak dorzuce radio do MT to tez rozszesze tą instrukcje)


PODKRESLAM ZE NIE JESTEM TWÓRCA (AUTOREM) POWYZSZYCH REGÓŁEK I SKRYPTÓW poprostu uzywam duzo google i bawie sie moim MT wiec jest to swego rodzaju zebranie w jednym miejscu róznych regółek znalezionych na necie odnosnie kształtowania ruchu przetestowanch i zmodyfikowanych przezmnie na MT 2.9.27 mam nadzieje ze pomoze to wielu laikom


na koniec prosba do doswiadczonych uzytkownikow MT. Mam w sieci kilku totalnie niekumatych userow dorwali się do neciku i pierwsze co to od rownie jak oni doswiadczonych kolegow otrzymli info zeby sciagac pliczki np bear shearem Smile problem polega na tym ze jak sobie odpalą te swoje zasysacze to nie ma to wplywu na wydajnosc mojej sieci (moje kolejki i limity pps działają ok) jednak przychodzi sierotka do mnie i mowi ze jak chce cos zciągnąc ze stronki to ma transfer 1KB i strony wogole mu sie nie otwierają patrze na kolejki w winboxie a kolo wysyla 128,1kb ze 128 jakie mu przydzielilem i tak samo z download tlumacze mu ze jak chce sobie przegladac stronki itd to nie wylaczy zasysacze, bo w tle zabierają mu całe jego pasmo i ze z mojej strony wszystko jest ok, znudzilo mi sie tlumaczenie i chcialbym zmodyfikowac mojego MT (przedstawionego dokladnie w tym poscie) o priorytetowanie po usługach podsumowujac moim celem jest by niekumaty user jak juz sobie właczy zapychacze wlasnego pasma to zeby mu sie tez stronki otwierały i zeby do mnie nie biegał (nie chce całkiem wycinac jakiegos ruchu bo dla mnie to bez sensu)


MUSZE COS DODAC DO FIREWALLA ? (mysle ze tylko musze zmodyfikowac markowanie i kolejki ale jak sie myle to poprawcie mnie) CO DOŁOZYC DO MARKOWANIA I W KTORE MIEJSCA ? (przed moje markowanie kazdego usera czy po tych markach a moze jeszcze inaczej) GDZIE NAJLEPIEJ STWORZYC KOLEJKI DLA PRIORYTETOWANIA USŁUG (simple czy tree a moze bez roznicy) COS JESZCZE BEDZIE MI POTRZEBNE ? DA SIE JAKOS PRZYSPIESZYC OTWIERANIE STRON ? (jakies transparentne poxy na MT powiem szczerze ze jakos nie kumam jak to zrobic na MT przecierz mam tam CFa 128MB czy to bedzie na tym dzialac CF mi nie padnie ? moze jakas inna metoda ? ) mała prosba darujcie sobie odpowiedzi typu "uzyj szukaj" duzo szukalem wiele znalazłem chodzi mi by ktos doswiadczony pomogl mi rozbudowac moją konfigurację (bo nie chce jej drastycznie zmieniac) tymbardziej ze jesli ktos mi w tym pomoze to potem chce rozszerzyc moj opis o te modyfikacje, wiec jak kogos kusi odpowiedz "na forum jest pełno" to lepiej nic nie piszczie Smile

pzdr. wszystkich uzytkownikow najlepszego w polsce forum o MT Smile


Czy mógłbyś wrócić wersję po wprowadzeniu poprawek ??? Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora sioux


Dołączył: 18 Lut 2007 Posty: 2


PostWysłany: Pon Mar 12, 2007 1:46 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora a dodam coś od siebie Smile

tips & tricks: port knocking

Wyobraźmy sobie scenariusz w którym powinniśmy uzyskać dostęp do SSH działającego na danej maszynie pod warunkiem wysłania do niej wcześniej określonej sekwencji pakietów, na przykład: 100/tcp, 50/udp, 72/udp.

ip firewall filter [ent] add chain=input protocol=tcp dst-port=100 action=add-src-to-address-list address-list=stage-1 address-list-timeout=5 [ent] add chain=input protocol=udp dst-port=50 src-address-list=stage-1 action=add-src-to-address-list address-list=stage-2 address-list-timeout=5 [ent] add chain=input protocol=udp dst-port=72 src-address-list=stage-2 action=add-src-to-address-list address-list=stage-3 address-list-timeout=5 [ent] add chain=input protocol=tcp dst-port=22 src-address-list=stage-3 action=accept [ent]

Powyższa konfiguracja zakłada że kolejne pakiety z sekwencji będą pojawiać się nie później niż w 5 sekundowych odstępach.

pełna wersja tutaj: http://slawomirsikora.blogspot.com/2007/03/tips-tricks-port-knocking.html

tips & tricks: dst-port 25

W tym post'cie przedstawię jak skutecznie walczyć z wirusami z własnym silnikiem umożliwiającym im rozsyłanie się za pomocą poczty elektronicznej. Skutecznie .. to znaczy pozbywając się ruchu przez nie generowanego i przy okazji informując klienta o fakcie zainfekowania jego maszyny.

ip firewall filter [ent] add chain=forward protocol=tcp dst-port=25 connection-state=new action=tcp_dport25 [ent] add chain=tcp_dport25 src-address-list=smtp address-list=smtp address-list-timeout=10s action=add-src-to-address-list [ent] add chain=tcp_dport25 src-address-list=smtp action=drop [ent] add chain=tcp_dport25 action=add-src-to-address-list address-list=smtp address-list-timeout=10s [ent] add chain=tcp_dport25 action=accept [ent]

Najpierw przechodzimy do konfiguracji tabeli filter firewall'a. Następnie do automatycznie tworzonego łańcucha tcp_dport25 przekierowujemy pakiety rozpoczynające (NEW) połączenie z docelowym portem 25. W kolejnej regule sprawdzamy czy z danego IP były już próby nawiązania połączenia na port 25. Jeśli tak to uaktualniamy wpis. Następnie jeśli nadający host znajduje się już na liście DROP'ujemy połączenie. Jeśli natomiast się na niej nie znajduje dodajemy go do listy na 10 sekund. Ostatnia reguła zezwala na połączenie.

Dodając jeszcze jedną regułę można doprowadzić do tego, że z danego IP można będzie przeglądać strony www pod warunkiem czystego komputera.

ip firewall nat [ent] add chain=dstnat src-address-list=smtp action=dst-nat to-address=[IP serwera www z stroną informacyjną] to-ports=[port na którym nasłuchuje serwer] [ent]

pełna wersja tutaj: http://slawomirsikora.blogspot.com/2007/03/tips-tricks-dst-port-25.html Powrót do góry Zobacz profil autora Wyślij prywatną wiadomość Wyślij email bawolek


Dołączył: 29 Maj 2006 Posty: 139 Skąd: Radymno

PostWysłany: Pon Kwi 02, 2007 10:38 pm Temat postu: Odpowiedz z cytatem Zmień/Usuń ten post Usuń ten post Zobacz IP autora Kiepura kiedys napisał bym dorzucil wersje z poprawkami Smile no i doczekala sie instrukcja ..... Smile wszystko latwo dodacie sobie w winboxie czytajac to co daje print Smile a jak cos bedzie bardzoej skomplikowanego to opisze

zaczynamy : załóżmy ze mamy MT z trzema interfejsami WAN LAN i wlan Cytat:

[admin@Bawolek] interface> print Flags: X - disabled, D - dynamic, R - running

  1. NAME TYPE RX-RATE TX-RATE MTU

0 R WAN ether 0 0 1500 1 R LAN ether 0 0 1500 2 R wlan wlan 0 0 1500


na LAN ARP dajemy na "reply-only" - potem powiem po co

ustawienia wlan mode Ap bridge kanal jak sie chce country poland ODZNACZAMY "default forward" zeby nam sie userzy po radiu filmami nie wymieniali Very Happy ARP ="reply only" ------------------czytaj dalej Very Happy

nadajemy interfejsom IP Cytat:


[admin@Bawolek] ip address> print Flags: X - disabled, I - invalid, D - dynamic

  1. ADDRESS NETWORK BROADCAST INTERFACE

0 ;;; Zewnetrzne IP x.x.x.x1/x x.x.x.x x.x.x.x WAN 1 x.x.x.x2/x x.x.x.x x.x.x.x WAN 2 x.x.x.x3/x x.x.x.x x.x.x.x WAN 3 x.x.x.x4/x x.x.x.x x.x.x.x WAN 4 x.x.x.x5/x x.x.x.x x.x.x.x WAN 5 10.1.1.1/24 10.1.1.0 10.1.1.255 LAN


za x.x.x.x wstawiamy to co dostalismy od uslugodawcy w tym przypadku 5 uzytkowych zewn IP dodajemy do WAN a do LAN jakas klase C wazna sprawa tu dodajemy IP z maską ! (/x , /24) uprzedze pytanie dlaczego wlan nie ma IP otorz nie bedzie mial bo zrobimy na nim pppoe Smile a jak wiadomo wtedy nie daje sie IP po to by nie mozna bylo polaczyc sie z wlan inaczej niz za posrednictwem sesji pppoe Smile

odpalmy by nasz MT mial dostep do netu : czyli dodamy brame: Cytat:


[admin@Bawolek] ip route> print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf

  1. DST-ADDRESS PREF-SRC G GATEWAY DISTANCE INTERFACE

0 ADC 10.1.1.0/24 10.1.1.1 LAN 1 ADC x.x.x.x1/x x.x.x.x WAN 2 A S 0.0.0.0/0 r x.x.x.x0 <--WAN <----- to dodamy ręcznie Smile i bez maski (z kartki od providera)


teraz dodajemy DNS wchodzimy w IP>DNS klikamy "Settings" i wpisujemy to co ponizej i zaznaczamy allow-remote-requests: yes Cytat:


[admin@Bawolek] ip dns> print primary-dns: 194.204.159.1 secondary-dns: 194.204.152.34 allow-remote-requests: yes cache-size: 8048KiB cache-max-ttl: 1w cache-used: 956KiB


wchodzimy do IP>Firewall>NAT i dodajemy takie cudo Cytat:

[admin@Bawolek] ip firewall nat> print Flags: X - disabled, I - invalid, D - dynamic 0 X ;;; ip ktos1 chain=dstnat dst-address=x.x.x.x2 action=dst-nat to-addresses=y.y.y.y1 to-ports=0-65535

1 X chain=srcnat src-address=y.y.y.y1 action=src-nat to-addresses=x.x.x.x2 to-ports=0-65535

2 X ;;; ip ktos2 chain=dstnat dst-address=x.x.x.x3 action=dst-nat to-addresses=y.y.y.y2 to-ports=0-65535

3 X chain=srcnat src-address=y.y.y.y2 action=src-nat to-addresses=x.x.x.x3 to-ports=0-65535

4 ;;; ip ktos3 chain=dstnat dst-address=x.x.x.x4 action=dst-nat to-addresses=y.y.y.y3 to-ports=0-65535

5 chain=srcnat src-address=y.y.y.y3 action=src-nat to-addresses=x.x.x.x4 to-ports=0-65535

6 X ;;; ip ktos4 chain=dstnat dst-address=x.x.x.x5 action=dst-nat to-addresses=y.y.y.y4 to-ports=0-65535

7 X chain=srcnat src-address=y.y.y.y4 action=src-nat to-addresses=x.x.x.x5 to-ports=0-65535

8 ;;; maskarada chain=srcnat src-address=10.1.1.0/28 action=src-nat to-addresses=x.x.x.x1 to-ports=0-65535

x.x.x.x2 - jeden z zewnetrznych ip y.y.y.y1- ip jakiegos kolesia czy np serwerka www czy ftp te regolki (pkt od 0 do 7) poprstu przekierowuja nam IPki na lokalne w sieci Very Happy

DLACZEGO maskarada (pkt 8 ) jest inna niz wszyscy sie przywyczailismy Smile ?? otoz : action:masquerade wybiera domyslne przeznczenie a jak uzyjemy tego co ja, to my wybieramy jaka siec ma byc "przekierowana" pod jaki zewn IP Very Happy oczywiscie jesli zuzyjemy wszystkie IP bo porozdajemy znajomkom w sieci to nie mozemy uzywac przekierowanego wczesniej IP do "maskowania" sieci Smile (wiec proponuje odraz zebrac np 4 osoby stowrzyc siec np 8 adresowa i dac ich pod jeden zewn IP Very Happy )

nastepna sprawa robimy sobie pule adresow: IP>poll Cytat:

[admin@Bawolek] ip pool> print

  1. NAME RANGES

0 dhcp-lan 10.1.1.5-10.1.1.100 1 pppoe 10.1.1.101-10.1.1.201

jak klikniemy plusik to zakres adresow rozdzielamy "-"

Robimy DHCP dla LAN Cytat:

[admin@Bawolek] ip dhcp-server> print Flags: X - disabled, I - invalid

  1. NAME INTERFACE RELAY ADDRESS-POOL LEASE-TIME ADD-ARP

0 LAN1 LAN dhcp-lan 3d NO

wiec klikamy plusik wybieramy interfejs=LAN pula dhcp-lan, ODZNACZAMY "Allways broadcast" i "bootp", ADD-ARP dajemy NO bo wpisy w arp dodamy recznie (powiazemy IP z MAC a wczesniej na LAN ustawilismy ARP na "reply-only" przez co neta bedą miec ci ktorym zgadzaja sie wpisy w IP>ARP)

nastepnie:

dodaejmy siec w IP>DHCP-server>Networks plusik i : Cytat:

[admin@Bawolek] ip dhcp-server network> print

  1. ADDRESS GATEWAY DNS-SERVER WINS-SERVER DOMAIN

0 10.1.1.0/24 10.1.1.1 10.1.1.1 193.110.121.20

wiadomo adres naszej sieci potem brama dla userow i adresy serwerow DNS ktore bedzie przypisywal nasz DHCP userom (wpisujemy IP interfesju na ktorym jest DHCP czyli LAN) i tu wazna sprawa: drugi zapasowy np taki ktorego ja uzywam czyli: 193.110.121.20 ----> jak to dziala ?

na poczatku w IP>DNS dalismy DNS naszemu MT i zaznaczylismy "allow remote request" tak wiec jesli do naszego MT przyjda ządnia DNS to nasz MT je przekaze klientowi Smile na dodatek MT buforuje sobie czesto uzywane adresy stron wiec u klienta w przegladarce bedzie krotszy czas"oczekiwanie na..." Teraz druga sprawa jesli obydwa DNSy tpsa padną i nasz MT nie da odpowiedzi zwrotnej do klienta to klient wykorzysta zapasowy DNS czyli 193.110.121.20 ktory przypisał mu nasz DHCP jako awaryjny Smile Smile

Nastepna sprawa

Dodajemy wpisy w IP>ARP najpierw wypelnimy calą klase falszywymi wpisami w system sripts dodajemy nowy skrypt zaznaczamy wszystkie ptaszki w source wpisujemy

for x from 2 to 254 do={/ip arp add address=(10.1.1. . $x ) interface=LAN mac-address=AA:AA:AA:AA:AA:AA }

to wypelni nam zakres 10.1.1.2 do 10.1.1.254 falszywymi MACami a my potem recznie poprawimy sobie odpowiednimi prawdziwymi makami naszych userów a te nieuzywane zostawimy dalej falszywe dzieki temu jak ktos nowy sie podepnie to dostanie IP z DHCP ale nie bedzie mial neciku Smile jesli nie bedzie sie zgadzal wpis w IP>ARP

teraz PPPOE wchodzimy w ppp klikamy profiles i dodajemy profil "pppoe" (profile default i default-encrypted są standardowo) Cytat:

[admin@Bawolek] ppp profile> print Flags: * - default 0 * name="default" use-compression=default use-vj-compression=default use-encryption=default only-one=default change-tcp-mss=yes

1 name="pppoe" local-address=10.1.1.1 remote-address=pppoe use-compression=default use-vj-compression=default use-encryption=default only-one=yes change-tcp-mss=default dns-server=10.1.1.1,193.110.121.20

2 * name="default-encryption" use-compression=default use-vj-compression=default use-encryption=yes only-one=default change-tcp-mss=yes


przyjzyjmy sie uwaznie wpisowi o numerze 1: tak wiec local-adres ma byc adres naszego interfejsu LAN, remote-adres pula dozwolonych adresow dla ludzi z pppoe czyli utowrzona wczesniej pula "pppoe" DNS tak jak w serwerze DHCP, only-one=yes czyli jedna sesja dla jednego usera,

co do change-tcp-mss=yes jedni pisza ze trzeba zmieniac drudzy ze nie musi byc, ja nie zmieniam i wszystko chodzi super Smile

na LAN wedlug dokumentacji powinno byc "proxy-arp" by MAC userow z pppoe byl na serwerku, ale na "reply-only" tez dziala doskonale Smile jednakże gdybysmy nie stawiali na LAN DHCP i nie zabezpieczali przez ARP to na LAN arp powinno byc na "proxy-arp"

Dygresja Very Happy ja uzywam do "pppoe" innej podsieci, wogole na kazdym interfejsie ktory robi za AP i kazdy LAN dla osobnej grupy ludzi to powinno sie uzywac roznych podsieci wtedy latwiej opanowac ruch, nie ma syfu po broadcastach, wirusy sie tak nie rozprzestrzeniaja itd. ale nie bede tu zaciemnial zasady, jak juz sobie to zakumacie dobrze to potem bedziecie sie bawic podsieciami itd Smile wiec lecimy dalej Smile Cytat:

PPP>Secrets [admin@Bawolek] ppp secret> print Flags: X - disabled

  1. NAME SERVICE CALLER-ID PASSWORD PROFILE REMOTE-ADDRESS

0 ;;; Test test pppoe 00:0B:6B:20... test pppoe 10.1.1.101

wiec w secret klikamy plusik w service wiadomo "pppoe" name=cos tam , password=cos tam , caller-id podajemy mac usera profile WYBIERAMY WCZESNIEJ UTWORZONY PROFIL "pppoe" lokal-adres zostawiamy PUSTE a w remote dajemy jeden z adresow ktorey nalezy do puli "pppoe" i tak tworzymy dla kazdego usera konto w secret

na koniec wchodzimy w ppp w zakladce interface klikamy na PPPoE Server i dodajemy

name: pppoe1 interface: wlan max MTU, MRU 1488 default profile : pppoe !!!!---ten utworzony przez nas i zaznaczamy "One Session Per Host" i wszytkie ptaszki przy autoryzacji


pytania odnosnie skryptow: jesli dobrze zdefiniowalismy adresy w IP>address, itd to w skryptach przy IP userow nie musimy dawac maski "/32" bo MT i tak wie ze to IP usera a nie sieci Very Happy poprostu jak w winboxie lub skrypcie nie day maski to MT traktuje domyslnie to maską /32 czyli adresem hosta, w dokumentacji jak byk pisze ze dopiero w wersji 3 przy kazdym wpisie bedziemy musieli dodawac na koncu /32 pisze to bo bylo kilka osob ktore mowilo mi ze tak musi byc otorz w wersajch powyzej 2.9 nie musi byc (nie wiem jak 2.9.6 bo to z nią roznie bywa <hahaha> ) wszystkie konfigi tu zawarte działaja aktualnie (tylko ja mam podzial na podsieci) wszystkie skrypty ktore zamieszczam działają i byly wiele razy odpalane wiec jak komus nie dziala sprawdzcie 10 razy czy nie ma literowki lub zlego zawiniecia tekstu w zrodle skrytpu Smile

no i cieszymy sie netem na LAN i pppoe na wlan na dzisiaj koniec bo mi sie nie chce juz pisac na swieta promocja doloze firewalla ktory wykrywa skanujacych porty z filtrem antysapmowym, i kolejki userow z priorytetami uslug

pzdr.

KURNA TYLE SIE NAPSIALEM I MI SIE NIEKTORE QUOTE POROZJEDZALY MADAFAKA KIEDYS TO POPRAWIE