6 votes

Proxy local transparent

J'ai une application qui ne supporte pas le proxy mais j'ai besoin d'envoyer son trafic à un proxy local. Je veux configurer IPTABLES pour rediriger de manière transparente le trafic vers une IP et un PORT donnés (80) qui seront interceptés et redirigés vers le proxy local. Malheureusement, tous les exemples que j'ai trouvés supposent que le proxy trasnsparent est défini dans un GW faisant du NATTING. Est-il possible de rediriger le trafic vers un proxy transparent (SQUID) sans avoir à effectuer de NAT ? J'apprécierais un exemple

3voto

Khaled Points 35208

Oui, c'est possible. Vous pouvez utiliser le routage de politique dans la machine Linux pour rediriger le trafic vers le proxy Squid, comme indiqué dans l'image ci-dessous. cette page .

Pour résumer les étapes :

  1. Configurez la règle mangle dans iptables pour marquer le trafic à rediriger.
  2. Configurez une autre table de routage avec une route par défaut vers la machine Squid.
  3. Configurer une règle IP pour utiliser la nouvelle table de routage définie lorsque le paquet est marqué selon la valeur utilisée dans la règle mangle.
  4. Assurez-vous que iptables autorise le trafic depuis les IP des clients vers la machine squid.

2voto

Ipor Sircer Points 1230

Non, ce n'est pas possible. Vous devez utiliser le nat si vous voulez rediriger le trafic :

 # iptables -A OUTPUT -t nat -p tcp --dport 80 -j DNAT --to 127.0.0.1:3128

1voto

jojo Points 1105

Exécutez la commande suivante pour rediriger tout le trafic dirigé vers (depuis les processus locaux) le port 80 :

sudo iptables -t nat -A OUTPUT -p tcp \
  -m owner ! --uid-owner root --dport 80 \
  -j REDIRECT --to-port 8080

Ensuite, assurez-vous que votre processus de proxy local est exécuté en tant que root. Cela permet au proxy de ne pas voir son trafic redirigé vers lui-même. Si vous ne souhaitez pas exécuter le proxy en tant que root, exécutez-le en tant qu'autre utilisateur et modifiez la commande iptables afin de changer les paramètres suivants root au nouveau nom d'utilisateur.

La commande suppose que votre proxy écoute sur le port 8080.

De plus, cette question est similaire à une autre qui J'ai répondu .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X