une seule ip pour plusieurs interfaces reseaux possible sous linux ?

une seule ip pour plusieurs interfaces reseaux possible sous linux ? - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 07-11-2003 à 20:21:01    

Bonjour,
J?ai l'intension de me faire un routeur/firewall/switch 4ports performant, le routeur netgear que j'ai est trop stressé par la masse de connections que génère emule, il fait ramer le net.
Je vais utilser un p2 400 Mhz et 5 cartes reseaux avec une mini distrib linux specialisé dessus.
La Mandrake mnf me semble pas mal et simple à installer/configurer mais il reste une inconnue. En effet je ne sais pas s'il est possible de faire un pont réseaux comme sous Windows xp pro pour pouvoir avoir plusieurs interfaces réseaux sur la même ip, condition si ne qua non pour remplir la fonction de switch.
Je pense que c'est possible mais, apres recherche sur google, je n'ai rien trouvé.
Donc si c'est possible, ca serais cool de me dire comment faire cela ou bien de me fournir un lien.
Merci :)

Reply

Marsh Posté le 07-11-2003 à 20:21:01   

Reply

Marsh Posté le 07-11-2003 à 20:24:43    

ça s'appelle le bonding et il y a un topic à ce sujet pas très très loin, tiens, cadeau : http://forum.hardware.fr/forum2.ph [...] 923&cat=11
 
edit : enfin ton explications n'est pas claire, c'est bien sur une même machine ?


Message édité par BMOTheKiller le 07-11-2003 à 20:26:28
Reply

Marsh Posté le 07-11-2003 à 20:33:52    

oui c'est sur la meme machine.
Sinon merci. Mes recherche seront plus fructueuse avec ton aide


Message édité par crapboulba le 07-11-2003 à 20:35:57
Reply

Marsh Posté le 07-11-2003 à 20:50:08    

en fait c'est très simple, je me suis fait un script pour démarrer en bonding round-robin quand le serveur démarre le réseau :
 


#!/bin/sh
 
ACTION=$1
 
if [ "$ACTION" = "start" ] ; then {
 ifconfig eth0 0.0.0.1 broadcast 0.0.0.255 netmask 255.0.0.0
 ifconfig eth1 1.0.0.1 broadcast 1.0.0.255 netmask 255.0.0.0
 ifconfig bond0 10.0.0.1 broadcast 10.0.0.255 netmask 255.0.0.0
 ifenslave bond0 eth0
 ifenslave bond0 eth1
 PPPROUTE=`/sbin/ifconfig ppp0 | awk '{print $1}'`
 if [ "$PPPROUTE" = "ppp0" ] ; then
     route del default dev ppp0
     route add default dev ppp0
 else
     route add default dev bond0 # Config hors NET
 fi
}
else {
 if [ "$ACTION" = "stop" ] ; then
#  route del default dev bond0
  ifconfig eth0 down
  ifconfig eth1 down
  ifconfig bond0 down
   
 else
  echo "ERREUR : start ou stop non declare !"
 fi
}
fi


 
pour 5 interfaces, il suffit de monter les interfaces eth2, eth3, eth4 puis de faire un ifenslave bond0 dessus


Message édité par BMOTheKiller le 07-11-2003 à 20:50:52
Reply

Marsh Posté le 08-11-2003 à 01:58:28    

Le problème viendrait pas du logiciel ( :ange:  ;)) utilisé?
S'il bouffe toute la bande passante sans laisser la priorité aux autres connexions, le routeur n'y est peut-être pour rien?
 
Ou si tu veux configurer aux petits oignons ton rezo local, il y a également ce topic: http://forum.hardware.fr/forum2.ph [...] subcat=206 qui pourrait (conditionnel) être utile.

Reply

Marsh Posté le 08-11-2003 à 13:02:01    

BMOTheKiller a écrit :

en fait c'est très simple, je me suis fait un script pour démarrer en bonding round-robin quand le serveur démarre le réseau :
 


#!/bin/sh
 
ACTION=$1
 
if [ "$ACTION" = "start" ] ; then {
 ifconfig eth0 0.0.0.1 broadcast 0.0.0.255 netmask 255.0.0.0
 ifconfig eth1 1.0.0.1 broadcast 1.0.0.255 netmask 255.0.0.0
 ifconfig bond0 10.0.0.1 broadcast 10.0.0.255 netmask 255.0.0.0
 ifenslave bond0 eth0
 ifenslave bond0 eth1
 PPPROUTE=`/sbin/ifconfig ppp0 | awk '{print $1}'`
 if [ "$PPPROUTE" = "ppp0" ] ; then
     route del default dev ppp0
     route add default dev ppp0
 else
     route add default dev bond0 # Config hors NET
 fi
}
else {
 if [ "$ACTION" = "stop" ] ; then
#  route del default dev bond0
  ifconfig eth0 down
  ifconfig eth1 down
  ifconfig bond0 down
   
 else
  echo "ERREUR : start ou stop non declare !"
 fi
}
fi


 
pour 5 interfaces, il suffit de monter les interfaces eth2, eth3, eth4 puis de faire un ifenslave bond0 dessus


 
Quel est l'interet de d'attribuer des ip à eth0 et eth1 ??
ce script ne marcherait il pas aussi ?
 


#!/bin/sh
 
ACTION=$1
 
if [ "$ACTION" = "start" ] ; then {
 ifconfig bond0 10.0.0.1 broadcast 10.0.0.255 netmask 255.0.0.0
 ifenslave bond0 eth0
 ifenslave bond0 eth1
 PPPROUTE=`/sbin/ifconfig ppp0 | awk '{print $1}'`
 if [ "$PPPROUTE" = "ppp0" ] ; then
     route del default dev ppp0
     route add default dev ppp0
 else
     route add default dev bond0 # Config hors NET
 fi
}
else {
 if [ "$ACTION" = "stop" ] ; then
#  route del default dev bond0
  ifconfig eth0 down
  ifconfig eth1 down
  ifconfig bond0 down
   
 else
  echo "ERREUR : start ou stop non declare !"
 fi
}
fi


Sinon j'ai retrouvé l'article de linux mag 28 sur le bonding:
http://www.docmaster.org/articles/linux093.htm
dedans ils conseillent d'utiliser la technique du TEQL plutot que du bonding. Qu'en penses tu ?
J'ai aussi trouvé plein de truc interessant comme  un howto sur  le routage avancé sous linux avec iproute2:
http://www.linux-france.org/prj/in [...] tc-a4r.pdf
Et un mini os de routage tres lege, tres complet et libre d'utilisation :
http://www.mikrotik.com/


Message édité par crapboulba le 08-11-2003 à 13:21:26
Reply

Marsh Posté le 08-11-2003 à 16:35:26    

je suis obligé de monter les interfaces comme ceci car pour éviter quelques problèmes, j'ai supprimé mes fichiers de config des interfaces (ifcfg-ethX), bref à part lo j'ai aucune interface réellement géré par le service network, puis pour pouvoir intégrer le bonding, il faut que les interfaces soient déjà montées, sinon on se retrouve avec un petit problème avec bond0 qui n'utilise aucune interface car inexistante...


Message édité par BMOTheKiller le 08-11-2003 à 16:35:56
Reply

Marsh Posté le 05-04-2004 à 16:15:17    

Bonjour
 
je suis entrain de faire exactement la même chose, et j'aimerais savoir où mettre le script?
 
merci
 
ps: je suis sous redhat

Reply

Sujets relatifs:

Leave a Replay

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