Strona 1 z 1

Połączenia w tablicach: netstat i conntrack

: 12 lutego 2010, 12:55
autor: koralgol
Zainstalowałem Privoxy i napisałem regułkę dla firewalla aby działał jako transparentny proxy:

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8118
Wszystko działa.

Zastanawiają mnie tablice: netstat (serwer) conntrack (serwer) netstat (klient)

Zauważyłem że przy próbie połączenia się z jakąś stroną www na komputerze klienckim tablica netstat dosłownie na ta krótką chwile wczytywania strony pokazuje wpis z aktualnie połączonym serwerem (np google.pl) w stanie ESTABLISHED. Po chwili wczytywania wpis znika. (należy pamiętać że komunikacja odbywa się przez proxy). Idziemy dalej.

W tablicy conntrack (aktualnie routowanych adresów) na sewerze z proxy pojawia się w tym momencie wpis ze stanem połącznia między klientem a serwerem (z proxy) - ESTABLISHED. Po wczytniu strony przechodzi na TIME_WAIT. Idziemy dalej

Kod: Zaznacz cały

debian:~# netstat-nat 
Proto NATed Address                  Destination Address            State 
tcp   192.168.1.101:1333             gateway:www                    TIME_WAIT  
tcp   192.168.1.101:1338             gateway:www                    TIME_WAIT  
tcp   192.168.1.101:1337             gateway:www                    ESTABLISHED
tcp   192.168.1.101:1336             gateway:www                    TIME_WAIT  
tcp   192.168.1.101:1334             gateway:www                    TIME_WAIT  

W tablicy netstat na serwerze pojawia się połączenie między serwerem (proxy) z danym serwerem (np google.pl) które otrzymuje status ESTABLISHED i po jakimś czasie zostaje "ładnie" zamknięte tzn. nie zostaje po nim TIME_WAIT

Dlaczego na tablicy conntrack (po krótkim surfowaniu) pojawia się pełno stanów TIME_WAIT miedzy klientem a serwerem(z proxy)?

Wg mnie wygląda to tak jakby serwere (privoxy) pośredniczący nie zamykał połączeń miedzy przekierowanymi klientami.

Czy ktoś ma podobne doświadczenia np ze squidem?

Dobre narzędzie do sprawdzenia aktualnie routowanych adresów to netstat-nat dostępny w repozytorium Debiana.