2 votes

Quel est le responsable de la configuration de l'adresse de diffusion par défaut ?

L'adresse de diffusion est apparemment mal configurée sur un (vieux) périphérique Linux embarqué que j'ai configuré (mais que je ne possède plus) car elle ne correspond pas à la valeur attendue étant donné l'adresse IP et le masque de réseau (par exemple, il a une diffusion de 192.168.70.255 au lieu de 192.168.71.255 pour 192.168.70.243/255.255.254.0). Il utilise un noyau 2.4.31 avec busybox 0.60.5. La configuration du réseau se fait simplement avec ce Shell snippet :

ifconfig eth0 $IPADDR netmask $NETMASK
if [ -n "$GATEWAY" ]; then
    route add default gw $GATEWAY
fi

L'adresse de diffusion n'est donc pas explicitement configurée. La question est : qu'est-ce qui est responsable de ce mauvais comportement ? Est-ce l'ifconfig de busybox qui ne configure pas correctement l'adresse de diffusion ou est-ce le noyau qui l'a mal configuré ?

Note : il est possible qu'aucun d'entre eux ne soit responsable mais que quelque chose d'autre s'interpose dans le processus de démarrage (et le reconfigure mal) car le périphérique exécute un logiciel spécifique à l'utilisateur que je ne connais pas. Je suivrai avec plus d'infos dès que je les aurai.

2voto

Zxaos Points 2016

En commençant des recherches sur le sujet, j'ai découvert avec strace que changer l'adresse de diffusion avec ifconfig conduit à une ioctl() appel ( SIOCSIFBRDADDR - Set InterFace BRoadcast ADDRess) qui n'apparaît pas dans la trace normale lorsque vous omettez le paramètre de diffusion. Il semble donc que ifconfig ne s'occupe pas de l'adresse de diffusion dans le cas par défaut et laisse le noyau s'en charger.

0voto

Matt Simmons Points 20098

Ce n'est pas le noyau, je parie.

Si vous disposez d'un accès Shell à la machine, essayez de rechercher récursivement cette chaîne dans /etc :

  grep -R "192.168.70.255" * 

Cela devrait vous indiquer où se trouve la configuration qui doit être modifiée.

0voto

David Pashley Points 22851

Après avoir lu la question cette fois-ci, ma réaction instinctive est que le problème réside dans le fait que BusyBox fait de mauvaises hypothèses ou qu'il vit dans un univers parallèle où le routage par classe n'a pas disparu. Vous ne dites pas quel est l'âge du noyau ou de Busybox, mais vous pourriez être en mesure de tester lequel est en faute si vous pouvez obtenir une version plus récente de Busybox, une copie de ip ou de strace sur la boîte. ip ou Busybox plus récent vous permettrait de définir l'ip et le masque de réseau avec un outil dont le bon comportement est connu. Si c'est toujours faux, c'est probablement le noyau. Si c'est correct, c'est busybox. Avec strace, vous pouvez voir quels appels système busybox effectue.

Si vous ne pouvez pas obtenir de nouveaux binaires sur la boîte, il n'y a pas grand-chose d'autre à faire que de régler vous-même la diffusion à la bonne valeur.

0voto

Curt Hagenlocher Points 12432

Est-il possible que la diffusion soit générée dynamiquement à partir de la combinaison IP/Mask et que vous ayez mal saisi le masque de réseau ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X