#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)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#11 Le 20/09/2013, à 21:29
- bazzanella
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 ». ...
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
"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 !!!!!!
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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