Bonjour à tous,
Je me heurte à un problème que tout technicien de SSII doit avoir : j’ai fais l’installation d’une debian etch avec Squid en proxy, un bridge sur les 2 cartes réseaux présentes et une redirection de tout le flux vers le port 3128. Cela fonctionne sans aucun problème pendant mes test au bureau, mais plus rien une fois arrivé chez le client.
Situation initiale :
Le client désire voir exactement quel site sont visités et par quel utilisateur (machine). Il dispose d’un routeur cisco dont on ne peux rien faire (ne disposant d’aucun droit d’accès) et d’un réseau local dont on ne peux pas changer les paramètres TCP/IP. Donc il faut prévoir une solution qui ne fait que s’ajouter au réseau.
Situation finale :
Installation de Squid avec la création d’un bridge afin de pouvoir intercalé la machine entre le routeur et le réseau local et intercepté les flux de données. Le réseau est en 192.168.202.0 et le routeur à pour IP 192.168.202.1. Chez le client, le proxy ping le routeur d’un coté et les machines du réseau local de l’autre. Le proxy dispose d’internet. Les machines du réseau local ping le routeur a travers le proxy mais les machines ne disposent pas d’internet.
Voici les détails de ma configuration :
- Fichier squid.conf
[code]
Squid normally listens to port 3128
http_port 192.168.0.200:3128 transparent
visible_hostname proxybridge.benetton.com
#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin ?
cache deny QUERY
Apache to signal ETag correctly on such responses
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 16 MB
cache_dir ufs /var/spool/squid 100 16 256
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
emulate_httpd_log on
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl LAN src 192.168.17.0/24
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow LAN
http_access allow all
##########################################################
And finally deny all other access to this proxy
#http_access deny all
##########################################################
http_reply_access allow all
icp_access allow all
cache_effective_group proxy
coredump_dir /var/spool/squid[/code]
- Le script qui me crée mon bridge et mes règles Iptables :
[code]#!/bin/sh
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig eth0 0.0.0.0 promisc up
ifconfig eth1 0.0.0.0 promisc up
ifconfig br0 192.168.202.200 netmask 255.255.255.0 up
route add default gw 192.168.202.1 dev br0
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80:65000 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80:65000 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80:65000 -j REDIRECT --to-port 3128[/code]
J’aurai besoin d’une petite aide Merci d’avance à tous