Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cascader deux squids

3 réponses
Avatar
Rakotomandimby (R12y) Mihamina
Bonjour,
Avant de demander sur la ML de squid comment se comporte la cascade de
deux squids, je me suis dit que je devrais essayer.

Voici donc ce que je voulais faire:
- Avoir un proxy/cache squid local (sur ma passerelle) non transparent
(les utilisateur du LAN l'utilisent donc volontairement)
- Faire en sorte que ce proxy utilise de force (avec une ou des regles
IPTABLES bien ficellées) mon serveur dédié comme proxy (configuré en
transparent).

L'interface de la passerelle connectée au net est ppp0.

Mon problème est la règle pour forcer "tout ce qui sort sur ppp0 à
destination de port 80" à "utiliser le serveur dédié sur son port 7000".

D'apres ce que j'ai lu, on devrait utiliser POSTROUTING + "SNAT --to
$IP_SERVEUR_DEDIE:7000"

Mais chez moi, seul le proxy local est utilisé: rien n'est envoyé de
force vers le serveur dédié. Le surf des utilisateur est fonctionnel
sauf que je n'ai pas la cascade des squids.

Mes règles que j'ai essayé sont du genre:
$IPT -t nat -A POSTROUTING -o ppp0 -p tcp --dport 80 \
-j SNAT --to $IP_SERVEUR_DEDIE:7000

Est-ce que je lis mal la doc?

3 réponses

Avatar
Pascal Hambourg
Salut,


Mon problème est la règle pour forcer "tout ce qui sort sur ppp0 à
destination de port 80" à "utiliser le serveur dédié sur son port 7000".

D'apres ce que j'ai lu, on devrait utiliser POSTROUTING + "SNAT --to
$IP_SERVEUR_DEDIE:7000"


Non, cette règle modifie l'adresse et le port *source* des connexions
locales sortantes. Il faut modifier l'adresse et le port destination
avec une règle DNAT dans la chaîne OUTPUT.

Mais chez moi, seul le proxy local est utilisé: rien n'est envoyé de
force vers le serveur dédié. Le surf des utilisateur est fonctionnel
sauf que je n'ai pas la cascade des squids.

Mes règles que j'ai essayé sont du genre:
$IPT -t nat -A POSTROUTING -o ppp0 -p tcp --dport 80
-j SNAT --to $IP_SERVEUR_DEDIE:7000


Je suis très étonné que le surf marche avec cette règle qui dit
d'utiliser l'adresse source d'une machine distante, les réponses des
serveurs allant à cette machine distante qui ne saura pas quoi en faire
(si déjà les paquets sortants n'ont pas été bloqués par le FAI pour
spoofing). Il n'y aurait pas une règle SNAT ou MASQUERADE placée avant
qui rendrait son effet nul ?

Avatar
Rakotomandimby (R12y) Mihamina
Pascal Hambourg wrote:
Mon problème est la règle pour forcer "tout ce qui sort sur ppp0 à
destination de port 80" à "utiliser le serveur dédié sur son port 7000".
D'apres ce que j'ai lu, on devrait utiliser POSTROUTING + "SNAT --to
$IP_SERVEUR_DEDIE:7000"
Non, cette règle modifie l'adresse et le port *source* des connexions

locales sortantes. Il faut modifier l'adresse et le port destination
avec une règle DNAT dans la chaîne OUTPUT.


Effectivement.

Mais chez moi, seul le proxy local est utilisé: rien n'est envoyé de
force vers le serveur dédié. Le surf des utilisateur est fonctionnel
sauf que je n'ai pas la cascade des squids.

Mes règles que j'ai essayé sont du genre:
$IPT -t nat -A POSTROUTING -o ppp0 -p tcp --dport 80
-j SNAT --to $IP_SERVEUR_DEDIE:7000


Je suis très étonné que le surf marche avec cette règle qui dit
d'utiliser l'adresse source d'une machine distante, les réponses des
serveurs allant à cette machine distante qui ne saura pas quoi en faire
(si déjà les paquets sortants n'ont pas été bloqués par le FAI pour
spoofing). Il n'y aurait pas une règle SNAT ou MASQUERADE placée avant
qui rendrait son effet nul ?


Si... si... les regles de partage de connexion sont placées avant.
Mais c'est vrai, ça fonctionne de suite bien mieux en agissant sur
OUTPUT au lieu de POSTROUTING.

Merci pour le coup de main.
Il me reste à voir l'impact lundi prochain, quand les utilisateur se
remettront à surfer... Mon but était:
J'ai ici (Madagascar) une sale (200Kbps, 1sec de latence) connexion.
Cepdant, la liaison avec OVH est excellente (proche du max annoncé par
les brochures commerciales du FAI qui est Orange). La liaison avec les
"autres" est aléatoire (genre avec des réseau en angletrerre et USA)
j'ai donc décidé de mettre mon serveur OVH en proxy, ce qui a
effectivement amélioré les performances du surf. Cependant, le serveur
OVH met en cache des fichiers et il est un peu loin à mon gout.

Je me suis donc dit que si je plaçais un autre squid avant lui, ce squid
local pourrait mettre en cache des fichiers.

D'ou la manoeuvre. On en verra le resultat plus tard.


Avatar
Mihamina Rakotomandimby
Rakotomandimby (R12y) Mihamina wrote:
Je me suis donc dit que si je plaçais un autre squid avant lui, ce squid
local pourrait mettre en cache des fichiers.
D'ou la manoeuvre. On en verra le resultat plus tard.


Très bon résultats, de visu (pas fait de calculs). On sent bien que
certaines images sont cachées localement. Je pense qu'en affinant les
réglages des squids, on peut arriver à mieux.
Mais c'est essentiellement dû au fait que mon FAI à une tres bonne
liaison avec le serveur dédié qui sert de premier proxy. Sans cette
condition, le montage n'a aucun interet.

Dommage pour le httpS, il n'est pas "cachable"...

--
Huile Essentielle de Camphre http://www.huile-camphre.fr
Infogerance http://www.infogerance.us
(Serveurs, Postes de travail, Développement logiciel)