Ostatnio borykam się z problemem duzej ilosci polaczen z paru komputerow ktore skutecznie zamulaja cala siec. Jak kazdy sie domysla jest to p2p.
Chcialbym ograniczyc ilosc polaczen np do 20 (ewentualnie mniej lub wiecej) z kazdego nr IP wpisanego w maskaradzie, ale nie moge nigdzie znalezc informacji jak tego dokonac. Nie chcem natomiast calkowiecie blokowac p2p.
Ktoś zna strone lub wie jak to zrobic ??
Ograniczenie Ilosci po
Musisz użyć connlimit:
iptables -A FORWARD -p tcp --syn -s $user_ip -m connlimit --connlimit-above $max_connections -j REJECT
Problem jest jeden, jeśli ustawisz ilość połączeń np. na 10 i wykorzysta to użytkownik w p2p i będzie chciał połączyć się z ze stroną www itp to niestety nie uda mu się to. Jest może jeszcze jakieś inne rozwiązanie ale nie bardzo w tym momencie mam pomysł. Może ktoś inny wie jak to rozwiązać lepiej.
pzd
dodi
iptables -A FORWARD -p tcp --syn -s $user_ip -m connlimit --connlimit-above $max_connections -j REJECT
Problem jest jeden, jeśli ustawisz ilość połączeń np. na 10 i wykorzysta to użytkownik w p2p i będzie chciał połączyć się z ze stroną www itp to niestety nie uda mu się to. Jest może jeszcze jakieś inne rozwiązanie ale nie bardzo w tym momencie mam pomysł. Może ktoś inny wie jak to rozwiązać lepiej.
pzd
dodi
Dokładnie o coś takiego mi chodziło. Wystarczy teraz tylko to wpisac. Musze to wpisać w firewallu dla kazdego IP z osobna, czy mogę zamiast pojedyńczego IP podać cala klase np 192.168.34.0 ??
ps. Niestety nie znam sie zabardzo na pisaniu skryptów aby to zautomatyzować.
ps.2. musze to rozpakowac duzy plik ( ok 800 mb) i nie pamietam ktorym parametrem wlacza sie pokazywanie elementow aktualnie dekompresowanych ( wpisuje cos takiego tar -jx nazwa )
ps. Niestety nie znam sie zabardzo na pisaniu skryptów aby to zautomatyzować.
ps.2. musze to rozpakowac duzy plik ( ok 800 mb) i nie pamietam ktorym parametrem wlacza sie pokazywanie elementow aktualnie dekompresowanych ( wpisuje cos takiego tar -jx nazwa )
Powinno działać jeśli wpiszesz adres podsieci. Przetestuj ]ps. Niestety nie znam sie zabardzo na pisaniu skryptów aby to zautomatyzować.[/quote]zebro pisze:Dokładnie o coś takiego mi chodziło. Wystarczy teraz tylko to wpisac. Musze to wpisać w firewallu dla kazdego IP z osobna, czy mogę zamiast pojedyńczego IP podać cala klase np 192.168.34.0 ??
Poprostu zrób sobie plik w /etc/init.d/ dodaj go do rc i uruchom, a on będzie sie odpalał przy każdym starcie systemu.
-jxvf btw man tar ;-)zebro pisze:ps.2. musze to rozpakowac duzy plik ( ok 800 mb) i nie pamietam ktorym parametrem wlacza sie pokazywanie elementow aktualnie dekompresowanych ( wpisuje cos takiego tar -jx nazwa )
pzd
dodi
Wpisalem na cala klase... no i dzialalo... zezwolilo na 20 ale dla calej klasy. Jutro sie zajme wstukiwaniem tego dla wszytkich IP z maskaratdy i powiem jak dziala i czy pomoglo w ograniczeniu p2p.
Jak mozna sprawdzic ile jest polaczen z danego IP???
Zastanowilo mnie jedno.. czy ta regolka zezwalala na "X" polączeń ale w strone do Inetu, a w strone z Inetu do LANa nie ograniczala?
ps. Jest moze na jakiejs stronie wersja polska MAN'a do IPtables?
Jak mozna sprawdzic ile jest polaczen z danego IP???
Zastanowilo mnie jedno.. czy ta regolka zezwalala na "X" polączeń ale w strone do Inetu, a w strone z Inetu do LANa nie ograniczala?
ps. Jest moze na jakiejs stronie wersja polska MAN'a do IPtables?
Do sprawdzania ilosci polaczen masz skrypcik
connlimit nie dziala na UDP, proponuje poczytac o limit-burst
Kod: Zaznacz cały
#!/bin/bash
echo "Statystyki polaczen z NAT:"
IP=$(arp -n | grep C | grep -v eth0 | awk '{ print $1 }')
SUM=0
for I in $IP
do
COUNT=$(grep $I /proc/net/ip_conntrack | wc -l)
if [ "$COUNT" -gt 0 ]
then
echo -e "$I\tilosc polaczen: $COUNT"
SUM=$(($SUM+$COUNT))
fi
done
echo "W sumie $SUM polaczen"
exit 0