Kształtowanie wychodzącego ruchu IP klienta za pomocą tc/iptables
Moje pytanie: próbuję ograniczyć przepustowość użytkowników na serwerze i zastanawiam się, jak to zrobić. Zanim zagłębiłem się w tc/iptables, zastanawiałem się, czy mógłbym uzyskać jakąś radę na ten temat i czy ktoś mógłby mi dać przykładową konfigurację, z którą mógłbym się bawić, byłoby to bardzo mile widziane.
O ile rozumiem, możesz tworzyć reguły za pomocą tc, a następnie stosować je w iptables, używając instrukcji mark. Niektórzy ludzie mówią, że używają wyjścia po routingu lub mangle, ale nie są w 100% pewni, co jest lepsze lub czy w ogóle ma to znaczenie. Przypuszczam, że z tc będę używał htb (zasobnik tokenów do ograniczania przepustowości), jednak ludzie mówią, że istnieje kompromis między wydajnością, a ja szukam metody najmniejszego opóźnienia. Ci użytkownicy nie znajdują się w sieci wewnętrznej, ale łączą się z serwerem.
Mam dwa typy użytkowników, więc potrzebujesz tylko dwóch reguł, aby ich ograniczyć. Jak dotąd widzę kombinację tc/iptables, którą chcę, ale jestem otwarty na sugestie dotyczące alternatyw.
Myślę, że dla iptables polecenie będzie wyglądać tak
Reguła ograniczenia przepustowości 1
iptables -A PREROUTING -s xxx.xxx.xxx.xxx -t mangle -j MARK --set-mark 0x1
Reguła ograniczenia przepustowości 2
iptables -A PREROUTING -s xxx.xxx.xxx.xxx -t mangle -j MARK --set-mark 0x2
Co chcę, żeby się stało
- Użytkownik przechodzi do eth0 (jego adres IP będzie znany. Nie losowy adres IP)
- żąda informacji od serwera
- serwer wysyła informację eth0 z powrotem do użytkownika z zastosowaną regułą
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
LARTC
http://www.lartc.org/howto/lartc.qdisc.html... Przede wszystkim musisz zrozumieć, jaki rodzaj ruchu będziesz generować - wychodzący czy przychodzący. Następnie należy wybrać odpowiedni interfejs (łatwiej jest kształtować ruch przychodzący na interfejsie wychodzącym na podstawie adresów źródłowych przed NAT, a ruch wychodzący na interfejsie lokalnym na podstawie adresu docelowego po NAT). Mogą również nie istnieć reguły iptables, na przykład jeśli używasz różnych interfejsów (mogą istnieć interfejsy VLAN) dla dwóch typów użytkowników. Następnie musisz skonfigurować kolejki na wybranych interfejsach. może być bezklasowy, jeśli twoi użytkownicy są oddzieleni interfejsami, lub bezklasowy, jeśli używasz jednego interfejsu do kształtowania przepustowości dla wielu typów użytkowników. A potem musisz skonfigurować filtr (jeśli używasz fajnego schematu). Poniżej znajduje się wiele przykładów. Powodzenia ...