Jacek Bukowski

Jacek Bukowski Network
Administrator, VMG
Print Sp z o.o.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Hej mam problem ze squidem.
Postawiłem go na oddzielnej maszynie której nadałem adres 192.168.1.50
Squid nasłuchuje na porcie numer 3128

Na routerze zapodałem takie 3 reguły:
Kod:

iptables -t nat -A PREROUTING -i eth1 -s ! 192.168.1.50 -p tcp --dport 80 -j DNAT --to 192.168.1.50:3128
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -d 192.168.1.50 -j SNAT --to 192.168.1.1
iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.1.50 -i eth1 -o eth1 -p tcp --dport 3128 -j ACCEPT

I wszystko działa tylko że w access.log nie zapisuje adresów konkretnych komputerów źródłowych tylko routera

1269968832.589 1 192.168.1.1 TCP_DENIED/403 1392 GET http://google.pl/ - NONE/- text/html
1269968832.653 3 192.168.1.1 TCP_DENIED/403 1414 GET http://google.pl/favicon.ico - NONE/- text/html
1269968834.515 0 192.168.1.1 TCP_DENIED/403 1470 GET http://fabrykamuzy.pl/content/xml/streams/stream108.xm... - NONE/- text/html
1269968835.616 1 192.168.1.1 TCP_DENIED/403 1414 GET http://google.pl/favicon.ico - NONE/- text/html
1269968837.722 0 192.168.1.1 TCP_DENIED/403 1464 GET http://talkgadget.google.com/talkgadget/channel/tes … mp;clid=ACACB
1269968837.734 0 192.168.1.1 TCP_DENIED/403 1410 GET http://www.google.com/url?zx=7izcci-s5k250&q=ht … Fcleardot.gif -
1269968840.548 0 192.168.1.1 TCP_DENIED/403 1512 GET http://client-software.real.com/free/windows/instal … de/master.xml - NONE/- text/html
1269968842.455 0 192.168.1.1 TCP_DENIED/403 1556 GET
Obrazek
/i …

Klękam przed Wami i proszę o pomoc.. podejrzewam, że problem jest w przekierowaniu ruchu z bramy na squida.. Jak można zachować faktyczny adres źródłowy a nie ten bramow'y?
Natknąłem się na takie przekierowywanie ruchu..
iptables -t mangle -A FORWARD -p tcp --dport 80 \
-s ! 192.168.1.128 -j ROUTE --gw 192.168.1.128
oraz powrót po stronie squida
iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8081

tyle, że w tym celu wymagana jest łata na jajku dodająca ROUTE do iptables, a z racji vyatty na routerze wolałbym tego uniknąć..Jacek Bukowski edytował(a) ten post dnia 31.03.10 o godzinie 00:19

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Tą regułką iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -d 192.168.1.50 -j SNAT --to 192.168.1.1
Maskujesz wszystkie pakiety z 192.168.1.0/24 na 192.168.1.1 dlatego squid tak je widzi.
Sama pierwsza regułka (z DNAT) wystarczy do kierowania ruchu na squida.
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

na routerze:

#!/bin/sh
IPT="/sbin/iptables"
SQUID_SERVER="192.168.1.50"
WAN_IP="1.1.1.1"
LAN_NET="192.168.1.0/24"
LAN_IN="eth1"
WAN_IN="eth0"

# przekierowanie zapytań WWW do squid

$IPT -i $LAN_IN -A PREROUTING -t mangle -s $LAN_NET -p tcp --dport 80 -j MARK --set-mark 3

ip rule add fwmark 3 table 2
ip route add $LAN_NET dev $LAN_IN table 2
ip route add default via $SQUID_SERVER dev $LAN_IN table 2
ip route flush cache
###
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects

# ustawiamy NAT
$IPT -o $WAN_IN -t nat -A POSTROUTING -s $LAN_NET -j SNAT --to $WAN_IP


na squid:

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Michał Panasiewicz edytował(a) ten post dnia 31.03.10 o godzinie 13:05

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Uhm, czy to nie jest czołg na muchę ?
Przecież samo
iptables -t nat -A PREROUTING -i eth1 -p tcp -s ! 192.168.1.50 --dport 80 -j DNAT --to-destination 192.168.1.50:3128
wystarcza ;)Oskar Wyciślak edytował(a) ten post dnia 31.03.10 o godzinie 14:37
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Czasami są problemy z takim jak twoje przekierowaniem, metoda z ip route jest lepsza (z pierwszą metodą są problemy, z drugą chodzi przezroczyście na kilku instalacjach bez problemów).

http://tldp.org/HOWTO/TransparentProxy-6.htmlMichał Panasiewicz edytował(a) ten post dnia 31.03.10 o godzinie 15:37

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Michał Panasiewicz:
Czasami są problemy z takim jak twoje przekierowaniem, metoda z ip route jest lepsza (z pierwszą metodą są problemy, z drugą chodzi przezroczyście na kilku instalacjach bez problemów).

http://tldp.org/HOWTO/TransparentProxy-6.htmlMichał Panasiewicz edytował(a) ten post dnia 31.03.10 o godzinie 15:37
Pierwsza metoda rzeczywiście powodowała jakieś ezoteryczne przypadki 'nie działania' druga niestety kłóciła się z moim markowaniem pakietów dla IMQ/layer7.
Pozostawiłem metodę nr.1, bez oczywiście SNAT.
Bartłomiej Tabak

Bartłomiej Tabak Administrator,
Specjalista,
Freelancer

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Panowie, a na ile komputerów i jakie łącze ten squid ?? Przecież to niczego tak naprawdę nie poprawia. Vyatta dobrze radzi sobie z routingiem itd. ale osobiście uważam ze squid w sieci to przesada, chyba że łącza brakuje.
Jacek Bukowski

Jacek Bukowski Network
Administrator, VMG
Print Sp z o.o.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Oskar Wyciślak:
Uhm, czy to nie jest czołg na muchę ?
Przecież samo
iptables -t nat -A PREROUTING -i eth1 -p tcp -s ! 192.168.1.50 --dport 80 -j DNAT --to-destination 192.168.1.50:3128
wystarcza ;)

Przy samym tym.. net'u nie ma :>

Bartłomiej Tabak:
Panowie, a na ile komputerów i jakie łącze ten squid ?? Przecież to niczego tak naprawdę nie poprawia. Vyatta dobrze radzi sobie z routingiem itd. ale osobiście uważam ze squid w sieci to przesada, chyba że łącza brakuje.

Squid nie ma za zadanie robic cache tylko proxy ruchu sieciowego..
Analizy logów access.log dają nam pełen pogląd na aktywność userów przepuszczonych przez squida...Jacek Bukowski edytował(a) ten post dnia 31.03.10 o godzinie 22:03
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

dodatkowo pozwala na wiele dodatkowej funkcjonalności, jak na przykład powiadomienia dla userów, sama oszczędność łącza to często margines zastosowań proxy.

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Michał Panasiewicz:
dodatkowo pozwala na wiele dodatkowej funkcjonalności, jak na przykład powiadomienia dla userów, sama oszczędność łącza to często margines zastosowań proxy.
Od 6% do 22% ;) Przynajmniej u mnie oszczędność łącza.
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Marcin Bojko:
Michał Panasiewicz:
dodatkowo pozwala na wiele dodatkowej funkcjonalności, jak na przykład powiadomienia dla userów, sama oszczędność łącza to często margines zastosowań proxy.
Od 6% do 22% ;) Przynajmniej u mnie oszczędność łącza.

Kwestia ile % przepustowości z posiadanej całkowitej przepustowości łącza, nie transferu.

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Bartłomiej Tabak:
Panowie, a na ile komputerów i jakie łącze ten squid ?? Przecież to niczego tak naprawdę nie poprawia. Vyatta dobrze radzi sobie z routingiem itd. ale osobiście uważam ze squid w sieci to przesada, chyba że łącza brakuje.

Zasob serwowany z lokalnego proksy dotrze do klienta szybciej niz serwowany ze zrodla. Przy skomplikowanych dokumentach zaczyna to miec znaczenie, szczegolnie jesli siec wewnetrzna jest duzo szybsza niz lacze do swiata; w koncu kazdy GET to osobna transakcja/polaczenie.

Najlepszym podejsciem jest stworzenie profilu swojej sieci - zobaczenie jak wyglada ruch i pobierane zasoby. Jesli np. 50% ruchu odbywa sie do tego samego zasobu (jakies NK, mordoksiazki itd. ;)) i zasob ten jest zlozony glownie z elementow statycznych, proksy jest bardzo dobrym rozwiazaniem.

Pomijam juz rzeczy zwiazane z kontrola dostepu i szerzej pojetym bezpieczenstwem.

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Michał Panasiewicz:
Marcin Bojko:
Michał Panasiewicz:
dodatkowo pozwala na wiele dodatkowej funkcjonalności, jak na przykład powiadomienia dla userów, sama oszczędność łącza to często margines zastosowań proxy.
Od 6% do 22% ;) Przynajmniej u mnie oszczędność łącza.

Kwestia ile % przepustowości z posiadanej całkowitej przepustowości łącza, nie transferu.
Wysycenie rzadko spada mi poniżej 95%, zawsze jest jakiś jeleń-ssacz, nawet w nocy ;)
Jarosław Rafa

Jarosław Rafa senior software
engineer, Motorola
Solutions Systems
Polska

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Łukasz S.:

zobaczenie jak wyglada ruch i pobierane zasoby. Jesli np. 50% ruchu odbywa sie do tego samego zasobu (jakies NK, mordoksiazki itd. ;)) i zasob ten jest zlozony glownie z elementow statycznych, proksy jest bardzo dobrym rozwiazaniem.

Serwisy typu NK czy mordoksiążka rzadko bywają statyczne.
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Marcin Bojko:
...

Kwestia ile % przepustowości z posiadanej całkowitej przepustowości łącza, nie transferu.
Wysycenie rzadko spada mi poniżej 95%, zawsze jest jakiś jeleń-ssacz, nawet w nocy ;)

czas na nowe łącze ;)

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

I co, myślisz że ssacze zginą ? ;)
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Marcin Bojko:
I co, myślisz że ssacze zginą ? ;)
przyciąć ich :), zawsze 20% userów wykorzystuje 80% łącza
Przeważnie 5% przegina (jeśli ma możliwość).
Poza tym przeważnie ssacze to p2p albo serwisy typu rapidshare.

(squid pozwala bardzo ładnie ograniczyć pobieranie (transfer) przez http)Michał Panasiewicz edytował(a) ten post dnia 02.04.10 o godzinie 18:12

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Oczywiście że są przycinani, oczywiście że jest layer7,IMQ i tym podobne rzeczy. CO zupełnie nie zmienia podejścia - płacę za 2MBit to mam mieć 2 MBit ;)
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Marcin Bojko:
Oczywiście że są przycinani, oczywiście że jest layer7,IMQ i tym podobne rzeczy. CO zupełnie nie zmienia podejścia - płacę za 2MBit to mam mieć 2 MBit ;)
zgadza się :)

konto usunięte

Temat: Squid - adres źródłowy przy zewnętrznym proxy

Serwisy typu NK czy mordoksiążka rzadko bywają statyczne.

Tresc tak, natomiast elementy skladowe wrecz przeciwnie.

Następna dyskusja:

squid, transparent proxy, m...




Wyślij zaproszenie do