Re: Squid / iptables et la redirection de port
Stéphane BERDIN a écrit :
Bonjour à tous,
Voilà actuelement j'ai installé une debian avec Squid sur la même machine que mon firewall.
Squid tourne avec dansguardian.
Si je paramètre les navigateurs des postes client avec comme proxy : 192.168.8.8 : 3128 --> aucun problème
Les pages sont bien affiché, et dans guardian fait bien sont travail.
J'aurai aimé ne pas avoir à configuré chaque poste client et pour ça, faire une redirection de port :
Iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
Et si je lance ça, j'ai un 'TCP_DENIED' dans les logs de Squid ... ?
Il faut aussi paramétrer Squid pour cela.
Voici un extrait de mon script pour régler les règles de Iptables:
PROXY="192.168.13.30:3128"
IF_LOC1="eth0" # côté réseau local
INTRANET="192.168.13.0/24"
....
function squid_help {
PROXY_PORT=`echo $PROXY | sed 's/^.*:\(.*\)/\1/'`
N=`egrep -c "(httpd_accel_host virtual|httpd_accel_port
80|httpd_accel_with_proxy on|httpd_uses_host_header on)"
/etc/squid/squid.conf`
test $N -lt 4 && cat <<EOF1
Proxy transparent:
Vérifier que SQUID est paramétré comme suit:
http_port $PROXY_PORT
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_uses_host_header on
EOF1
}
...
if test "x$PROXY" != "x"; then
# Proxy transparent
squid_help
$I -t nat -A PREROUTING -p tcp -i $IF_LOC1 -d ! $INTRANET \
--destination-port 80 -j DNAT --to-destination $PROXY
KERNEL_CONF="/boot/config-`uname -r`"
if `grep CONFIG_IP_NF_NAT_LOCAL=y $KERNEL_CONF > /dev/null`; then
# Vérifier iptables version >= 1.2.6a et mettre
# CONFIG_IP_NF_NAT_LOCAL=y dans config noyau
# $I -t nat -A OUTPUT -p tcp -d ! $INTRANET --destination-port 80 \
# -j DNAT --to-destination $PROXY
echo "pas de proxy pour la passerelle"
else
echo "Pas de proxy transparent pour la passerelle"
fi
else
echo "Aucun proxy n'est utilisé."
fi
Merci
Avec plaisir
Jean-Pierre
Reply to: