BONDING : Pas d'accès à internet

Bonjour la communauté.

Je viens vers vous car je suis désespéré.
Voici mon soucis.
J’ai monté un bond0 en mode 4 sur un serveur Debian 7. L’agrégation de carte réseau est bien pris en compte par mon serveur. Mon interface bond0 remonte correctement avec mon IP, et j’accède bien à mes dossiers partagés via Samba.
Vous me direz que jusque là, tout fonctionne, eh ben non :frowning:
Je n’arrive pas à me connecter à internet, impossible de sortir du réseau, IPTABLES est vierge, rien n’est changé côté configuration réseau. Et plus bizarrement, ma dernière carte réseau prends l’adresse IP de l’interface bond0 (ce qui en théorie ne devrait pas arriver).

Voici mes interfaces et ma configuration dans /etc/network/interfaces:

[color=#0000FF]root@RFServerW:~# ifconfig
bond0 Link encap:Ethernet HWaddr 00:1b:21:61:ad:d4
inet adr:192.168.0.84 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:9000 Metric:1
RX packets:10711 errors:0 dropped:2911 overruns:0 frame:0
TX packets:850 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:2682861 (2.5 MiB) TX bytes:95914 (93.6 KiB)

eth0 Link encap:Ethernet HWaddr 6c:f0:49:b3:2a:33
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interruption:49 Adresse de base:0x8000

eth1 Link encap:Ethernet HWaddr 00:1b:21:61:ad:d4
UP BROADCAST SLAVE MULTICAST MTU:9000 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interruption:16 Mémoire:fdbc0000-fdbe0000

eth2 Link encap:Ethernet HWaddr 00:1b:21:61:ad:d4
UP BROADCAST RUNNING SLAVE MULTICAST MTU:9000 Metric:1
RX packets:5079 errors:0 dropped:8 overruns:0 frame:0
TX packets:300 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:549634 (536.7 KiB) TX bytes:40684 (39.7 KiB)
Interruption:17 Mémoire:fd9c0000-fd9e0000

eth3 Link encap:Ethernet HWaddr 00:1b:21:61:ad:d4
UP BROADCAST SLAVE MULTICAST MTU:9000 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interruption:18 Mémoire:fd8c0000-fd8e0000

eth4 Link encap:Ethernet HWaddr 00:1b:21:61:ad:d4
inet adr:192.168.0.84 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:9000 Metric:1
RX packets:5632 errors:0 dropped:21 overruns:0 frame:0
TX packets:550 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:2133227 (2.0 MiB) TX bytes:55230 (53.9 KiB)
Interruption:19 Mémoire:fdec0000-fdee0000[/color]

auto bond0
iface bond0 inet static
address 192.168.0.84
netmask 255.255.255.0
gateway 192.168.0.1
broadcast 192.168.0.255
slaves eth1 eth2 eth3 eth4
bond_mode 4
bond_downdelay 200
bond_updelay 200
mtu 9000

Je ne sais plus quoi faire et sans l’accès à internet, je ne peux pas accéder aux maj et donc finir mon installation (notamment pour installer rsync et mettre en place mes sauvegardes).

Toutes idées sont les bienvenues.
Bien cordialement.

Salut,

Effectivement ça semble être bien configuré (crashmag.net/how-to-configure-ne … ian-wheezy).
Mais ton switch/box sait-il le gérer ? la plus part non. Les switchs de base à 30/50 € c’est sure que non. j’ai un Dell powerconnect 2724, et malgré l’option il ne le gére pas (uniquement du failover). Je sais que les switch cisco 2960 en sont capable.

Merci de ta réponse,

Mes switchs sont bons, des GS748TS de Netgear, manageables niveau 3.
J’ai cependant résolu un premier problème:
Dans ma table de routage, la route par défaut était attribuée à une des interfaces esclave.
En rentrant manuellement la route par défaut sur l’interface bond0 et en supprimant les autres, j’ai pu me connecter à internet.
Quand je redémarre le serveur, il réattribue automatiquement la route par défaut sur la première eth qu’il trouve.
Mon serveur n’est pas censé redémarrer mais le jour où je suis en vacance et que le serveur tombe, bahhh il n’y aura plus de net sur le serveur.

Si du coup quelqu’un connait un moyen de lui faire ignorer les interfaces eth esclaves dans la table de routage, pour que mon interface bond0 récupère la route par défaut au démarrage, je suis preneur :slightly_smiling:

Mais ça avance :041

Voici ma table de routage et le problème que je rencontre au redémarrage :frowning:

root@RFServerW:/sbin# route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth2
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth4

Cette table de routage est totalement foireuse, et pas seulement en ce qui concerne la route par défaut. Il ne devrait y avoir aucune route associée à une interface esclave de bond0.
Donne le contenu complet du fichier /etc/network/interfaces.

Le contenu était dans le premier message mais voici avec une petite modification:

[color=#0040FF]auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
address 192.168.0.84
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
broadcast 192.168.0.255
slaves eth1 eth2 eth3 eth4
bond_mode 4
bond_downdelay 200
bond_updelay 200
mtu 9000[/color]

Pour la table de routage, je sais qu’elle est foireuse, mais il n’y a pas de raison qu’elle le soit.

Je voulais être sûr qu’il n’y avait rien d’autre.
Les routes sur eth* viennent bien de quelque part.
NetworkManager ou équivalent est-il installé sur cette machine ? Par défaut il a tendance à chercher à configurer en DHCP toute interface réseau non définie dans le fichier interfaces.

non le dhcp n’a rien à voir la dedans, car la conf précise bien :
auto bond0
iface bond0 inet static
Il n’interroge pas le dhcp.
et le network-manager ne prend pas en charge les interfaces précisé dans /etc/network/interfaces

Par contre il n’y a pas de eth0 est-ce normal ? ou un choix ?

que donne
ip route
route
netstat -r
?

De plus tu as une mtu à 9000 ? le switch le gère ? en as tu besoin ?
pour le routage normalement avec la gw dans le fichier interfaces ça devrai suffire

des choses dans /etc/network/ ?

En relisant je me suis demandé ce que donnerai un fichier de conf comme :

auto eth1
auto eth2
auto eth3
auto eth4

auto bond0
iface bond0 inet static
address 192.168.0.84
netmask 255.255.255.0
gateway 192.168.0.1
broadcast 192.168.0.255
slaves eth1 eth2 eth3 eth4
bond_mode 4
bond_downdelay 200
bond_updelay 200
mtu 9000

Merci de vos réponses.
J’ai essayé la conf avec et sans les auto eth, ça n’y a rien changé de particulier.
Le MTU est géré par les switchs mais même si je l’enlève, ça n’a pas d’impact sur cette bizarrerie.

J’ai tenté à tout hasard de forcer le route add dans le fichier interfaces mais toujours le même soucis des slaves qui remontent dans la table de routage au démarrage.

Pour le dossier network, je regarderais demain quand je serais au boulot ^^

Je serais d’avis que tu testes le démarrage de ta machine en désactivant NetworkManager avec une commande du type [mono]insserv -r network-manager[/mono] (si tu as le démarrage basé sur les services). Et [mono]insserv network-manager[/mono] après le redémarrage pour le réactiver.

J’ai bien lu ce qui a été précédemment écrit à propos de NetworkManager mais on a parfois des surprises, avec ce truc.


anonymouscoward

Ça marche AnonymousCoward, je ferais le test demain.
Mais effectivement, NetworkManager est par défaut sur debian 7.
Il est mentionné dans le resolv.conf.
Si ça pouvait venir de là, je ne te remercierais jamais assez.

Apparemment il y est par defaut sur les install avec un X
Sur ma debian 7 64, il n’y a pas de network-manager (sans environnement graphique).

Bonjour à vous.

Grand pas vers la solution, en faisant le insserv -r network-manager, j’ai bien reboot avec ma table de routage telle que je l’avais laissé.
Et tout fonctionnait directement!!
La question que je me pose du coup, est-ce que je suis obligé du coup de refaire un insserv network-manager ou est-ce que je peux le laisser désactivé?

Sur un serveur, NetworkManager n’est pas indispensable. Surtout que même si tu plante la configuration du réseau et que lors d’un redémarrage le serveur ne se remet pas sur le réseau, tu as souvent la possibilité d’une connexion au Out-of-Band / Lights Out Manager (LOM/ILO/ILOM ETC) qui te fournit une console texte sur le serveur pour reconfigurer le réseau.

Ceci étant, il doit y avoir une manière d’écrire le /etc/network/interfaces de manière à ce que NetworkManager n’interfère pas avec les interfaces composant le bonding. Je crains qu’il ne faille procéder à quelques essais avant de trouver la syntaxe qui ira bien.

Tu peux sans-doute faire un truc comme cela pour chaque interface composant le bonding :

auto eth0
iface eth0 inet manual


anonymouscoward

Comme dit plus haut, le network-manager va prendre la gestion de toutes les interfaces détectées physiquement qui ne sont pas inscrite dans le fichier /etc/network/interfaces.

Si c’est un server, qui n’a pas environnement graphique, je virerai le network-manager.
le service network suffit largement.

[quote=“tof”]non le dhcp n’a rien à voir la dedans, car la conf précise bien :

auto bond0 iface bond0 inet static
Il n’interroge pas le dhcp.
et le network-manager ne prend pas en charge les interfaces précisé dans /etc/network/interfaces[/quote]
Ce n’est pas parce que les interfaces figurent n’importe où dans le fichier /etc/network/interfaces comme dans une ligne [mono]auto[/mono] ou [mono]bonds[/mono] qu’elles sont ignorées par NetworkManager. Il faut qu’elles figurent dans une ligne [mono]iface[/mono], ce qui n’est pas le cas ici. Je maintiens que ces routes viennent de quelque part, et la piste du DHCP par NetworkManager est la plus probable.

[quote=“AnonymousCoward”]Tu peux sans-doute faire un truc comme cela pour chaque interface composant le bonding :

auto eth0 iface eth0 inet manual[/quote]
Pas besoin de [mono]auto[/mono], [mono]iface[/mono] suffit.
Alternativement, il doit y avoir moyen de paramétrer NetworkManager via son interface graphique pour lui indiquer d’ignorer une interface. Pas de machine sous la main pour vérifier.

En ne réactivant pas le NetworkManager, tout fonctionne correctement.
Je n’ai pas pour habitude de travailler avec startX, c’est surtout pour que mon directeur technique est un visuel plus parlant étant donné qu’il galère complet avec Linux. :confused:

Je ne sais pas ce que fait NetworkManager quand il est activé, mais effectivement, il est possible qu’il essaie d’attribuer un DHCP aux eth en slave, et elles prennent du coup l’adresse du bond0 par défaut.

Depuis la désactivation, mon ifconfig est nickel, mes interfaces eth1 à 4 sont bien marquées en slave et n’ont pas l’ip du bond. :023 .
L’eth0 n’y était pas volontairement étant donné que c’est celle de la CM et qu’elle ne gérait pas le 802.3ad, donc impossible de la mettre dans l’agrégation.

En tous cas, je ne sais pas comment vous remercier, au final ce n’était pas grand chose mais ça posait un énorme problème.

Bravo à la réactivité communautaire. :023 :006 :041

NetworkManager fonctionne indépendamment de X. Ce qu’on voit dans un environnement de bureau n’est pas NetworkManager mais l’interface graphique qui permet de le configurer.

Les interfaces esclaves n’ont pas besoin de gérer l’agrégation IEEE802.3ad, c’est le noyau qui s’en charge.

le network-manager ne gèrera pas une interface si elle apparait dans le fichier interfaces meme avec juste auto ethx. déjà vu ce cas là

Tu as dû mal voir, car je viens de vérifier le contraire.