Outils pour utilisateurs

Outils du site


reseaux_squid

Ceci est une ancienne révision du document !


Squid

Configurer en proxy transparent

On a le reseau suivant:

192.168.0.0/24 : le reseau local 192.168.0.254 : la gateway vers le net 192.168.0.62 : le poste client qui doit passer par le proxy 192.168.0.50 : la gateway du client proxy 192.168.0.53 : le proxy est là

Sur le client proxy:

Faire en sorte que sa gateway soit 192.168.0.50. Exemple: route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.50

Ainsi, tout ce qui n'est pas connu du client, utilise la route vers 192.168.0.50.

Sur la (pseudo) gateway

Appliquer des regles de routages par marquage des paquets.

 # echo 200 proxy >> /etc/iproute2/rt_tables

(Nommer la table numéro 200 proxy)

 # ip rule add fwmark 0x41 table proxy

(Si le paquet est marqué '0x41' regarder dans la table nommé proxy)

 # ip rule ls
 0:      from all lookup local
 32765:  from all fwmark 0x41 lookup proxy
 32766:  from all lookup main
 32767:  from all lookup default
 # ip route add default via 192.168.0.53 dev eth0 table proxy
 # ip route flush cache

(La table proxy attribue un routage par defaut (a priori different de celui de l'hote bien sur))

Toutes les instructions ip ci-dessus doivent être regenérer a chaque reboot (c'est a injecter dans un script if-up…). Il faut attribuer mark en fonction des numéros possiblements deja attribué pour le QoS par exemple…

IPTABLES

Ajouter le marquage des paquets dans IPTABLES:

 /sbin/iptables -t mangle -A PREROUTING -i eth0 -p tcp -s 192.168.0.62 --dport www -j MARK --set-mark 0x41

Et c'est tout… Le marquage fait, le routage est fait sans plus passer dans aucune table… etrange d'ailleurs, j'ai du me tromper quelque part…)

Sur la machine hébergeant le proxy

Dans /etc/squid/squid.conf version 2.6 ou + (important)

 ...
 http_port 3128 transparent
 ...
 #http_access allow localhost
 #http_access allow all
 acl our_network src 192.168.0.62
 http_access allow our_network
 ...

Evidement, ca pourrait être une classe d'IP: 192.168.0.0/24 par exemple

Au niveau d'IPTABLES:

 /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.0.0/24 -d ! 192.168.0.53 --dport www -j REDIRECT --to-port 3128

On redirige tout vers le port 3128, sauf ce qui est destiné au web interne…

Et voila!

reseaux_squid.1175384994.txt.gz · Dernière modification : 2007/03/31 23:49 de thierry