[RESOLU] Routage par la source

Routage par la source [RESOLU] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 15-05-2007 à 22:28:56    

Bonjour à tous,
 
bon j'ai déjà une piste mais je voudrais confirmation. J'ai deux accès internet, un linux avec 3 interfaces (un ipcop modifié avec le mode bridge intégré) et un serveur en DMZ.
 


 
   -------------       -------------
   | Routeur 1 |        | Routeur 2 |
   -------------       -------------
         |                       |
        --------------------
         |    Linux             |
        --------------------
          |                   |  
        DMZ               LAN
 


 
Bon je vous laisse imaginer le switch entre les deux routeurs et mon linux!  
Si je me trompe pas, ce que je veux faire, c'est du routage par la source. A savoir que par exemple, ma passerelle par défaut sur mon linux est le routeur 1. Sur le routeur 2, je natte le port 80 vers mon linux et sur mon linux, je natte le port 80 vers mon serveur en DMZ.
 
Maintenant, si je tape sur l'ip du routeur 2 port 80, le serveur recoit bien la requete, répond, mais la réponse est logiquement transmise via la route par défaut, à savoir le routeur 1 et donc, je ne peux pas accéder à mon serveur.
 
Ce qu'il me faudrait, c'est pouvoir dire à mon serveur de répondre par le routeur 2 (tout en sachant que ce serveur ne sera accessible que par le biais du routeur 2). J'ai vu un truc avec iproute2 (http://docs.mandragor.org/files/Operating_systems/Linux/Howto_fr/Advanced-routing-Howto-4.html) qui je pense pourrais peut etre faire mon bonheur mais j'ai testé vite fait ce soir et ca n'a pas l'air formidable.
 
J'aimerais avoir votre avis sur la question, est ce que je fais fausse route (sans jeu de mots hein  :D ) ?
 
PS: au passage, je sais que ce type d'architecture peut paraitre bizarre mais c'est un client qui vient de me mettre dans cette situation  :(
 
Merci pour votre aide.
p1c0


Message édité par _p1c0_ le 16-05-2007 à 09:15:12

---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 15-05-2007 à 22:28:56   

Reply

Marsh Posté le 16-05-2007 à 08:20:36    

perso je ne ferai pas le routage au niveau de ton serveur en DMZ mais au niveau de ton linux ipcop
 
parce qu'en fait, ton serveur DMZ ne voit qu'un tas de requêtes, venant de machines quelconques d'internet, et déservies localement par ton ipcop. Il ne sait même pas qu'il y a un routeur 1 et un routeur 2.
Si tu lui poses une route disant tu envoies tout sur routeur 2, n'étant pas connecté au routeur 2, il va tout envoyer à ton IPCOP qui lui va réenvoyer via le routeur 1 ...
 
Le seul dans l'affaire qui sait qu'il y a un routeur 1 et un routeur 2 c'est ton ipcop ...
Donc dans le même principe que sur ton ipcop tu routes le port 80 du routeur 2 vers ton serveur en DMZ, et bien route tout ce qui vient du serveur DMZ pour que ça sorte par le routeur 2
Par contre, je ne suis pas expert iptables pour savoir comment cela se traduit en commande, mais ça doit bien être possible je pense
 
Et sinon, ce type d'archi n'est pas déconnante, c'est juste un réseau avec deux connexions internet pour du load balancing ou redondance ...

Reply

Marsh Posté le 16-05-2007 à 09:01:51    

Oui, le routage à faire est sur l'IPcop et non directement sur ton serveur.
iproute est la solution :
http://lartc.org/howto/lartc.rpdb.html

Reply

Marsh Posté le 16-05-2007 à 09:14:43    

Je me suis mal exprimé alors, je pensais bien faire le routage sur l'ipcop...
 
Et en fait, c'est ma règle de nat sur l'ipcop qui n'était pas bonne. Avec iproute2 ca marche bien comme je le voulais.
 
Merci pour vos réponses.


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 16-05-2007 à 12:26:56    

et t'as fait quoi donc ?

Reply

Marsh Posté le 16-05-2007 à 13:40:21    

j'ai utilisé iproute2
 
 


ip rule add from ip_serveur_dmz table 200
ip route add default via passerelle_R2
ip route flush cache


 
comme expliqué dans le lien que j'ai indiqué dans mon premier post. En fait, ca marchait pas parce que j'avais mal natté et dans ma maquette, mon serveur ne recevait même pas les requêtes.


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 16-05-2007 à 15:07:09    

Reply

Marsh Posté le 16-05-2007 à 15:09:13    

c'est plutot mon lien du lartc qu'il lui faut je pense (cf. plus haut)

Reply

Marsh Posté le 16-05-2007 à 15:15:06    

l0ky a écrit :

c'est plutot mon lien du lartc qu'il lui faut je pense (cf. plus haut)


 
Ben il utilise pas la deuxième connection en uplink, c'est dommage :o
 
Edit: j'avais pas vu que le serveur pouvait uniquement être contacté par routeur2  :jap:
Edit2: C'est d'autant plus dommage qu'il y a moyen de faire du failover via les DNS [:greg2]

Message cité 1 fois
Message édité par Profil supprimé le 16-05-2007 à 15:22:58
Reply

Marsh Posté le 16-05-2007 à 15:16:38    

[:mrbrelle]

Reply

Marsh Posté le 16-05-2007 à 15:16:38   

Reply

Marsh Posté le 16-05-2007 à 15:24:59    


 
alors là, je ne dis pas le contraire mais c'est pas ce qu'on me demande! Moi, le client il veut faire passer son surf et ses vpn par une ligne, et le trafic avec le serveur en DMZ par l'autre ligne... C'est pas forcémment ce qu'il y a de mieux mais bon...  :sweat:


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 16-05-2007 à 15:26:31    

Le client a toujours raison, même quand il a tord [:neriki]

Reply

Marsh Posté le 16-05-2007 à 15:34:12    

Y'a toujours moyen de suggérer en mettant en avant les avantages/défauts de chaque solution. Faut aider le client à choisir ce qui lui convient le mieux.
 
Je devrais tenir un cahier des absurdités qu'on me demande parfois la plupart du temps [:ciler]

Reply

Marsh Posté le 16-05-2007 à 16:27:14    

oui enfin là, ca dépasse mon rôle... moi je suis exécutant, c'est à mon directeur technique de voir ca et visiblement, ca le choque pas de voir que le client veut ce genre de choses...


---------------
-_- http://www.scienceshopping.com -_-
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed