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

squid-localhost

3 réponses
Avatar
Vincent GAUVIN
Bonjour à tous,
Ma config : serveur-passerelle 192.168.1.1 (slackware)
eth0-->LAN 192.168.1.0/24
eth1-->ADSL (pppoe)
Masquerade et firewall avec iptables

J'ai installé Squid/Squidguard. J'ai écrit une règle iptables pour
rediriger les requêtes 80 des stations vers squid (8080) et j'ai mis les
options qui vont bien dans squid.conf (transparent). Tout cela
fonctionne très bien: les accès web des stations passent bien
automatiquement dans squid (les logs me le confirment) et les sites de Q
sont bien filtrés.
Le pb concerne l'accès en local à mon site web (Apache-stocké sur la
même passerelle). Dans la config ci-dessus, quand depuis une station sur
le navigateur je saisis http://localhost ou http://127.0.0.1 ou
http://monserveur j'ai invariablement :
"Connexion refusée lors de la tentative de contact de localhost" (ou
127.0.0.1 ou monserveur)
Par contre dans la même config si je saisis http://192.168.1.1 ca marche
nickel.

Autre constatation : si je désactive la redirection vers 8080 et que je
coche dans mon navigateur l'option proxy avec l'adresse qui va bien et
ben là tout fonctionne sans pb!

Voilà c'est pas grave mais ca énerve. Sans plus de détails, là comme ça
en gros;-) je dois plutôt chercher du côté de squid.conf, de mes règles
iptables ou ailleurs?
Merci de votre aide.
VG

3 réponses

Avatar
Pascal
Salut,


Ma config : serveur-passerelle 192.168.1.1 (slackware)
eth0-->LAN 192.168.1.0/24
eth1-->ADSL (pppoe)


Fonctionnellement, la véritable interface internet sera plutôt
l'interface PPP.

Masquerade et firewall avec iptables

J'ai installé Squid/Squidguard. J'ai écrit une règle iptables pour
rediriger les requêtes 80 des stations vers squid (8080) et j'ai mis les
options qui vont bien dans squid.conf (transparent). Tout cela
fonctionne très bien: les accès web des stations passent bien
automatiquement dans squid (les logs me le confirment) et les sites de Q
sont bien filtrés.
Le pb concerne l'accès en local à mon site web (Apache-stocké sur la
même passerelle). Dans la config ci-dessus, quand depuis une station sur
le navigateur je saisis http://localhost ou http://127.0.0.1 ou
http://monserveur j'ai invariablement :
"Connexion refusée lors de la tentative de contact de localhost" (ou
127.0.0.1 ou monserveur)


Rien de plus normal pour les deux premiers URL. localhost et 127.0.0.1
désignent la machine elle-même, donc la demande de connexion HTTP ne
sort pas de la machine et ne peut être interceptée par la passerelle
proxy transparent. Il en serait de même avec l'adresse ou le nom d'une
autre machine du réseau local. La redirection HTTP ne peut marcher que
si la requête atteint la machine proxy, donc quand la destination est
soit la machine proxy lui-même soit un serveur situé à l'extérieur.

Concernant http://monserveur, il faudrait voir en quelle adresse IP le
nom "monserveur" est résolu.

Par contre dans la même config si je saisis http://192.168.1.1 ca marche
nickel.


Forcément, cf. supra.

Autre constatation : si je désactive la redirection vers 8080 et que je
coche dans mon navigateur l'option proxy avec l'adresse qui va bien et
ben là tout fonctionne sans pb!


Configuration du navigateur avec proxy explicite, donc même les requêtes
vers localhost sont envoyées au proxy sauf indication contraire.

Voilà c'est pas grave mais ca énerve. Sans plus de détails, là comme ça
en gros;-) je dois plutôt chercher du côté de squid.conf, de mes règles
iptables ou ailleurs?


Ni l'un ni l'autre, mais plutôt dans la compréhension de ce qui se passe
au niveau IP.

--
Pascal
Vous pouvez me tutoyer.
Piège à spam :
(valide et toujours *vide*, les spammeurs sont des branleurs)

Avatar
Vincent GAUVIN

Rien de plus normal pour les deux premiers URL. localhost et 127.0.0.1
désignent la machine elle-même, donc la demande de connexion HTTP ne
sort pas de la machine et ne peut être interceptée par la passerelle
proxy transparent. Il en serait de même avec l'adresse ou le nom d'une
autre machine du réseau local. La redirection HTTP ne peut marcher que
si la requête atteint la machine proxy, donc quand la destination est
soit la machine proxy lui-même soit un serveur situé à l'extérieur.

Concernant http://monserveur, il faudrait voir en quelle adresse IP le
nom "monserveur" est résolu.


Merci de ton aide et de tes explications, que je /crois/ avoir comprises.

Ni l'un ni l'autre, mais plutôt dans la compréhension de ce qui se passe
au niveau IP.



Dois-je le prendre comme un reproche?;-)


--
Cordialement,
VG

Avatar
Pascal

je dois plutôt chercher du côté de squid.conf, de mes règles iptables
ou ailleurs?


Ni l'un ni l'autre, mais plutôt dans la compréhension de ce qui se
passe au niveau IP.


Dois-je le prendre comme un reproche?;-)


Du tout. En faisant un effort, je me rappelle encore, bien qu'avec
peine, le temps pas si lointain où, internaute de base, je n'avais
qu'une vague notion de ce qu'était une adresse IP ou un port TCP, et
aucune idée de comment marchait le routage IP. Et le temps, beaucoup
moins lointain, où j'essayais laborieusement de comprendre quelque chose
à iptables, la NAT et toussa. ;-) J'ai dû beaucoup lire, et surtout
expérimenter par moi-même (merci Linux pour sa richesse dans le domaine
du réseau) pour me faire une idée assez claire du fonctionnement de tous
ces trucs.

--
Pascal
Vous pouvez me tutoyer.
Piège à spam :