Je ne peux pas ifdown
une interface sur Debian 6.0.5:
user@box:/etc/network$ sudo ifdown eth0 && sudo ifup eth0
ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.
user@box:/etc/network$ cat interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
allow-hotplug eth1
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
auto eth1
iface eth1 inet manual
À la demande de marco:
user@box:/etc/network/$ cat /run/network/ifstate
lo=lo
eth1=eth1
debian
networking
Jwbensley
la source
la source
/run/network/ifstate
contient?Réponses:
Vérifiez le contenu du fichier
/run/network/ifstate
.ifup
etifdown
utilisez ce fichier pour noter les interfaces réseau qui peuvent être activées et désactivées. Ainsi,ifup
peut être facilement confondu lorsque d’autres outils de réseau sont utilisés pour faire apparaître une interface (par exempleifconfig
).De l' homme si up
la source
eth0=eth0
à/run/network/ifstate
pour qu'il reconnaisse l'interface et le configure correctement. Cette réponse m'a aidé à pointer vers le fichier, mais s'est arrêtée avant de suggérer cette addition, ce qui a résolu mon problème similaire.auto
dans/etc/network/interfaces
? Il devrait apparaître/run/network/ifstate
sans qu'il soit nécessaire de modifier manuellement le fichier.--force
était la réponse pour moi; il s'est avéréifup
que l'interface n'a pas été mise en place en raison d'une commande défaillante/etc/network/if-pre-up.d
; Heureusement moi d'avoir le réseau du tout!ifdown
est un programme de haut niveau qui fait beaucoup de choses dont vous n’auriez peut-être pas besoin. De plus, il n'est pas disponible partout. Le moyen le plus portable pourrait fonctionner pour vous:Si vous ne le pouvez pas
ifup
, vous avez probablement un problème de configuration. Leifconfig eth0 up
fait d'en parler manuellement n'est probablement pas la bonne chose dans ce cas. Sur Debian, ilifup
y a un exécutable binaire, vous devriez donc probablement lestrace
trouver pour savoir où il se bloque:Cela vous indiquera quels fichiers
ifup
s’ouvrent pendant que cela fonctionne, ce qui pourrait vous aider à comprendre le problème.Sur d’autres systèmes (par exemple, RHEL et ses dérivés), il
ifup
s’agit d’un script shell, il est donc beaucoup plus facile de déboguer:L'exécution d'un script shell avec lui
sh -x
permet d'imprimer chaque ligne exécutée, ce qui vous permet de suivre l'exécution.la source
sudo ifconfig eth0 down && sudo ifconfig eth0 up
faire basculer l'interface de haut en bas, mais j'essayais de déclencher manuellement un script if-up que j'ai écrit et qui ne le faisait pas. Après la mise à jour de mon fichier / etc / network / run / ifstate, ifdown / up fonctionne maintenant. Merci pour votre information cependant! :)ifdown
est un programme de haut niveau qui fait beaucoup de choses dont vous pourriez avoir besoin.ifconfig eth0 down
est plus portable et peut toujours être exécuté, mais il n’effectue pas les tâches de nettoyage quiifdown
pourraient s’effectuer .ifconfig
tout le temps, en évitantifup/down
. Je l'ai suggéré seulement comme une étape de dépannage. Si je comprends bien le problème, il s’est avéré être le résultat d’une utilisationifconfig
au lieu deifup/down
, ce qui confond les mécanismes de haut niveau. Mais je ne le savais pas quand j'ai posté ma réponse.J'ai déjà vu cela auparavant quand EthX n'était pas correctement configuré dans
/etc/network/interfaces
. Cela nécessite quelque chose comme: -Même avec un
/etc/network/interfaces
fichier mal configuré , vous pouvez toujours supprimer eth0 avec:la source
auto
. Merci.Pour quiconque est aux prises avec ce problème:
J'ai vérifié le fichier ifstate. "Nom-interface" dans / run / network.
Comme il était vide, j'ai inclus "nom-interface" (eth0) dans le fichier ifstate. "Nom-interface" sur / run / network.
la source
Ajouter
eth0=eth0
à/run/network/ifstate
. Cela a fonctionné pour moila source
Ce que j'ai trouvé m'a aidé à appeler la
rm
commande pour supprimer le fichier de verrouillage dans/run/network/
Faites
ls -la
et vous devriez voir un.ifstate
fichier caché ou quelque chose sous ce nom.Supprimez cela et essayez ensuite:
ifdown && ifup
Si vous êtes inquiet, vous risquez de casser quelque chose, faites simplement une copie de ce fichier en dehors du répertoire et supprimez celui qui se trouve à l'intérieur du répertoire.
la source