# [PROXY transparent] Iptables Redirection transparente

## jaypeche

Bonjour à tous,

J'ai quelques souçis pour rendre mon proxy HTTP(S) SQUID transparent vu du LAN. J'ai bien essayer de créer quelques regles iptables trouvées ça et la sur forums et wikis mais rien n'y fait.

Mon proxy a deux interfaces : ETH0 pour le Net && ETH1 pour le LAN

Il héberge également un serveur apache disponible sur les ports 80 && 443.

LAN en 192.168.133.x et NET en 192.168.77.x

Je ne tiens pas à utiliser le FULLNAT pour mon LAN mais au contraire SQUID, en gros rien ne passe entre LAN et NET, passage obligé par le proxy!

Et SQUID tourne sur l'interface LAN 192.168.133.xx:3128 et en configurant mes navigateurs pour utiliser celui-çi ca fonctionne impec d'ou mon souhait de creer qq regles iptables pour le rendre transparent vu du reseau. En gros que les clients 192.168.133.xx tente d'acceder a internet via le proxy sans avoir a configurer leurs navigateurs. Ou encore rediriger les requetes en HTTP (80) et HTTPS(443) sur mon proxy 192.168.133.27:3128

Une bonne âme pour m'apporter quelques précisions sur les regles iptables a utiliser ?   :Confused: 

D'avance merçi   :Very Happy: 

----------

## guilc

```
iptables -t nat -A PREROUTING -i eth1 -p tcp ! -d 192.168.133.0/24 --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i eth1 -p tcp ! -d 192.168.133.0/24 --dport 443 -j REDIRECT --to-port 3128
```

Attention, windows, pour son windows update n'aime pas le proxy transparent (l'accès à windows update est très très lent). Je précise au cas ou tu ais un réseau hétérogène  :Wink: 

----------

## jaypeche

Merçi pour ton aide Guilc !

Ces règles iptables semble bien réaliser la redirection escomptée mais encore une fois rien n'y fait... je pense peut-être a un souçi avec ma config de squid...

```
## Hostname Config

visible_hostname proxy.arg.org

## Hostname HTTP port Config

http_port 192.168.133.27:3128 transparent

## FAI PROXY proxy.free.fr:3128

# cache_peer proxy.free.fr parent 3128 3130 default
```

De plus, il y a apparement un souçi avec les DNS en mode transparent, la resolution de nom n'aboutit pas, mais si j'attaque directement avec l'IP du site cible, cela fonctionne :

```
1255011781.110   1254 192.168.133.28 TCP_MISS/200 377735 GET http://207.44.152.197/vdr-sc-0.9.3.tar.gz - FIRST_PARENT_MISS/proxy.free.fr application/x-gzip

1255011829.533   1159 192.168.133.28 TCP_MISS/200 365717 GET http://207.44.152.197/vdr-sc-0.9.2.tar.gz - FIRST_PARENT_MISS/proxy.free.fr application/x-gzip
```

Idem sans utiliser de proxy parent (pour exclure le doute) :

```
1255012306.200     79 192.168.133.28 TCP_MISS/400 299 GET http://130.117.119.121/ - DIRECT/130.117.119.121 text/html
```

++

```
# iptables -t nat -A PREROUTING -i eth1 -p tcp ! -d 192.168.133.0/24 --dport 80 -j REDIRECT --to-port 3128

# iptables -t nat -A PREROUTING -i eth1 -p tcp ! -d 192.168.133.0/24 --dport 443 -j REDIRECT --to-port 3128

# iptables -t nat -A PREROUTING -i eth1 -p tcp ! -d 192.168.133.0/24 --dport 21 -j REDIRECT --to-port 3128

# emerge -v dnsmasq

```

Finalement, pour resoudre le probleme de resolution dns en mode transparent, j'ai choisi d'utiliser dnsmasq pour relayer les requetes dns a travers le pare-feu. Par contre les requetes en HTTPS et FTP en mode transparent n'aboutissent pas, alors qu'en configurant les navigateurs clients pour utiliser le proxy, HTTP HTTPS FTP fonctionnent.

En HTTPS mode transparent j'ai cette erreur :

```
SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.

(Code d'erreur : ssl_error_rx_record_too_long)

```

Je pense peut-être à une règle iptables ip_conntrack_nat pour bien acheminer les requètes, mais sans aucune conviction, cela dépasse mes compétences...

----------

## jaypeche

Si quelqu'un à une idée pour me permettre de faire avancer le "Schmilblick" !

 :Rolling Eyes: 

----------

## xaviermiller

T'inquiète, ça va arriver  :Wink: 

(on n'est pas un support technique avec réponses dans l'heure, il faut patienter, et attendre que les gens compétents dans ton domaine passent  :Smile: )

----------

## jaypeche

 *XavierMiller wrote:*   

> T'inquiète, ça va arriver 
> 
> (on n'est pas un support technique avec réponses dans l'heure, il faut patienter, et attendre que les gens compétents dans ton domaine passent )

 

Salut Xavier,

Loin de moi l'idée de considerer le forums Gentoo comme un SAV ! Je tente simplement de mieux comprendre le fonctionnement de Linux ...

D'ailleurs mes retours d'experiences serviront à d'autres, et viendront enrichir la base de donnée du forum, c'est en tout cas ce que j'éspère !

Cordialement.

----------

## xaviermiller

Pas de souci (et hop, un "up" caché  :Wink: )

----------

## nico_calais

Même soucis à l'instant même. Suis tombé ici sur google. Je re-up le sujet au cas où et promis je donne une reponse si je trouve   :Wink: 

----------

## nico_calais

Histoire que la prochaine personne perde pas de temps inutilement.

Il n'est pas possible de faire de l'https via proxy transparent.

Ici une reponse claire sur l'impossibilité de le faire : http://www.mail-archive.com/linux-nantes@listes.univ-nantes.fr/msg07321.html

----------

