[BONDING] Connexion impossible

Bonjour à toutes et à tous,

Avec les temps actuels, j’en profite pour « optimiser » et faire des tests.

Le thème - en ce moment - est le bonding (j’ai 3 postes avec prises réseaux chacun), et maintenant au tour de DEBIAN.

Mais là, je bloque un peu. Le bonding ne fonctionne pas.

Voici le fichier de config /etc/network/interfaces :

cat /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto bond0

iface bond0 inet dhcp
	hwaddress 4a:48:c0:e2:f2:92
	bond-slaves enp2s0 enp3s0
	bond-mode 0
	bond-miimon 100

et le fichier de config /etc/modprobe.d/bonding.conf :

alias bond0 bondig
options bond0 mode=0 miimon=100 max_bonds=1

Les différentes manips effectuées (toutes en root) :

apt-get install ifenslave
systemctl stop dhcpcd.service && disable dhcpcd.service
systemctl stop systemd-networkd-wait-online.service && systemctl disable systemd-networkd-wait-online.service
systemctl stop systemd-networkd.service && systemctl disable systemd-networkd.service 
systemctl stop systemd-networkd.socket && systemctl disable systemd-networkd.socket
modprobe bond0
ifconfig enp2s0 down
ifconfig enp3s0 down
ip addr flush dev enp2s0
ip addr flush dev enp3s0
ifconfig bond0 hw ether 4a:48:c0:e2:f2:92 netmask 255.255.255.0 broadcast 192.168.2.255 up
ifenslave bond0 enp2s0
ifenslave bond0 enp3s0
dhcpd bond0
reboot

Mais le bonding ne fonctionne pas. Un # ifconfig me le confirme :

bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet 192.168.2.20  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::4848:c0ff:fee2:f292  prefixlen 64  scopeid 0x20<link>
        ether 4a:48:c0:e2:f2:92  txqueuelen 1000  (Ethernet)
        RX packets 590  bytes 64717 (63.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 435  bytes 45306 (44.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.114  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::749c:71c:95ae:fcb2  prefixlen 64  scopeid 0x20<link>
        ether 00:25:90:e2:62:92  txqueuelen 1000  (Ethernet)
        RX packets 381  bytes 35573 (34.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 233  bytes 24205 (23.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xfb5e0000-fb600000  

enp3s0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        inet 192.168.2.20  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::4848:c0ff:fee2:f292  prefixlen 64  scopeid 0x20<link>
        ether 4a:48:c0:e2:f2:92  txqueuelen 1000  (Ethernet)
        RX packets 568  bytes 61454 (60.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 412  bytes 42061 (41.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  memory 0xfb6e0000-fb700000  

enx803f5d150d8d: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 80:3f:5d:15:0d:8d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Boucle locale)
        RX packets 27  bytes 2021 (1.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 27  bytes 2021 (1.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

L’interface enx803f5d150d8d est juste une RJ45 sur une rallonge USB.
Comme on peut le constater, enp2s0 est bien en slave, mais pas enp3s0. Pourtant, j’ai bien mentionné les 2 lors de la configuration.

Et un # ifenslave -a me donne la même info :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:25:90:e2:62:92 brd ff:ff:ff:ff:ff:ff
3: enp3s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT group default qlen 1000
    link/ether 4a:48:c0:e2:f2:92 brd ff:ff:ff:ff:ff:ff
4: enx803f5d150d8d: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 80:3f:5d:15:0d:8d brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 4a:48:c0:e2:f2:92 brd ff:ff:ff:ff:ff:ff

Juste pour info # cat /proc/net/bonding/bond0 :

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp3s0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:25:90:e2:62:93
Slave queue ID: 0

Auriez-vous une idée ou 2 ?

Pas très clair. Pourrait-on avoir un schéma du câblage ? Et surtout quel est le but exact de l’opération : augmenter la robustesse, le débit possible, … ?

Il me semble que vous mettez la charrue avant les bœufs :grin:
Pour une poignée de machines, reliées au réseau local en Ethernet, il est plus simple d’établir un plan d’adressage IP avec des IP fixes et ne pas s’embêter avec un serveur DHCP.
Pouvez-vous nous en dire plus sur ce serveur DHCP ?
Quel est l’équipement réseau qui se trouve à l’autre bout des câbles ?

mauvaise idée de mettre une constante magique au lieu du nom associé ( balance-rr? ). Je remarque que la page bonding wiki Debian donne des exemples avec active-backup et 802.3admais pas avecbalance-rr`.

Cela sort d’où ?
Avez-vous un commutateur administrable ? Auquel cas, la solution de l’agrégation de liens IEEE 802?3ad est envisageable (pénible mais envisageable ). Mettre des étiquettes sur les câbles pour noter les ports utilisés aux deux bouts , c’est laborieux et chronophage, mais c’est formateur.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

Merci LittleJohn75 pour ta réponse.

j’ai oublié de mentionné une petite info : chaque poste possède 2 prises

Le schéma (complet est assez simple).
Au commencement est Internet. Après, il y a un serveur DHCP/Firewall pfSense. Ce dernier a un filtrage par adresse MAC.
Après pfSense : plusieurs postes. En tout : 4 raspberrys (surtout utilisés pour des tests, dont 1 pour un médiacenter), 1 serveur de données, 1 poste utilisé pour faire des applications demandant des ressources (Blender, traitements d’images lourds, virtualisations), 1 poste pour l’utilisation de tous les jours.

Tous les raspberrys sont partis, il ne reste que 3 postes (1 serveur de données, 1 poste pour les applications lourdes, 1 pour tous les jours).

Le but exact de la manip : apprendre…

Je t’avoue que l’utilisation du monde bond-mode 0 a été pris sur le web. J’ai également vu le 802.3a, mais j’ai plus opté pour le monde 0.

L’adresse MAC ne vient ne nul part en particulier. C’est juste pour pfSense…

Wahou ! On croirait une phrase tirée du livre de la Genèse
Il y a bien un appareil qui permet l’accès à Internet ? une box ? (li est vrai que dire "j’ai une box fournie par … c’est nettement moins classe )

Dans un plan de câblage on note éventuellement les prises Ethernet associées. Ce serveur est équipé de quel système d’exploitation? (un BSD ?)

Et ces “postes” sont reliés en Ethernet au serveur DHCP/pare feu/pfSense ? (lequel ne fait donc pas partie des pauvres rasberrys emportés par la vague épidémique du corona virus ?)

OK. Si donc je tente de faire appel à mes pouvoirs de divination, vous avez un système Debian qui au démarrage envoie des requêtes DHCP ( DISCOVER ) sur le câble relié à une interface et attend la réponse à ces requêtes UDP sur l’interface d’origine ou sur l’autre interface, c’est le principe du “round robin”. Il me semble donc que ce mode n’est pas adapté pour la configuration initiale des paramètres réseau par DHCP.
Je vous invite donc à consulter les journaux du serveur, à configurer le poste avec un mode active-backup (comme ça on sait sur quelle interface n démarre, bond-primary )
Une fois ceci fait, vous réfléchissez un peu et vous constatez qu’avoir “bonding” et pas d’IP fixe c’est pas très cohérent, si il y a un problème avec l’interface bond-primary ou le câble avant que la configuration DHCP soit terminée, il est fort possible que ça coince.
Bref, passez en IP fixe, ce n’est pas la mer à boire de copier un fichier /etc/hosts sur les 3 postes et le serveur.
Combien de ports réseau sur le serveur ?

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Je préfère le vin d’ici à l’au-delà »
Pierre Dac

Bonjour littlejohn75,

Je te remercie pour ton message.

Une phrase tirée du livre de la Genèse, ou de « La Divine Comédie » de Dante, ou sinon du JT 20hr, ou de rien du tout…
Chacun est libre de voir ce qu’il veut en fonction de ces envies…

Il est vrai que dire d’avoir un accès Internet sans disposer d’un appareil repose sur un miracle. Mais statiquement parlant, les utilisateurs lambda ne possèdent pas uniquement que la fibre. Il y a aussi l’ADSL, le RTC, le RNIS… Sans parler des protocoles WAP, UMTS, LTE, 5G et j’en passe…
Pour répondre à ta question, ça dépend des envies : une box chez orange et une box chez bouygues.

Le filtrage MAC ce fait rarement à la main… mais informatiquement. Donc pas besoin de noter les prises RJ45… surtout qu’il y a moultes prises sur le réseau.
Et tu as déjà l’élément de ta réponse dans ta question… Car jusqu’à preuve du contraire, pfSense est basé sur FreeBSD. Ton sens de déduction est plutôt bien développé.

Me voila rassuré : je suis sur le bon Forum… Ouf, Merci littlejohn75

Encore un grand merci littlejohn, j’ai bien configuré mon bonding en mode 0

Heu négatif, je n’ai plus de papier dans l’imprimante. Et à cause du corona virus, je suis en confinement…

Merci pour l’info, j’en prends bonne note.

Ça c’est marrant, ça fait déjà 2 postes sur lesquels c’est opérationnel…

« pour tous ceux qu’aiment pas ça … »
Si la configuration du réseau est ainsi, c’est sûrement qu’il y a des raisons…

Il n’y a plus de ports, les abeilles sont à l’arrêt avec le corona virus.

Bonne journée.

Bonjour,

Je reviens rapidement sur la résolution du problème.

Je ne voudrais pas paraître impoli et ingrat…
J’ai la politesse et l’habitude de remercier pour les réponses et les solutions apportées.

littlejhon75, je t’ai remercié pour tes réponses, non pour la solution.

La solution trouvée est complètement indépendante de ta réponse.

Bonne soirée.

et donc la solution ? et mettre la petite coche pour indiquer la réponse serait un plus aussi;)

Oups, désolé…

Ce qui se passait, c’était que l’une des interfaces n’était pas fonctionnelle (pour le bonding).

Elle l’était au démarrage, puis désactivé par la suite. Une adresse IP lui était attribué, et impossible de l’arrêter.

J’ai désinstallé le paquet wicd et clac… fonctionnel…

De toute façon, le wifi à la maison, désactivé…

Pour plus de détails, je dois retourner sur un autre poste, mais non accessible maintenant.
Avec le confinement, ma femme est en télétravail (soit dans le même bureau que le poste en question).

Je reviens rapidement pour expliquer la solution, et comment surtout elle est arrivée…

En aillant - un peu - marre de chercher à résoudre le problème et de tourner en rond, j’ai démarré le serveur en mode minimal. Les services réseaux fonctionnaient, ainsi que le bonding.
Je redémarre le serveur en mode normal. J’ai ainsi comparé tous les services liés au réseau entre les deux.

Le service wicd était exécute en normal, mais pas en minimal. Je l’ai désinstallé complètement…
Un peu ours comme méthode, mais au moins ça fonctionne.

De souvenirs, il y avait un peu plus… Mais nan.

Bon week-end.