Kod: Zaznacz cały
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8118
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.