Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/09/2013, à 10:40

bazzanella

[résolu] Routage avec plusieurs gateway (multiple) et isolation

Salut à toutes et tous.

j'ai sur une machine (ubuntu server 12.04 LTS 64bits) plusieurs interfaces réseau, eth0, eth1, eth2, eth3.
pour chaque interface, il existe un réseau spécifique avec une gateway propre.

RESEAU0 sur eth0 :
network:x00.y00.z00.u00/28
netmask:x00.y00.z00.u01
broadcast:x00.y00.z00.u02
address:x00.y00.z00.u03
gateway:x00.y00.z00.u04

RESEAU1 sur eth1 :
network:x10.y10.z10.u10/28
netmask:x10.y10.z10.u11
broadcast:x10.y10.z10.u12
address:x10.y10.z10.u13
gateway:x10.y10.z10.u14

RESEAU2 sur eth2 :
network:x20.y20.z20.u20/28
netmask:x20.y20.z20.u21
broadcast:x20.y20.z20.u22
address:x20.y20.z20.u23
gateway:x20.y20.z20.u24

RESEAU3 sur eth3 :
network:x30.y30.z30.u30/28
netmask:x30.y30.z30.u31
broadcast:x30.y30.z30.u32
address:x30.y30.z30.u33
gateway:x30.y30.z30.u34

Je suis derrière des serveurs CISCO dont je n'ai aucun controle.

Ces routeurs utilisent l'ip verify. Cette configuration permet de sécuriser et vérifier les échanges réseau.
Le principe est relativement simple : Il vérifie que l'ip qui sort appartient bien au subnet de la gateway.

Donc si on adapte ca à ma machine : si ce sont les IP alias de eth0 qui demande a sortir aucun probleme il font parti du subnet de la GW.

Par contre une IP de eth1 demande a sortir sur la GW de eth0, l'ip ne faisant pas parti du subnet les packets ne sortirons pas.

La solution est d'utiliser une table dynamique pour que chaque IP sorte avec sa propre gateway.

Comment alors déclarer une table dynamique pour que chaque IP sorte avec sa propre gateway ?
Obligé de recourir à iproute2 ou pas ?
Bref, quelle est l'implémentation exacte dans /etc/network/interfaces ?
Merci à tous de votre aide.

Dernière modification par bazzanella (Le 27/09/2013, à 08:53)


"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#2 Le 20/09/2013, à 13:27

bruno

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Je ne suis pas sûr de comprendre le problème. Qu'est-ce qui ne va pas avec une configuration (/etc/network/interfaces) du type :

auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        gateway 192.168.1.254

auto eth1
iface eth1 inet static
        address 192.168.2.1
        netmask 255.255.255.0
        network 192.168.2.0
        gateway 192.168.2.254

#3 Le 20/09/2013, à 14:45

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Tu ne peux pas avoir cette configuration. Elle ne fonctionne pas. Il faut avoir recours à plusieurs tables de routage via le paquet iproute2.


"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#4 Le 20/09/2013, à 16:40

tiramiseb

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Salut,

J'ai l'impression que tu « inventes » un problème qui n'en est pas un.

Tu écris :

Comment alors déclarer une table dynamique pour que chaque IP sorte avec sa propre gateway ?

Sauf que ce n'est pas "telle IP sort avec telle passerelle".
C'est lorsque le noyau Linux route ton paquet qu'il lui attribue, comme adresse IP sortante, l'adresse qui correspond au réseau par lequel il peut joindre la passerelle qui permet d'arriver à sa destination. Donc l'adresse IP source de ton ordinateur sera toujours la "bonne" adresse.

Dernière modification par tiramiseb (Le 20/09/2013, à 16:40)

Hors ligne

#5 Le 20/09/2013, à 16:59

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Pour le noyau Linux, une seule passerelle est valable. Tu ne peux ajouter aucune passerelle autre que celle par défaut.
La config exprimée par bruno ne fonctionne pas sur une ubuntu ou une distribution GNU-Linux. Je le remercie quand même d'avoir pris le temps de me répondre.

Mais je cherche une solution à mon problème. Pas de répondre à tes questions Sébastien qui apparemment n'a pas été confronté à cette douleureuse problématique. Je te remercie néanmoins de participer. Teste sur une ubuntu 12.04 lts une config interfaces avec plusieurs gateway. Elle ne fonctionnera pas.
Et je cherche donc quelqu'un s'étant confronté au problème et l'ai résolu, ou bien à un admin réseau qui connait la solution.

Merci à tous.

Je vous dis que plusieurs passerelles définies dans /etc/network/interfaces ne fonctionnent pas. Essayez et re-postez si vous avez une solution.


"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#6 Le 20/09/2013, à 17:02

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

En reprenant l'exemple de bruno, (en ajoutant le broadcast) comment faire pour que cela fonctionne :

auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        gateway 192.168.1.254

auto eth1
iface eth1 inet static
        address 192.168.2.1
        netmask 255.255.255.0
        broadcast 192.168.2.255
        network 192.168.2.0
        gateway 192.168.2.254

"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#7 Le 20/09/2013, à 17:53

pires57

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

J'ai déjà fait ce genre de test et je n'est jamais eu le moindre problème. Je doute que ce soit un problème lié a ton pc


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#8 Le 20/09/2013, à 19:30

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Merci pires57 pour ton information. Tu as fait ce test sur une ubuntu server 12.04 lts 64bits ?
Peux tu fournir ta table de routage (route -n) ?


"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#9 Le 20/09/2013, à 19:34

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Pour info, j'ai déjà vérifier que le noyau possède bien la configuration requise pour du multiple gateway avec

grep CONFIG_IP_ADVANCED_ROUTER /boot/config-$(uname -r)
CONFIG_IP_ADVANCED_ROUTER=y

"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#10 Le 20/09/2013, à 20:06

tiramiseb

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

bazzanella,

Par ta réponse à mon message, je comprends quelque chose du genre « tu es bien gentil Sébastien mais tu es à côté de la plaque, c'est un problème de grandes personnes ». C'est particulièrement vexant. Je tiens alors à préciser que cela fait 15 ans que je travaille sous Linux, dont 11 ans à titre professionnel sur des projets d'infrastructures serveurs et réseaux. Alors si, je t'assure, je connais très bien ces problématiques.

Reprenons tes messages...

Pour le noyau Linux, une seule passerelle est valable. Tu ne peux ajouter aucune passerelle autre que celle par défaut.

C'est faux. Exemple :

root@amaretto:~# ip route
default via 192.168.42.254 dev wlan1  proto static 
169.254.0.0/16 dev wlan1  scope link  metric 1000 
192.168.42.0/24 dev wlan1  proto kernel  scope link  src 192.168.42.35  metric 9 
root@amaretto:~# route add default gw 192.168.42.60
root@amaretto:~# route add default gw 192.168.42.80
root@amaretto:~# route add default gw 192.168.42.100
root@amaretto:~# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.42.50
root@amaretto:~# ip route
default via 192.168.42.100 dev wlan1 
default via 192.168.42.80 dev wlan1 
default via 192.168.42.60 dev wlan1 
default via 192.168.42.254 dev wlan1  proto static 
169.254.0.0/16 dev wlan1  scope link  metric 1000 
192.168.42.0/24 dev wlan1  proto kernel  scope link  src 192.168.42.35  metric 9 
192.168.200.0/24 via 192.168.42.50 dev wlan1 

Teste sur une ubuntu 12.04 lts une config interfaces avec plusieurs gateway.

Pas besoin de tester sur une version particulière. Toutes les versions de Linux fonctionnent de la même manière, de ce point de vue là.
Des configurations avec plusieurs interfaces et plusieurs passerelles, j'en ai déjà faites plein...

ou bien à un admin réseau qui connait la solution.

Et pourtant tu sembles repousser mon aide du revers de la main...

-----

Bon, reprenons sérieusement.

En premier, tu demandes « comment déclarer une table dynamique pour que chaque IP sorte avec sa propre gateway ». Je t'ai alors indiqué qu'il n'y a aucune configuration particulière à mettre en place car, par défaut, « chaque adresse IP sortira avec sa propre gateway ».


Si maintenant ta question c'est « comment configurer Ubuntu avec plusieurs interfaces réseau ayant chacune une passerelle par défaut », alors forcément, à question différente réponse différente... Dans ce cas, je te propose une configuration de ce genre-là :

auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        up route add default gw 192.168.1.254

auto eth1
iface eth1 inet static
        address 192.168.2.1
        netmask 255.255.255.0
        up route add default gw 192.168.2.254

Cela étant dit, je ne vois pas l'intérêt de mettre en place plusieurs interfaces par défaut. Linux ne "sélectionnera" que l'une d'entre elle pour ses paquets sortants... Quelle que soit la provenance du paquet entrant.

Par ailleurs, les paramètres "network" et "broadcast" ne sont pas nécessaires.


Je tiens aussi à ajouter que le fichier /etc/network/interfaces est spécifique à Debian et ses dérivés (y compris Ubuntu), il n'est pas directement lié au noyau Linux. Les autres distributions ont d'autres manières de configurer les interfaces réseau.

Dernière modification par tiramiseb (Le 20/09/2013, à 20:08)

Hors ligne

#11 Le 20/09/2013, à 21:29

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

tiramiseb a écrit :

bazzanella,

Par ta réponse à mon message, je comprends quelque chose du genre « tu es bien gentil Sébastien mais tu es à côté de la plaque, c'est un problème de grandes personnes ». ...

désolé tiramiseb mais vu ta première réponse j'ai pensé exactement cela. désolé une deuxième fois.
Ta seconde réponse, clair et précise remporte toute ma considération. Cependant, cette configuration que tu proposes et qui m'aide énormément, cloche quand même un chouilla. Laisse moi le temps de checker et j'apporterai ici une configuration opérationnelle....
Encore merci de ta participation.


"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#12 Le 20/09/2013, à 21:41

pires57

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

non je ne peut pas te fournir ma table de routage, c'est un projet que j'ai fait il y a quelques mois et je n'ai plus les vm sous la mains (plus aucun intérêt de les garder).
Ma version été la 10.04 mais comme l'a expliquer seb, quelques soit la version, cela ne change pas.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#13 Le 21/09/2013, à 21:39

zargos

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Sur une machine IP, il n'y a qu'une Gateway par defaut et rien qu'une.
Chaque interface est l'interface de routage par defaut de son propre reseau
Si tu doit router un reseau A via une interface reseau B tu met une entrée manuelle dans ta table de routage
Si une trame reseau sort de ta machine avec une IP qui n'est pas celle de l'interface relié à ce reseau alors il te faut faire de la réecriture d'adresse. En clair une table de translation d'adresse, du NAT en somme, comme pour un reseau interne qui va sur internet.

Sur un iptable tu définis une règle de réécriture NAT pour chaque interface.


c'est du SNAT si tu as juste besoin de sortir via l'interface
c'est du DNAT si les hotes/serveurs distant doivent initier es connexions vers tes interfaces ou ce qui se trouve derrière.

Dernière modification par zargos (Le 21/09/2013, à 21:42)

Hors ligne

#14 Le 27/09/2013, à 02:09

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

blablabla bla, blablabla, bla. Foutaises.
Vos configs ne fonctionnent pas (aucun accès depuis l'extérieur)  et il me faut du concret, du costeau, du vécu !
Mais merci quand même de vous êtes penché sur le problème.

Voici la solution explicitée en détail sur : http://guides.ovh.com/RipeVrack pour ceux qui rencontrent ce genre de problématique.

Donc pour reprendre l'exemple (en classe C) de bruno, c'est cela qui fonctionne à merveille.  Solution complète, logique et pleinement fonctionnelle et transposable sans soucis pour un réseau d'une autre classe que la C. Généralisable !

Z1.Z2.Z3.Z4 U1.U2.U3.U4 : les IPs de vos DNS.

# The loopback network interface 
auto lo 
iface lo inet loopback 
    
# The network 0 interface 
auto eth0
iface eth0 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        broadcast 192.168.0.255
        network 192.168.0.0
        gateway 192.168.0.254
        up /sbin/ip route add default via 192.168.0.254 dev eth0 table network0
        up /sbin/ip rule add from 192.168.0.1/32 table  network0
        post-down /sbin/ip rule del from 192.168.0.1/32 table  network0
        post-down /sbin/ip route del default via 192.168.0.254 dev eth0 table  network0 
        # dns-* options are implemented by the resolvconf package, if installed 
        dns-nameservers Z1.Z2.Z3.Z4 U1.U2.U3.U4
        dns-domain yourdomain.tld
        dns-search yourdomain.tld

# The network 1 interface 
auto eth1
iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        ### gateway 192.168.1.254
        up /sbin/ip route add default via 192.168.1.254 dev eth1 table network1
        up /sbin/ip rule add from 192.168.1.1/32 table  network1
        post-down /sbin/ip rule del from 192.168.1.1/32 table  network1
        post-down /sbin/ip route del default via 192.168.1.254 dev eth1 table  network1 
        # dns-* options are implemented by the resolvconf package, if installed 
        dns-nameservers Z1.Z2.Z3.Z4 U1.U2.U3.U4
        dns-domain yourdomain.tld
        dns-search yourdomain.tld

# The network 2 interface 
auto eth2
iface eth1 inet static
        address 192.168.2.1
        netmask 255.255.255.0
        broadcast 192.168.2.255
        network 192.168.2.0
        ### gateway 192.168.2.254
        up /sbin/ip route add default via 192.168.2.254 dev eth2 table network2
        up /sbin/ip rule add from 192.168.2.1/32 table  network2
        post-down /sbin/ip rule del from 192.168.2.1/32 table  network2
        post-down /sbin/ip route del default via 192.168.2.254 dev eth2 table  network2 
        # dns-* options are implemented by the resolvconf package, if installed 
        dns-nameservers Z1.Z2.Z3.Z4 U1.U2.U3.U4
        dns-domain yourdomain.tld
        dns-search yourdomain.tld

Voilà de l'explicite : 192.168.2.1/32
Si l'on souhaite ajouter des alias pour chaque réseau, la configuration peut être celle-ci, remplacant l'ip de classe C /32 par celle du réseau défini /24 dans les rule add from et   rule del from :

# The loopback network interface 
auto lo 
iface lo inet loopback 
    
# The network 0 interface 
auto eth0
iface eth0 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        broadcast 192.168.0.255
        network 192.168.0.0
        gateway 192.168.0.254
        up /sbin/ip route add default via 192.168.0.254 dev eth0 table network0
        up /sbin/ip rule add from 192.168.0.0/24 table  network0
        post-down /sbin/ip rule del from 192.168.0.0/24 table  network0
        post-down /sbin/ip route del default via 192.168.0.254 dev eth0 table  network0 
        # dns-* options are implemented by the resolvconf package, if installed 
        dns-nameservers Z1.Z2.Z3.Z4 U1.U2.U3.U4
        dns-domain yourdomain.tld
        dns-search yourdomain.tld

auto eth0:0
          iface eth0:0 inet static
          address 192.168.0.2
          netmask 255.255.255.0

auto eth0:1
          iface eth0:1 inet static
          address 192.168.0.3
          netmask 255.255.255.0

# The network 1 interface 
auto eth1
iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        ### gateway 192.168.1.254
        up /sbin/ip route add default via 192.168.1.254 dev eth1 table network1
        up /sbin/ip rule add from 192.168.1.0/24 table  network1
        post-down /sbin/ip rule del from 192.168.1.0/24 table  network1
        post-down /sbin/ip route del default via 192.168.1.254 dev eth1 table  network1 
        # dns-* options are implemented by the resolvconf package, if installed 
        dns-nameservers Z1.Z2.Z3.Z4 U1.U2.U3.U4
        dns-domain yourdomain.tld
        dns-search yourdomain.tld

auto eth1:0
          iface eth1:0 inet static
          address 192.168.1.2
          netmask 255.255.255.0

auto eth1:1
          iface eth1:1 inet static
          address 192.168.1.3
          netmask 255.255.255.0

# The network 2 interface 
auto eth2
iface eth1 inet static
        address 192.168.2.1
        netmask 255.255.255.0
        broadcast 192.168.2.255
        network 192.168.2.0
        ### gateway 192.168.2.254
        up /sbin/ip route add default via 192.168.2.254 dev eth2 table network2
        up /sbin/ip rule add from 192.168.2.0/24 table  network2
        post-down /sbin/ip rule del from 192.168.2.0/24 table  network2
        post-down /sbin/ip route del default via 192.168.2.254 dev eth2 table  network2 
        # dns-* options are implemented by the resolvconf package, if installed 
        dns-nameservers Z1.Z2.Z3.Z4 U1.U2.U3.U4
        dns-domain yourdomain.tld
        dns-search yourdomain.tld

auto eth2:0
          iface eth2:0 inet static
          address 192.168.2.2
          netmask 255.255.255.0

auto eth2:1
          iface eth2:1 inet static
          address 192.168.2.3
          netmask 255.255.255.0

Et je souligne qu'il est fortement conseillé de définir son réseau de manière complète en incluant le network, le broadcast, ceci clarifie grandement vos configurations.

a la revoillure .... :-D

PS : Petit clin d'oeil à Loic.d (qui se reconnaîtra) pour sa forte expertise et sa patience wink


"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne

#15 Le 27/09/2013, à 07:18

tiramiseb

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

blablabla bla, blablabla, bla. Foutaises.

Ça, ça a le don de me foutre en rogne. Putain mais on passe du temps, personnellement sur mon temps de travail (c'est-à-dire que je choisis de faire ça plutôt que gagner de l'argent), pour essayer de t'aider, la moindre des choses serait de ne pas qualifier nos conseils de "blablabla" ou de "foutaises" ! Quel manque de respect !!!!!!

Hors ligne

#16 Le 27/09/2013, à 07:42

pires57

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

Je constate que le respect n'est pas ton fort bazzanella.
dit toi bien qu ici nous sommes bénévole et que nous ne sommes pas payé au nombre de réponse donc un minimum de respect serait vraiment le minimum syndical.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#17 Le 27/09/2013, à 08:50

bazzanella

Re : [résolu] Routage avec plusieurs gateway (multiple) et isolation

(Rires).   Heureusement que vous n'êtes pas payé au nombre de réponses ! Celles-ci sont imprécises, non fonctionnelles. Bref du blabla qui ne vaut pas grand chose.
Minimum syndical ?  Je ne suis pas syndiqué camarade ! C'est quoi ce langage syndical ? Bref.
Dire que vos réponses ne valent pas un clou, n'est pas un manque de respect, mais du franc parlé.
Moi, ce qui a le don de me foutre en rogne, c'est quand on ne sait pas, on redescend de son échelle et on ferme sa bouche.

Et puis tiramiseb, pourquoi crois-tu que j'ai perdu un temps fou à revenir ici poster une solution portable, que ce soit derrière des VLANs ou non, que ce soit pour des réseaux publics ou privés, une solution entièrement fonctionnelle largement portable, permettant d'avoir une machine avec de multiples réseaux, attachée à de multiples gateways ?  Hein, moi aussi j'ai choisi "de faire cela plutôt que de ...". Assumez vos choix.

Sale caractère j'ai. Hélas.  Allez, pétez un coup les gars, cela ira mieux, et arrêtez de vous offusquer à chaque fois qu'une brute viens vous réveiller ....

Je m'excuse quand même, je ne voulais pas vous vexer. Loin de là. Mille pardons, donc. Pas taper la tête !

Je vous adore :-D

Dernière modification par bazzanella (Le 27/09/2013, à 08:56)


"Sans contrôle total de l'utilisateur, le logiciel n'est rien."
Mes pages Internet

Hors ligne