Bonjour,
J'ai monté un serveur CentOS 6.4 sur lequel j'ai installé Squid comme proxy et je souhaite faire du routage avec en redirigeant les requêtes qui arrivent sur le port 80 vers le port 3128 pour forcer tous les clients à passer par le proxy.
J'ai donc 2 interfaces réseaux:
eth1: 192.168.1.1 (gateway LAN)
eth0: 192.168.2.253 (Gateway WAN: 192.168.2.254)
La communication entre les 2 réseaux fonctionne bien, pour test, lorsque je configure le client manuellement pour passer par le proxy, la connexion vers internet marche bien.
Mais lorsque je ne configure pas manuellement le client et que je lui indique l'adresse de eth1 comme passerelle par défaut, impossible de se connecter à internet comme si les requêtes arrivant sur le port 80 n'étaient pas redirigées vers le port 3128.
Je note que les ports 80 et 3128 sont bien ouverts sur eth1.
N'étant pas un habitué des proxy, voici ce que j'ai mis dans iptables
Je ne comprends pas vraiment pourquoi ça bloque# Generated by iptables-save v1.4.7 on Tue Feb 4 04:45:37 2014
*nat
: PREROUTING ACCEPT [52:3560]
: POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.1:3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Feb 4 04:45:37 2014
# Generated by iptables-save v1.4.7 on Tue Feb 4 04:45:37 2014
*filter
:INPUT ACCEPT [553:33834]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8146:3012541]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
COMMIT
# Completed on Tue Feb 4 04:45:37 2014
Partager