Strona 1 z 1

Routing na Debianie 4.0 z wykorzystaniem HTB albo IMQ

: 03 marca 2008, 08:02
autor: PrEZeS
Cze,
Aktualnie konfiguruje na moim Debianku serwer. Ma on obsługiwać następujące rzeczy: DHCP, FTP, WWW, NAT + QoS. Dwie pierwsze już działają, Apache zostawiam sobie na koniec. Puki co zastanawiam się jak "ugryść" ten podział.

Wygrzebałem w internecie coś takiego http://dug.net.pl/texty/masq.php. I zastanwia mnie jedna rzecz. W linijce
Kod:
# zezwolenie nna laczenie sie z naszym zewnetrznym ip po ssh

jest regułka która wpuszcza pakiety SSH. Jednak mój provider przydziela adresy IP dynamicznie (od razu uprzedzam pytanie, nie zamierzam dzielić neostrady) i nie mogę wpisać tam konkretnego adresu IP. Więc co tam powinno się znajdować??

I jeszcze jedno. Załóżmy że w sieci jest postawiony serwer monitoringu który udostępnia panel kontrolny na porcie 654. Zależy mi żeby ten port przekierować "na zewnątrz" powiedzmy na taki o numerze 987 i wyciąć resztę ruchu z tego komputera (zabezpieczenie przed ew. trojanami). Czy taka reguła będzie poprawna

Kod: Zaznacz cały

iptables -A FORWARD -p tcp -s 0/0 -sport 987 -d 192.168.0.100 -dport 654 --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -p tcp -s 0/0 -d 192.168.0.100 -dport 1:653 --state NEW,ESTABLISHED,RELATED -j DROP
iptables -t nat -p tcp -s 0/0 -d 192.168.0.100 -dport 655:65535 --state NEW,ESTABLISHED,RELATED -j DROP

Co się tyczy natomiast QoS, to niedawno udało mi się zkompilować jądro z wbuduwanym IMQ, HTB i PPPoE (to ostatnie na zapas). Nie mogę jednak nigdzie znaleść wirtualnych urządzeń imqX (miało być ich 15). Zdziwiło mnie jeszcze jedno. W NEXT numer 3/2007 znajduje się artykuł o kolejkowaniu przy pomocy Linuxa, nie ma tam słowa o wymogu kompilacji jądra są tylko przykładowe komendy które konfigurują cały mechanizm (HTB), niestety nic nie mogę z nich zrozumieć. I tu znowu pojawi się lista tego czego za bardzo nie rozumiem i co chciałbym żeby mi wytłumaczono:
-> Mógłby mi ktoś logicznie wytłumaczyć zasadę tworzenia kolejek? Najlepiej jak by miał też ten numer NEXTa, jakoś mało logicznie jest to tam wytłumaczone (...)

: 03 marca 2008, 13:10
autor: Rad
PrEZeS pisze:Więc co tam powinno się znajdować??
Pomiń -d (-s też), zostaw samo

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport ssh -j ACCEPT

: 03 marca 2008, 20:35
autor: sappa
-> Mógłby mi ktoś logicznie wytłumaczyć zasadę tworzenia kolejek? Najlepiej jak by miał też ten numer NEXTa, jakoś mało logicznie jest to tam wytłumaczone (...)
Polceam zajrzec TU . Swietny opis.

Urzadzenia IMQ musiosz podnisc zeby sie poajwily, a robisz to poleceniem

Kod: Zaznacz cały

ip link set imqX up
a ruch wychodzacy wrzucasz do IMQ poleceonnkiem

Kod: Zaznacz cały

iptables -t mangle -A POSTROUTING -o interfejs -j IMQ --todev X
Pozdro

: 03 marca 2008, 21:01
autor: PrEZeS
Rad pisze:
PrEZeS pisze:Więc co tam powinno się znajdować??
Pomiń -d (-s też), zostaw samo

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
Dzięki... a mógłby się ktoś ustosunkować do reszty?

: 06 marca 2008, 23:34
autor: bzyk
Nie musisz mieć imq aby korzystać z htb. Właściwie nie musisz nawet rekompilować kernela (wystarczy że zainstalujesz pakiet iproute2), czasy gdy trzeba było rekompilować jajco aby używać htb skończyły się w okolicach 2.4.20 - czyli miliony lat temu :) IMQ służy do podnoszenia wirtualnych interfejsów (takich "rurek"), przez które możesz przepuszczać ruch sieciowy - a na tych interfejsach możesz go sobie dowolnie kształtować. Jeśli chodzi o Twoje regułki iptables.. Ja bym to zrobił inaczej; iptables - port_serwera -j ACCEPT a potem iptables -reszta -j DROP. Pamiętaj że w przypadku iptables (poza łańcuchem mangle - gdzie jest odwrotnie), sprawdzanie pakietu zatrzymuje się na pierwszej działającej regule - czyli pakiety które natrafią na -j ACCEPT nie są już dalej sprawdzane (a więc nie trafią do DROP).