Ich kann ifdown
unter Debian 6.0.5 keine Benutzeroberfläche erstellen:
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
Wie von Marco gefordert:
user@box:/etc/network/$ cat /run/network/ifstate
lo=lo
eth1=eth1
debian
networking
jwbensley
quelle
quelle
/run/network/ifstate
enthalten?Antworten:
Überprüfen Sie den Inhalt der Datei
/run/network/ifstate
.ifup
undifdown
verwenden Sie diese Datei, um zu notieren, welche Netzwerkschnittstellen hoch- und heruntergefahren werden können. Daherifup
kann es leicht zu Verwechslungen kommen, wenn andere Netzwerk-Tools zum Aufrufen einer Schnittstelle verwendet werden (zifconfig
. B. ).Vom Mann ifup
quelle
eth0=eth0
,/run/network/ifstate
um die Schnittstelle zu erkennen und richtig zu konfigurieren. Diese Antwort hat mir geholfen, auf die Datei zu verweisen, hat aber aufgehört, diese Hinzufügung vorzuschlagen, was mein ähnliches Problem löste.auto
in markiert ist/etc/network/interfaces
? Es sollte angezeigt werden,/run/network/ifstate
ohne dass die Datei manuell geändert werden muss.--force
war die Antwort für mich; Es stellte sich herausifup
, dass die Benutzeroberfläche wegen eines fehlerhaften Befehls nicht zuerst aufgerufen wurde/etc/network/if-pre-up.d
. Glück, dass ich überhaupt ein Netzwerk habe!ifdown
ist ein High-Level-Programm, das viele Dinge erledigt, die Sie möglicherweise nicht benötigen. Außerdem ist es nicht überall verfügbar. Der portablere Weg könnte für Sie funktionieren:Wenn Sie es dann nicht
ifup
können, haben Sie wahrscheinlich ein Konfigurationsproblem. Manuell aufzurufenifconfig eth0 up
ist in diesem Fall wahrscheinlich nicht das Richtige. Unter Debianifup
ist es eine ausführbare Binärdatei, daher müssten Sie wahrscheinlichstrace
herausfinden, wo es aufgehängt wird:Das wird Ihnen sagen, welche Dateien
ifup
geöffnet werden, während es funktioniert, was Sie in das Problem verweisen könnte.Auf anderen Systemen (z. B. RHEL und Derivaten)
ifup
ist ein Shell-Skript vorhanden, daher ist das Debuggen wesentlich einfacher:Wenn Sie ein Shell-Skript mit
sh -x
ausführen, wird jede Zeile, die ausgeführt wird, gedruckt, sodass Sie die Ausführung verfolgen können.quelle
sudo ifconfig eth0 down && sudo ifconfig eth0 up
, die Benutzeroberfläche nach oben und unten zu klappen, aber ich habe versucht, manuell ein If-Up-Skript auszulösen, das ich geschrieben habe, und das hat es nicht getan. Nach dem Aktualisieren meiner / etc / network / run / ifstate-Datei funktioniert ifdown / up jetzt. Vielen Dank für deine Infos! :)ifdown
ist ein High-Level-Programm, das eine Menge Dinge tut, die Sie vielleicht brauchen.ifconfig eth0 down
ist portabler und kann immer ausgeführt werden, führt jedochifdown
möglicherweise keine Bereinigungsaufgaben aus .ifconfig
ganze Zeit verwenden, um zu vermeidenifup/down
. Ich schlug es nur zur Fehlerbehebung vor. Wie ich das Problem verstehe, stellte sich heraus, dass es ein Ergebnis der Verwendung vonifconfig
statt warifup/down
, wodurch die Mechanismen auf hoher Ebene verwirrt wurden. Aber das wusste ich nicht, als ich meine Antwort veröffentlichte.Ich habe das schon einmal gesehen, als ethX nicht richtig konfiguriert war
/etc/network/interfaces
. Das braucht so etwas wie: -Selbst mit einer nicht
/etc/network/interfaces
richtig konfigurierten Datei können Sie eth0 mit folgendem Befehl beenden:quelle
auto
. Vielen Dank.Für alle, die mit diesem Problem zu kämpfen haben:
Ich habe die Datei ifstate. "Interface-name" unter / run / network überprüft.
Es war leer, also habe ich "Schnittstellenname" (eth0) in die Datei "Schnittstellenname" unter / run / network eingefügt.
quelle
Hinzufügen
eth0=eth0
zu/run/network/ifstate
. Das hat bei mir funktioniertquelle
Was ich gefunden habe, hat mir geholfen, den
rm
Befehl zum Entfernen der darin enthaltenen Sperrdatei aufzurufen/run/network/
Tun
ls -la
und Sie sollten eine versteckte.ifstate
Datei oder etwas unter diesem Namen sehen.Entfernen Sie das und versuchen Sie dann:
ifdown && ifup
Wenn Sie befürchten, dass etwas kaputt geht, erstellen Sie einfach eine Kopie dieser Datei außerhalb des Verzeichnisses und entfernen Sie die Datei innerhalb des Verzeichnisses.
quelle