Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Zainstalowałem Privoxy i napisałem regułkę dla firewalla aby działał jako transparentny proxy:
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
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.
Ostatnio edytowany przez koralgolek (2010-02-13 16:16:50)
Offline
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00006 | SET NAMES latin2 |
0.00090 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.133.146.94' WHERE u.id=1 |
0.00062 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.133.146.94', 1732965492) |
0.00058 | SELECT * FROM punbb_online WHERE logged<1732965192 |
0.00094 | DELETE FROM punbb_online WHERE ident='3.145.95.233' |
0.00085 | DELETE FROM punbb_online WHERE ident='85.208.96.201' |
0.00048 | SELECT topic_id FROM punbb_posts WHERE id=140316 |
0.00086 | SELECT id FROM punbb_posts WHERE topic_id=16103 ORDER BY posted |
0.00095 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=16103 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00075 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=16103 ORDER BY p.id LIMIT 0,25 |
0.00077 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=16103 |
Total query time: 0.00796 s |