Problème constaté
Dans un cas particulier, je dois avoir un MTU modifié sur une interface résseau d’une machine.
Or j’avais le problème suivant :
Malgrès le paramètre MTU=1492 dans /etc/sysconfig/network-scripts/ifcfg-eth0, celui-ci reste à 1500, la valeur par défaut, lors du démarrage du réseau.
J’ai remarqué que lorsque j’arrête l’interface réseau ( ifdown eth0 ) et que je le redémarre, ( ifup eth0 ), j’ai le message d’erreur suivant :
SIOCSIFMTU: Invalid argument
Correction du problème
J’ai vu que le script /etc/sysconfig/network-scripts/ifup passe bien la commande forçant le MTU et c’est elle qui affiche le message d’erreur.
Si je force à la main le MTU après le démarrage de l’interface, le MTU change bien et je n’ai plus le message d’erreur.
J’ai donc modifié le script /etc/sysconfig/network-scripts/ifup-post qui est lancé après ifup de la manière suivante :
J’ai ajouté ceci à la fin du fichier.
# Correction PB MTU
if [ -n "$MTU" ]; then
ip link set dev $DEVICE mtu $MTU
fi
Je n’ai pas inventé ce code, c’est celui de la commande ifup.
Après reboot du serveur, ou redémarrage du réseau j’ai bien la bonne valeur de MTU.
Pour info, cela s’est produit sur une interface utilisant le module sk98lin.
J’ai vu sur le net, que cela peut venir d’un problème de driver.
Pour savoir quel module vous utilisez, tapez la commande suivante :
grep eth /etc/modprobe.conf
Cela me donne sur la machine en question « alias eth0 sk98lin ».