Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Zagubione pakiety.
http://forum.freesco.pl/viewtopic.php?f=22&t=10275
Strona 1 z 1

Autor:  Luc3k [ wtorek, 13 grudnia 2005, 22:45 ]
Tytuł:  Zagubione pakiety.

Postaram sie zobrazowac sytuacje, ktora nurtuje mnie od pewnego czasu. Otoz: zaczne od poczatku... posiadam mrtg, ktore zlicza mi ilosc obecnie korzystajacych z Internetu uzytkownikow na podstawie "niceshaper stats". Pojawila sie pewna niescislosc, mianowicie przyuwazylem, ze nawet po calkowitym wylaczeniu mojego komputera niceshaper stats wykazuje, iz jestem aktywny, malo tego pokazuje minimalny ruch w granicach 0,2 - 0,7. Jak nie trudno sie domyslec, przy obecnej sytuacji wykaz z mrtg nie jest dokladny. Zapytacie pewnie co jest tego przyczyna? Posiadam na serwerze przekierowanie na port 6881-6882 (Torrent). Stad bierze sie ten niepotrzebny ruch w sieci. W momecie kiedy wylaczam kompa przychodza odwolania na moj serwer, ktore przekazuje je na moje IP. Pakiety wracaja z flaga unreplied itp, co generuje niepotrzebny ruch w sieci, a nie tylko ja uzywam torrenta. Nie byloby problemu, gdyby te polaczenia zanikaly po jakiejs chwili, niestety potrafia tak krazyc nawet przez cala noc.
Czy ktos ma jakis pomysl jak nad tym zapanowac?

: [/] [] ()
echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout
echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_icmp_timeout
echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close
echo 20 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
echo 320 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo 20 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait
echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_last_ack


To tez juz u mnie dziala, niemniej jednak chyba nie spelnia sie w 100%.

Autor:  zciech [ środa, 14 grudnia 2005, 00:39 ]
Tytuł: 

POwiedz co serwer obchodzi, ze masz wylaczonego kompa?

Luzie ze swiata przysylaja ci pakiety dla twojego torrenta na port 6881 serwera i co serwer robi, przesyla zgodnie z przekierowaniem na adres twojego komputera i mrtg zlicza, dopiero jak eth1 stwierdzi ze nie ma takiego adresu w sieci to pakiety trafiaja dio krainy wiecznych lowow

A tak, miedzy nami to nie masz wiekszych problemów :?:

Autor:  Luc3k [ środa, 14 grudnia 2005, 17:54 ]
Tytuł: 

No trafiaja do krainy wiecznych lowow, ale mrtg na tej podstawie robi zle wykresy.

Autor:  hx [ środa, 14 grudnia 2005, 17:58 ]
Tytuł: 

a kto ci obiecał że mrtg liczy prawidłowo userów na podstawie niceshapera ??

Autor:  Luc3k [ środa, 14 grudnia 2005, 17:59 ]
Tytuł: 

Nikt mi nie obiecal, taki mam poprostu skrypt i zlicza dobrze, gdyby nie powyzsza sytuacja.

Autor:  hx [ środa, 14 grudnia 2005, 18:02 ]
Tytuł: 

to zmień na taki :
Cytuj:
#!/bin/sh
x=0
#jakie IP .. ja mam od 2-13
for (( ip=2 ; ip<=13 ; ip++ ))
do
hosty=`arping -f -w 2 -I eth1 192.168.0.$ip | grep "Unicast" | awk '{print $1}'`
if [ $hosty ]
then
let x+=1
fi
done

echo $x
hosty=`cat /etc/hosts | grep -v "^#" | grep [0123456789] | wc -l `
let hosty-=2
echo $hosty
uptime | sed -e 's/^.*up *//g' -e 's/, *[0-9] *u.*$//g'
hostname

Autor:  Luc3k [ środa, 14 grudnia 2005, 18:24 ]
Tytuł: 

Dziekuje, zaraz sprawdze co z tego wyniknie.

Autor:  Luc3k [ piątek, 16 grudnia 2005, 09:25 ]
Tytuł: 

Skrypt niezly, nie powiem, troszke go przerobilem na swoje potrzeby:
: [/] [] ()
#!/bin/sh
hosty_nieaktywne=11
hosty_aktywne=0

for (( ip=2 ; ip<=48 ; ip++ ))
do
hosty=`arping -f -w 2 -I eth1 192.168.14.$ip | grep "Unicast" | awk '{print $1}'`
if [ $hosty ]
then
let hosty_aktywne+=1
fi
done

echo $hosty_aktywne
echo $hosty_nieaktywne
uptime | sed -e 's/^.*up *//g' -e 's/, *[0-9] *u.*$//g'
hostname

Ma niestety jedna wade, mianowicie, kiedy petla przechodzi poprzez kolejne adresy IP zajmuje jej to sporo czasu, okolo 2 min. Czy daloby sie ja ograniczyc tylko do wybranych IP? Nie do zakresu, ale do wybranych ip. Zapytacie dlaczego akurat tak? Otoz moj zakres to 2 - 48, z czego wiekszosc adresow z tego zakresu jest nie uzywana, poniewaz moja adresacja jest oparta o numery mieszkan uzytkownikow. Gdyby ilosc komputerow sie powiekszyla, wzrosnolby zakres do powiedzmy 2 - 200 to moze byc problem, poniewaz skrypt moze sie wykonywac dluzsza chwile.

PS. dla zakresu 2 - 100 skrypt wykonuje sie 4 min 52 sec. :-)

Autor:  tasiorek [ piątek, 16 grudnia 2005, 12:00 ]
Tytuł: 

Nie wiem, czy elegancko, ale powinno byc skutecznie ;)
: [/] [] ()
for (( ip=2 ; ip<=48 ; ip++ ))

zamien na
: [/] [] ()
for ip in 1 2 5 19 36 41

Autor:  agbis [ piątek, 16 grudnia 2005, 14:15 ]
Tytuł: 

Napisałem kiedyś skrypcik, który odpytywał mi hosty w sieci (głównie accesspointy) trochę inną metodą. Wykorzystywał nmap'a i pinga. Po przeróbce na arping'a wygląda on tak:
: [/] [] ()
#!/bin/sh

HOSTS_FILE="./hosts.conf"
hosty_aktywne=0
hosty_nieaktywne=0
IFACE=$1
# jesli w wywolaniu nie podano interfejsu przyjmuje, ze chodzi o eth1
if [ "$1" = "" ];
  then IFACE="eth1"
  else IFACE=$1
fi

echo "Pobieram liste hostow z pliku $HOSTS_FILE"
while read linia; do
  #wyeliminowanie linii bedacych komentarzem
  CFG_LINE="`echo $linia | grep -vE '^[[:space:]]*(#|$)'`"
  if [ "$CFG_LINE" != "" ]; then
    ip="`echo $CFG_LINE | cut -d' ' -f1`"
    opis="`echo $CFG_LINE | cut -d' ' -f2`"
    hosty=`arping -f -w 2 -I $IFACE $ip | grep "Unicast" | awk '{print $1}'`
    if [ $hosty ]; then
      echo -e "[\33[1;32m  UP  \33[1;37m]" $ip $opis
      let hosty_aktywne+=1
    else
      echo -e "[\33[1;31m DOWN \33[1;37m]" $ip $opis
      let hosty_nieaktywne+=1
    fi
  fi
done < $HOSTS_FILE

echo Aktywne: $hosty_aktywne
echo Nieaktywne: $hosty_nieaktywne
uptime | sed -e 's/^.*up *//g' -e 's/, *[0-9] *u.*$//g'
hostname


plik konfiguracyjny 'hosts.conf' wygląda mniejwięcej tak:

: [/] [] ()
10.2.2.12       Jasiek
10.2.2.22       Felek
10.2.2.24       Franek

Format podobny do /etc/hosts więc jak ktoś chce, można sobie go podpiąć do skryptu.

//EDIT: Dodałem kolorki w skrypcie

Autor:  Luc3k [ piątek, 16 grudnia 2005, 20:52 ]
Tytuł: 

Oooo, rewelacyjny jest ten skrypt, o to mi wlasnie chodzilo. Bardzo dziekuje!

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/