Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Serveurs linux debian / apache / squid

nouabi, le mardi 19 août 2008 à 17:03:35
Bonjour,

Je vous présente mon réseau simplifié et la partie intéressante :


INTERNET -------------> routeur/modem/firewall -----------------> proxy (Squid) ----------------------------------> Serveur A ET Serveur B (2 machine différentes) tout en IP fixe


Mon problème, c'est que je souhaite rediriger des requêtes différentes sur l'un ou l'autre des serveur sachant qu'ils répondent tous les deux uniquement sur le port 80 et il est impossible de changer cela.

Je souhaiterai que telle requete http soit redirigé vers le serveur A (80) et telle autre soit redirigé vers le serveur B (80). Toutes les requetes arrive sur le port 80 (ou autre) sur le proxy en entrant.

Comment faire ? Comment configurer Squid pour fair cela ?

Merci d'avance pour votre aide !

Nouabi
Proverbe Chinois : Casser un cruche vide sur votre tête, si ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Configuration: Windows XP
Firefox 3.0.1
Répondre à nouabi  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
XxTitxX, le mardi 19 août 2008 à 17:05:34
BOnjour,

La solution aurait été du NAT avec les ports mais si tu ne peux pas changer du port 80, je vois pas trop comment faire ...

Je suis à court d'idée dsl, je continu à y réfléchir quand même.
Répondre à XxTitxX

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
raclif, le mardi 19 août 2008 à 17:23:50
Oula je sens que tu veux essayer de réinventer le réseau toi :)
En faite tu voudrais mettre deux serveurs Web sur ton réseau alors que tu n'as qu'une seule adresse public, c'est ca?

Dans ce cas, pour moi (mais je ne suis pas dieu!) c'est impossible même avec ton proxy

1 serveur Web = 1 adresse IP public
Ou alors, tu fais écouter un serveur sur le port 80 et le second sur le port 81

A+
Répondre à raclif

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mardi 19 août 2008 à 17:31:47
Salut,
Si c'est possible.
Sur ton firewall (par exemple netfilter), tu fais de la redirection de paquets en fonction de matching.
Par exemple, telle requête arrivant sur le firewall par telle interface qui correspond à un pattern sera redirigé vers ton serveur Web sur le port 80, ou sinon sur l'autre serveur web.
Cdt
Google is your friend
Répondre à fiddy

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
nouabi, le mercredi 20 août 2008 à 09:22:35
Merci pour vos réponse !

En fait, ce que je voudrai faire, c'est :
les requetes : http://xx.xx.xx.xx/sadmin arrive sur un serveur et toutes les autres arrive sur l'autre serveur.

Le proxy n'est pas capable de filtrer les requete et les rediriger vers différentes IP ?
Le firewall peut rediriger uniquement une IP/port vers une ip/port mais ne s'occupe pas des requete je crois ?

Par exemple, peux utiliser un ACL ou squidgard pour cela ?

C'est bizarre qd meme !

Qu'en pensez vous ?

Proverbe Chinois : Casser un cruche vide sur votre tête, si ­ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mercredi 20 août 2008 à 10:05:15
Cela dépend du firewall. Si tu prends Netfilter (firewall présent sur Linux), il ne réalise que le filtrage cconcernant les couches basses. Mais il y a un module à rajouter pour qu'il puisse traiter les requêtes au-dessus de transport (au sens ISO). Donc, ça répond à ton problème.
Les ACL ne répondent pas à ce besoin.
Google is your friend
Répondre à fiddy

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
nouabi, le mercredi 20 août 2008 à 10:32:30
Je n'ai pas de firewall sur mon serveur proxy car j'ai un firewall sur mon routeur (au dessus)

En fait, pour faire cela, je n'ai pas besoin de proxy ? et squidguard ?

A+
Proverbe Chinois : Casser un cruche vide sur votre tête, si ­ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

7


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mercredi 20 août 2008 à 10:35:17
Eh bien installe un firewall sur ton serveur proxy. C'est la solution la plus simple. Tu configures netfilter avec le module qui va bien pour les couches hautes et tu pourras refaire les redirections. Ou alors si tu veux vraiment pas, il te reste la possibilité de monter ton proxy en reverse. Et de faire le filtrage en amont (sur ton vrai Firewall).
Google is your friend
Répondre à fiddy

8


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
nouabi, le mercredi 20 août 2008 à 11:27:38
ok, je vais installer Netfilter !

Comment je peux configurer un firewall pour qu'il me redirige "intelligement" mes requêtes HTTP ?
Un firewall, comme Netfilter est censé recevoir un paquet venant d'une ip sur un port et le renvoi sur une autre ip et sur un autre port (ou les même d'ailleurs) , non ?

Comment le configurer pour qu'il me redirige une requete particuliere sur un poste et les autres requete sur une autre machine ?

Quel est ce module dont tu me parlais tout à l'heure ?

Merci
Proverbe Chinois : Casser un cruche vide sur votre tête, si ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

9


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
raclif, le mercredi 20 août 2008 à 11:39:02
Le module c'est layer7-filter sous iptable, enfin du moins il existe celui la :)
A+
Répondre à raclif

10


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mercredi 20 août 2008 à 11:44:06
Netfilter est certainement déjà installé sur ton proxy (si tu parles de Squid). Ce firewall est implémenté dans la plupart des noyaux Linux. Tu peux configurer le firewall en ligne de commande grâce à iptables (si noyau > 2.4). Et tu installes layer7-filter pour traiter les couches HTTP.

Sinon, ce que tu peux faire, c'est tout diriger vers un seul serveur. Et rediriger l'adresse http://xx.xx.xx.xx/sadmin vers l'autre serveur (au niveau http, dans une balise meta). Solution simple. A toi de voir si cette bidouille te convient.
Google is your friend

--

Google is your friend
Répondre à fiddy

11


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
nouabi, le mercredi 20 août 2008 à 11:48:24
ok ca m'arrangerai bien cette "bidouille" mais c'est tout ce que je demande ! lol

Tu peux dévellopé un peux comment que je peux fair ca ?

Merci

PS : ce que j'ai dit plus haut :
"En fait, ce que je voudrai faire, c'est :
les requetes : http://xx.xx.xx.xx/sadmin arrive sur un serveur et toutes les autres arrive sur l'autre serveur."
...
Proverbe Chinois : Casser un cruche vide sur votre tête, si ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

12


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mercredi 20 août 2008 à 12:01:04
Oui, c'est bien ce que j'ai dit ;).
Mais cette bidouille à l'inconvénient que tous les requêtes seront envoyés (inutilement) sur l'un des serveurs. Et ceux qui demanderont la page http://xx.xx.xx.xx/sadmin se verront rediriger sur l'autre serveur. Voilà pourquoi j'ai dit bidouille.

L'autre solution est plus propre. Redirection directe sur le bon serveur.

Alors solution propre compliquée ou solution simple moche ?
Google is your friend
Répondre à fiddy

13


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
nouabi, le mercredi 20 août 2008 à 12:11:24
Solution propre si c'est pas trop chiant à mettre en place !

Sinon, bidouille !

C'est pas très important, c'est sur une plateforme de test !!!

Merci d'avance
Proverbe Chinois : Casser un cruche vide sur votre tête, si ­ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mercredi 20 août 2008 à 13:48:18
Salut
Solution simple et moche :
Tu rediriges tout sur ton serveur web. Dans le dossier sadmin (http://xx.xx.xx.xx/sadmin) tu mets un .htaccess contenant la directive :
Redirect sadmin/ http://autreServeurWeb/ 


Solution élégante :
#iptables -t filter -I INPUT 1 -p tcp --dport 80 -j DNAT -m layer7 --l7proto SITE2 --to-destination ipSiteWeb2

Et dans /etc/l7-protocols, tu crées un fichier SITE2.pat qui contiendra :
SITE2
pattern http (pour filtrer l'URL xx.xx.xx.xx/sadmin)

Pour le pattern, inspire toi de /etc/l7-protocols/http.pat.

Simple question : xx.xx.xx.xx = une adresse ip (de l'autre serveur) ou ça désigne un répertoire ?
Google is your friend
Répondre à fiddy

19


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
XxTitxX, le mercredi 20 août 2008 à 14:49:50
Clair et limpide, chapeau bonne explication, je ne savais pas qu'on pouvait procéder de la sorte ...
Répondre à XxTitxX

15


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
nouabi, le mercredi 20 août 2008 à 14:04:52
J'ai pas tout saisi encore parce que je comprend pas ce que tu veux faire !

En ce qui concerne le xx.xx.xx.xx, ça représente l'adresse ip d'un des 2 serveur web mais dispos via dyndns de l'extérieur !
En fait j'explique mon réseau simplifié dans le premier post.

Je crois que je vais faire la solution bidouille en fait ... :D
Mais, même elle, j'arrive pas a comprendre pourquoi tu fais ça ! Si tu pouvais développer un peu plus, ça m'arrangerai ...

Merci d'avance

Nouabi
Proverbe Chinois : Casser un cruche vide sur votre tête, si ­ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

16


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mercredi 20 août 2008 à 14:15:33
Pourquoi je fais ça ? oO Ben pour répondre à tes besoins lol.
Tu veux que lorsqu'un utilisateur demande à visualiser l'adresse http://xx.xx.xx.xx/sadmin, il soit redirigé sur ton autre serveur. Ok. Tu mets le .htaccess avec la directive que je t'ai donnée. Ainsi lorsqu'un client se connectera sur http://xx.xx.xx.xx/sadmin/ il sera redirigé sur l'autre serveur. Sinon, il restera sur le bon serveur.
Google is your friend
Répondre à fiddy

17


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
nouabi, le mercredi 20 août 2008 à 14:35:01
ok, le .htaccess, je le met ou en fait ? (et oui je debute sur Squid ! un peu bete mais bon ... )

merci de ton aide en tout cas
Proverbe Chinois : Casser un cruche vide sur votre tête, si ­ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

18


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le mercredi 20 août 2008 à 14:43:49
Le .htaccess n'a rien à avoir avec Squid, mais avec ton serveur web (apache, ...).
Tu le mets dans le répertoire sadmin de ton serveur comme dit dans le post 14.
Google is your friend
Répondre à fiddy

20


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 nouabi, le jeudi 21 août 2008 à 10:11:58
Pour tout ceux qui ont suivi ce post !

La solution est simple mais propre !!!

J'ai réussi a faire de la redirection d'URL a l'aide de Squidguard qui embarque une fonction de redirection tout simplement. Il suffit, de remplacé les URL "interdite" par les URL sources et fair ensuite une redirection dans les acl de squidguard.conf.
Et le tour sera joué !

J'ai des ptit msg d'erreur a résoudre mais ca se profile mieu.

J'ai préférer cette solution ca me perttra de rajouté des URL, ou d'en modifié au fur et a mesure de mes besoin.

Mais l'idée de Fiddy marche très bien, je l'ai testé !

Merci beaucoup all et si vous souhaité plus d'info sur ma solution ,n'hésité pas, je suis toujour le post ...

A+
Proverbe Chinois : Casser un cruche vide sur votre tête, si ça sonne creux, n'en déduisez pas seule
que c'est la cruche qui est vide ... :-D
Répondre à nouabi

Résultats pour Serveurs linux debian / apache / squid

[PHP][manipulation a l'intérieur d'un chaine] (Résolu) Bonjour, Je transfère des données d'un logiciel à un autre via un fichier texte que je fais parser par l'utilisateur via une adresse web locale d'un serveur linux debian (apache2,php4) La moulinette qui "parse" le fichier lignepar ligne... www.commentcamarche.net/forum/affich-2603248-php-manipulation-a-l-interieur-d-un-chaine
Installation de svn sur linux (Résolu) Bonjour, j'ai un serveur linux (debian) et des client windows , je veux installer svn sur mon serveur linux pour gerer les version, pouvez-vous m'expliquer les etapes à suivre pour le realiser. est-ce que je dois installer les versions... www.commentcamarche.net/forum/affich-7266643-installation-de-svn-sur-linux
Serveur Plesk -> Filezilla serveur (Résolu) Bonjour, Nous avons un serveur linux debian équipé d'un plesk 8.6. Nous souhaitons effectuer des backup. Nous avons en local un windows serveur 2008 (en IP fixe locale et distante) avec filezilla serveur. Les ports 20 et 21 ont été débloqué en... www.commentcamarche.net/forum/affich-7956636-serveur-plesk-filezilla-serveur

Résultats pour Serveurs linux debian / apache / squid

Bash: kinit: command not found (Résolu)Bonjour, J'essaye de joindre mon serveur Linux Debian à l'AD. J'ai installé kerberos mais le commande kinit n'existe pas. bash: kinit: command not found Help!! A+ www.commentcamarche.net/forum/affich-8489362-bash-kinit-command-not-found
Msql avec un host distant (Résolu)salut a tous, je suis en train de monter une bdd mysql sur un serveur linux debian. cette base ne sera pas consultee par des pages php en localhost. elle sera partagee par de nombreux autre sites qui y effecturont des requetes dans des scripts php.... www.commentcamarche.net/forum/affich-4123947-msql-avec-un-host-distant
Probleme Ping OPENVPN (Résolu)Bonjour, j'ai mis en place openvpn avec un serveur Linux Debian et un client Windows Vista le logo est vert et il me dit qu'il est connecté. Cependant je n'arrive pas à pinger l'adresse VPN (10.8.0.1) de mon serveur depuis mon... www.commentcamarche.net/forum/affich-7506346-probleme-ping-openvpn

Résultats pour Serveurs linux debian / apache / squid

Fichier DEBFormat DEB Un fichier DEB est un package permettant d'installer une application sous les systèmes Linux Debian. La distribution Debian propose un outil de gestion de package permettant d'automatiser l'installation, la configuration et la mise à... www.commentcamarche.net/contents/fichier/deb.php3