[squid] transparante proxy op andere server

Pagina: 1
Acties:

  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 09:26
Hoi Allen,

Deze week ben ik thuis begonnen met het installeren van mijn nieuwe server. Deze gaat mijn huidige @home verbinding verwerken en data opslaan ed. Nu ben ik dit stap voor stap aan het uitvoeren. Squid is nu aan de beurt en heb deze inmiddels geinstalleerd en geconfigureerd. Om deze te testen heb ik de howto TransparentProxy doorgelezen en de volgende iptables regels uitgevoerd op mijn huidige server.
code:
1
2
3
4
5
6
7
8
9
aangepaste versie aan mijn situatie:
iptables -t nat -A PREROUTING -i eth1 -s ! 192.168.1.198 -p tcp --dport 80 -j DNAT --to 192.168.1.198 :3128 
iptables -t nat -A POSTROUTING -o eth1 -s 255.255.255.0/24 -d 192.168.1.198  -j SNAT --to 192.168.1.1 
iptables -A FORWARD -s 255.255.255.0/24 -d 192.168.1.198  -i eth1 -o eth1 -p tcp --dport 3128 -j ACCEPT

Versie zoals hij in de howto staat:
iptables -t nat -A PREROUTING -i eth0 -s ! squid-box -p tcp --dport 80 -j DNAT --to squid-box:3128 
iptables -t nat -A POSTROUTING -o eth0 -s local-network -d squid-box -j SNAT --to iptables-box 
iptables -A FORWARD -s local-network -d squid-box -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT

Helaas krijg ik het niet aan de gang. Waarschijnlijk doe ik iets fout, maar ik weet niet wat.

even snel een situatie schets:
Situatie origineel:
code:
1
Internet lijn <-> Server met squid <-> werkstation


Situatie nu ter test:
code:
1
2
Internet lijn <-> server <-> werkstation
                         <-> server met squid

  • TAMW
  • Registratie: Augustus 2000
  • Laatst online: 09-02 12:13
Squid werkt "los" wel?

post je squid.conf eens.

[ Voor 52% gewijzigd door TAMW op 19-08-2004 09:37 ]


  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 09:26
Hoe bedoel je? Hij start op, maar ik weet niet of hij echt werkt. Daarom ben ik hem aan het testen ;)

  • TAMW
  • Registratie: Augustus 2000
  • Laatst online: 09-02 12:13
Als je hem in je browser als proxy insteld kun je de surfen?

Verwijderd

TAMW schreef op 19 augustus 2004 @ 09:39:
Als je hem in je browser als proxy insteld kun je de surfen?
En die server die aan het internet hangt, daar staat NAT natuurlijk uit. Anders hink je op 2 gedachten. Als je squid gebruikt, dan wil je (dus) niet dat het werkstation een directe vebinding naar het internet heeft.

  • TAMW
  • Registratie: Augustus 2000
  • Laatst online: 09-02 12:13
Verwijderd schreef op 19 augustus 2004 @ 09:42:
[...]

En die server die aan het internet hangt, daar staat NAT natuurlijk uit. Anders hink je op 2 gedachten. Als je squid gebruikt, dan wil je (dus) niet dat het werkstation een directe vebinding naar het internet heeft.
:? :? :? mijn post ging over het testen of squid werkt, niet over de situatie zoals het moet worden.

  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 09:26
TAMW schreef op 19 augustus 2004 @ 09:39:
Als je hem in je browser als proxy insteld kun je de surfen?
Nope. heb ik gisteren ook al geprobeerd.

  • TAMW
  • Registratie: Augustus 2000
  • Laatst online: 09-02 12:13
Ga dat eerst maar eens fixen, jij gaat al naar stap 2 terwijl de basis nog niet eens werkt.


Start squid zo maar eens: squid -NCd1 en post de output maar.

[ Voor 27% gewijzigd door TAMW op 19-08-2004 10:10 ]


  • LeX-333
  • Registratie: Maart 2004
  • Laatst online: 21-11-2016
Zelf gebruik ik ook een transparante proxy, voornamelijk voor de cache en het blokkeren van banners. Natuurlijk gebruik ik ook NAT om andere dingen te kunnen doen (ftp, https, ssh, etc.) die ik niet via de proxy wil hebben.

Dit heb ik als volgt geconfigureerd:
1. Een standaard squid configuratie op poort 8080;
2. Een IPTABLES regel voor het redirecten van alle verkeer op poort 80 naar poort 8081 op de server;
3. De transproxy daemon die alle HTTP requests op poort 8081 vertaald naar proxy requests op poort 8080.

Het bovenstaande werkt prima met Debian 3.0 stable.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Address ranges
INTERNAL=10.0.0.0/16
INTERNAL_A=10.0.0.0/24
INTERNAL_B=10.0.1.0/24
EXTERNAL=0.0.0.0/0

# Interfaces
ETHLOOP=lo
ETHEXT_A=extA
ETHEXT_B=extB
ETHINT_A=intA

# IP addresses
IPINT_A=`ifconfig $ETHINT_A | grep 'inet addr' | awk '{print $2}' | sed 's/.*://'`
IPEXT_A=`ifconfig $ETHEXT_A | grep 'inet addr' | awk '{print $2}' | sed 's/.*://'`
IPEXT_B=`ifconfig $ETHEXT_B | grep 'inet addr' | awk '{print $2}' | sed 's/.*://'`

~KNIP Hier zit code om NAT enzo in te stellen KNIP~

# Transparent proxy
iptables -t nat -A PREROUTING -p tcp -s $INTERNAL -d $EXTERNAL --dport 80 -j DNAT --to $IPINT_A:8081

Als de TS hier behoefte aan heeft kan ik eventueel de hele file posten.

Too many people, making too many problems


  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 09:26
LeX-333 schreef op 19 augustus 2004 @ 10:38:
code:
1
2
# Transparent proxy
iptables -t nat -A PREROUTING -p tcp -s $INTERNAL -d $EXTERNAL --dport 80 -j DNAT --to $IPINT_A:8081

Als de TS hier behoefte aan heeft kan ik eventueel de hele file posten.
Je hoeft niet het geheel te posten, maar in die laatste regel zie ik geen referrentie naar een "externe" squid proxy, klopt dat?
TAMW schreef op 19 augustus 2004 @ 10:04:
Ga dat eerst maar eens fixen, jij gaat al naar stap 2 terwijl de basis nog niet eens werkt.
Start squid zo maar eens: squid -NCd1 en post de output maar.
Hij werkte niet.... dank je. Als ik squid via /etc/init.d/squid restart deed stopte hij keurig en startte hij ook weer keurig, zonder foutmelding. Het bleek dat de log directory niet schrijfbaar was en ik had de hostname verkeerd vermeld staan in de config file. THX

[ Voor 41% gewijzigd door ge-flopt op 19-08-2004 20:33 . Reden: even wat opgeruimd ]


  • LeX-333
  • Registratie: Maart 2004
  • Laatst online: 21-11-2016
Die regel doet het volgende:
-> iptables -t nat -A PREROUTING -p tcp
Alle TCP verkeer voordat het gerouteerd wordt

-> -s $INTERNAL
Vanaf 10.0.0.0/16 adressen (het interne netwerk)

-> -d $EXTERNAL
Naar het internet

-> --dport 80
Op poort 80 (HTTP)

-> -j DNAT --to $IPINT_A:8081
Wordt doorgestuurd naar het interne ip adres (10.0.0.240 in dit geval) op poort 8081

Op poort 8081 luistert een daemon (transproxy) die de HTTP requests vertaald naar proxy requests en stuurt die naar poort 8080.

Het klopt dus dat hier de squid proxy niet voorkomt, die wordt namelijk indirect aangestuurd via de transproxy daemon.

Too many people, making too many problems


  • SambalBij
  • Registratie: September 2000
  • Laatst online: 17-02 18:04

SambalBij

We're all MAD here

Zo te zien klopt in ieder geval die tweede iptables regel niet.
In het voorbeeldscriptje zorgt die regel ervoor dat van het verkeer wat terug naar binnen naar de proxy wordt gebounced het source adres wordt veranderd in dat van de iptables box.
In jouw voorbeeld zal ie dat alleen doen voor adressen in de reeks 255.255.255.0 tot 255.255.255.255.

Verander de regel
code:
1
iptables -t nat -A POSTROUTING -o eth1 -s 255.255.255.0/24 -d 192.168.1.198  -j SNAT --to 192.168.1.1

eens in
code:
1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -d 192.168.1.198  -j SNAT --to 192.168.1.1


Houd er wel rekening mee dat als je squid als transparante proxy wil inzetten, en ook wat aan de config van squid moet veranderen. Ik weet niet uit m'n hoofd wat precies, maar dat moet ook wel in de howto's staan.

[ Voor 15% gewijzigd door SambalBij op 20-08-2004 10:12 ]

Sometimes you just have to sit back, relax, and let the train wreck itself

Pagina: 1