#1 Le 05/09/2011, à 21:21
- francky67
[Résolu] (ou presque) créer un routeur (2 LAN et 2 accès Internet)
Bonjour à tous.
Je suis en train d'essayer de configurer une machine ubuntu server 10.04 en routeur et je me heurte à quelques soucis.
Voici mon réseau :
accès-internet-1 +-----+ LAN1 10.0.0.0/255.255.248.0 +----------+ Laser +----------+ LAN 2 10.0.8.0/255.255.248.0 +-----+ Accès-Internet-2
| |
+ Passerelle principale 1 + Passerelle principale 2
| - adresse ip : 10.0.0.1 | - adresse ip : 10.0.8.1
| - masque 255.255.248.0 | - masque : 255.255.248.0
| |
+ Routeur ubuntu 1 R1 + Routeur Ubuntu 2 R2
| - eth0 | - eth0
| - adresse ip 10.0.0.2 | - adresse ip : 10.0.8.2
| - masque 255.255.248.0 | - masque 255.255.248.0
| - passerelle 10.0.0.1 | - passerelle 10.0.8.1
| - eth1 | - eth1
| - adresse ip 10.0.0.3 | - adresse ip 10.0.8.3
| - masque 255.255.248.0 | - masque 255.255.248.0
| - pas de passerelle | - pas de passerelle
| |
+ poste 1 + poste 2
| - adresse ip : 10.0.5.0 | - adresse ip : 10.0.10.0
| - masque 255.255.240.0 | - masque 255.255.240.0
| - passerelle : 10.0.0.3 | - passerelle : 10.0.8.3
Les postes des 2 sous-réseaux ont un masque en 240 pour couvrir la totalité de ma plage (10.0.0.0 - 10.0.15.255) sans utiliser les passerelles.
Quand on reste sur chaque sous réseau, la fonction masquerade joue parfaitement son rôle. (En clair le schéma ci-dessus fonctionne : une centaine de poste de chaque coté du laser et ça tourne)
J'aimerai maintenant remplacer les 2 routeurs ubuntu par un seul disposant de 4 cartes réseaux de manière à pouvoir pallier à une défaillance de l'une ou l'autre passerelle principale ce qui se résumerai à :
- tous les postes du réseau 1 auront comme passerelle la 10.0.0.3 qui fera un masquerade sur 10.0.0.2 qui routera le tout vers 10.0.0.1
- tous les postes du réseau 2 auront comme passerelle la 10.0.8.3 qui fera un masquerade sur 10.0.8.2 qui routera le tout vers 10.0.8.1
- En cas de non réponse du 10.0.0.1 le masquerade se fera sur la 10.0.8.2 qui routera le tout vers 10.0.8.1
- En cas de non réponse du 10.0.8.1 le masquerade se fera sur la 10.0.0.2 qui routera le tout vers 10.0.0.1
Bref avoir un routage différents pour chaque sous réseau, déjà, je ne sais pas faire sur une seule machine et un routage alternatif en cas de défaillance du principal, là j'ignore complètement par ou attaquer le pb et même si c'est possible.
Auriez-vous quelques pistes, voire une solution complète ;-) ?
D'avance merci à tous.
Franck
Dernière modification par francky67 (Le 22/09/2011, à 10:24)
Hors ligne
#2 Le 22/09/2011, à 11:06
- francky67
Re : [Résolu] (ou presque) créer un routeur (2 LAN et 2 accès Internet)
Bonjour à tous.
Visiblement la question pose quelques soucis
Voici la solution à laquelle je suis finalement arrivé (pas celle que j'espérai, mais il faut savoir se contenter de ce qu'on peut faire) :
Une passerelle debian : 4 interfaces réseaux :
* eth0 : xxx.xxx.1.255/255.255.248.0
* eth1 : xxx.xxx.8.255/255.255.248.0
* eth2 : xxx.xxx.1.254/255.255.248.0
* eth3 : xxx.xxx.8.254/255.255.248.0
Les clients du réseau xxx.xxx.0.0/248.0 auront comme passerelle par défaut eth0 soit xxx.xxx.1.255.
En fonction du trafic, ils sortiront par eth2 ou eth3 suivant la table de routage définie dans le fichier /etc/network/interfaces
* serveur de messagerie 1,3,5 -> eth1
* serveur de messagerie 2,4,6 -> eth2
* proxy 1,3 -> eth1
* proxy 2,4 -> eth2
Si le trafic ne correspond pas à la table de routage, ils passeront par défaut par eth2 (gateway xxx.xxx.1.1)
Cependant, les machines du réseau xxx.xxx.0.0/248.0 ont normalement toutes la passerelle xxx.xxx.1.1.
Les faire passer par eth3, et donc vers xxx.xxx.8.1, posera de gros soucis car les deux routeurs pointent sur le même backbone.
Du coup la solution a été de faire du "masquerading" en fonction de l'adresse d'origine ET de l'interface de sortie
* si le réseau d'entrée est xxx.xxx.0.0/255.255.248.0 et l'interface de sortie est eth3 dans ce cas masquerade
* si le réseau d'entrée est xxx.xxx.8.0/255.255.248.0 et l'interface de sortie est eth2 dans ce cas masquerade
Les règles (iptables) précédentes impliquent également ceci
* si le réseau d'entrée est xxx.xxx.0.0/255.255.248.0 et l'interface de sortie est eth2 dans ce cas pas de masquerade
* si le réseau d'entrée est xxx.xxx.8.0/255.255.248.0 et l'interface de sortie est eth3 dans ce cas pas de masquerade
Bilan de la configuration : Equilibrage du trafic réseau entre les deux routeurs. Reste à résoudre le cas d'un routeur qui tombe.
Pour info , voici le contenu du mon fichier /etc/network/interfaces
auto eth0
iface eth0 inet static
address xxx.xxx.1.255
netmask 255.255.248.0
network xxx.xxx.0.0
broadcast xxx.xxx.7.255
dns-nameservers yyy.yyy.yyy.5 yyy.yyy.yyy.3
post-up iptables-restore < /etc/iptables.up.rules
auto eth1
iface eth1 inet static
address xxx.xxx.8.255
netmask 255.255.248.0
network xxx.xxx.8.0
broadcast xxx.xxx.15.255
dns-nameserver yyy.yyy.yyy.5 yyy.yyy.yyy.3
auto eth2
iface eth2 inet static
address xxx.xxx.1.254
netmask 255.255.248.0
network xxx.xxx.0.0
broadcast xxx.xxx.7.255
dns-nameservers yyy.yyy.yyy.5 yyy.yyy.yyy.3
# On dirige les trames des serveurs Proxy 1 et 3 par cette interface
up ip route add aaa.bbb.ccc.225 via xxx.xxx.1.1 dev eth2
up ip route add aaa.bbb.ccc.227 via xxx.xxx.1.1 dev eth2
# serveur de messagerie 1
up ip route add aaa.bbb.ccc.1 via xxx.xxx.1.1 dev eth2
# serveur de messagerie 3
up ip route add aaa.bbb.ccc.3 via xxx.xxx.1.1 dev eth2
# serveur de messagerie 5
up ip route add aaa.bbb.ccc.5 via xxx.xxx.1.1 dev eth2
gateway xxx.xxx.1.1
auto eth3
iface eth3 inet static
address xxx.xxx.8.254
netmask 255.255.248.0
network xxx.xxx.8.0
broadcast xxx.xxx.15.255
dns-nameservers yyy.yyy.yyy.5 yyy.yyy.yyy.3
# On dirige les trames des serveurs Proxy 2 et 4 par cette interface
up ip route add aaa.bbb.ccc.226 via xxx.xxx.8.1 dev eth3
up ip route add aaa.bbb.ccc.228 via xxx.xxx.8.1 dev eth3
# miroir debian/ubunru
up ip route add zzz.zzz.zzz.zzz via xxx.xxx.8.1 dev eth3
# serveur de messagerie 2
up ip route add aaa.bbb.ccc.2 via xxx.xxx.8.1 dev eth3
# serveur de messagerie 4
up ip route add aaa.bbb.ccc.4 via xxx.xxx.8.1 dev eth3
# serveur de messagerie 6
up ip route add aaa.bbb.ccc.6 via xxx.xxx.8.1 dev eth3
Et voici le contenu de iptables.up.rules. Il est pour l'instant, ultra light et permet de faire ce que je souhaite. Il reste à le sécuriser.
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s xxx.xxx.8.0/255.255.248.0 -o eth2 -j MASQUERADE
-A POSTROUTING -s xxx.xxx.0.0/255.255.248.0 -o eth3 -j MASQUERADE
COMMIT
# Completed on Thu Sep 22 09:14:22 2011
# Generated by iptables-save v1.4.8 on Thu Sep 22 09:14:22 2011
*mangle
:PREROUTING ACCEPT [136:13334]
:INPUT ACCEPT [136:13334]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [13:4566]
:POSTROUTING ACCEPT [13:4566]
COMMIT
# Completed on Thu Sep 22 09:14:22 2011
# Generated by iptables-save v1.4.8 on Thu Sep 22 09:14:22 2011
*filter
:INPUT ACCEPT [1917:211233]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [576:236138]
COMMIT
Dernière modification par francky67 (Le 22/09/2011, à 11:07)
Hors ligne