[+] blokowanie UDP o zadanej wielkości
: 05 września 2011, 16:30
Witam wszystkich.
Ostatnio w sieci pojawił mi się problem z pakietami udp, mimo że mam załączoną opcję przed fragmentacją pakietów, to nie pomaga i w przeciągu kilku minut, jak zaczynają się pojawiać duże pakiety udp (30000), zaczyna brakować RAM-u i ruter umiera i trzeba go restartować z palca.
W ruterze mam 8G RAM DDR3 i Intel(R) Core(TM) i3 CPU.
Po długim szukaniu z pomocą Google znalazłem, iż jest moduł do wielkości pakietów (-m length), przy pomocy iptables chciałem ustawić im opcję ,,drop'' ale nie do końca coś działa dobrze, jak robię to w ten sposób:
jakimś cudem blokuje mi CENTREONA (nagios przez SNMP), a mimo tego nie robi tego co bym chciał, czuli odrzucać coś co jest większe niż (zadana wartość).
Ewentualnie wolałbym stworzyć sobie jakiś własny łańcuch tam ewentualnie z opcją ,,drop'' zalogować te pakiety. Zastanawiałem się także nad blokowaniem tych dziwnych udp w tabeli nat i w łańcuchu PREROUTING ale coś nie działa iptables, wyrzuca błąd iż nie można użyć opcji DROP w tym łańcuchu.
Ruter działa pod Linuksem:
Za wszelką pomoc z góry dziękuję.
Ostatnio w sieci pojawił mi się problem z pakietami udp, mimo że mam załączoną opcję przed fragmentacją pakietów, to nie pomaga i w przeciągu kilku minut, jak zaczynają się pojawiać duże pakiety udp (30000), zaczyna brakować RAM-u i ruter umiera i trzeba go restartować z palca.
W ruterze mam 8G RAM DDR3 i Intel(R) Core(TM) i3 CPU.
Kod: Zaznacz cały
# wlaczamy zabezpieczenie przed defragmentacja pakietow
if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
fi
Kod: Zaznacz cały
iptables -A INPUT -p udp -i eth0 -m length --length 3000: -j DROP
iptables -A INPUT -p udp -o < dla każdego eth, klienci > -m length --length 3000: -j DROP
Ewentualnie wolałbym stworzyć sobie jakiś własny łańcuch tam ewentualnie z opcją ,,drop'' zalogować te pakiety. Zastanawiałem się także nad blokowaniem tych dziwnych udp w tabeli nat i w łańcuchu PREROUTING ale coś nie działa iptables, wyrzuca błąd iż nie można użyć opcji DROP w tym łańcuchu.
Ruter działa pod Linuksem:
Kod: Zaznacz cały
rtr-ubuntu:# iptables -V
iptables v1.4.4
rtr-ubuntu:# lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 10.04.2 LTS
Release: 10.04
Codename: lucid
rtr-ubuntu:# uname -r -m -v
2.6.32.21+drm33.7imq #1 SMP Wed Nov 17 20:30:20 CET 2010 x86_64