Ip fixe et ifdown

J’ai une machine en ip fixe. Quand on a boot sans cable rezo branché, ifconfig montre quand même eth0 avec son ip/mask/gateway/tout. Ca me pose des pbs (des timeouts). Si je fais un ifdown eth0 je n’ai plus ces pbs.

Question : Comment configurer proprement tout ça pour que le ifdown se fasse au boot si je n’ai pas de rezo branché?? Faut il faire un hack affreux ou juste mettre une ligne dans je ne sais quel fichier.

Question 2: quelle idée d’avoir ce comportement par défaut?? Pourquoi diable les distrib ne font elles pas ça par défaut?? C’est comme avoir une adresse postale sans avoir de boite…

C’est vrai que tu pose là une bonne question fakbill. J’ai le problème avec ubuntu quand un cable réseau n’est pas branché et ce satané gnome rame comme un malade tant que j’arrète pas le service réseau.
J’ai pas encore cherché et j’ai pas trop le temps, mais si quelqu’un à une solution toute faite, alors je suis preneur.

Je dirai un hack, mais pas forcément affreux :

on peut savoir si l’interface est physiquement branchée ou pas avec :
ethtool ethXX

On choppe la dernière ligne :
Link detected :

Et si c’est à ‘no’, on ne fait pas le ifup …

Un hack (vraiment) dégueulasse (en python):


# -*- coding: UTF-8 -*-


import encodings
import shutil
import os, sys
import getopt, sys
import string
from stat import *
from sys import *
from os import *


os.system("ethtool eth0 > tmp")

fichier=file("tmp",'r')

for ligne in fichier:
        if "Link detected" in ligne:
                p=ligne.find(":")
                if ligne[p+2:p+5] == "yes":
                        os.system("ifup eth0")
remove("tmp")

quelle distribution ??

dans le fichier de description des interfaces, si tu utilises networkmanager, tu peux mettre au lieu de "auto eth0" => "allow-hotplug eth0"

ça n’a jamais bien marché pour moi :ane: mais c’est dans cete direction que ça ce dirique, donc ça vaut le coup de tenter, ou au moins de la garder dans un coins de ta tête et de faire ton hack pour le moment pour y revenir quand ça sera plus au point.

Ok merci pour toutes ces réponses:

v_atekor : Le pb étant que la machine est sous controle configuration donc je dois faire avec ce qui est installé desus. Ca exclu python :(. Je pense que ethtool est installé.

Argglll : On vient de m’informer qu’il faut aussi que l’interface soit down quand le cable est branché mais que les machines en face sont aux choux. Je n’ai pas accès à ce réseau là maintenant mais d’après les documents, il semble que le ping soit filtré (je hais les ingé réseau qui ont l’air de prendre plaisir à faire des config tordues…)

Si on n’a pas le ping, qu’est ce qu’on peut faire (lire “en bash”) pour tester relativemment proprement si le réseau est là où pas?

Bref, je vous en dis plus dès que possible.

hmm un truc genre :
if ethtool eth0 | grep "Link detected: yes"; then
ifup eth0
else
ifdown eth0
fi