Deaktivieren Sie den Netzwerkadapter eth0 unter Debian

10

Es war einmal, als ich ifdown eth0 verwendet habe, um einen Netzwerkadapter herunterzufahren. Es ist Jahre her, seit ich dies zum Laufen bringen konnte, im Grunde seit ich auf Ubuntu / Debian war.

Ich verstehe das:

$ sudo ifdown eth0
ifdown: interface eth0 not configured

Wenn ich ifconfig ausführe, erhalte ich:

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.20.50  Bcast:192.168.21.255  Mask:255.255.254.0
          inet6 addr: fe80::6e3b:e5ff:fe36:2ee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1205280 errors:0 dropped:502 overruns:0 frame:0
          TX packets:34930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:165685286 (165.6 MB)  TX bytes:5754120 (5.7 MB)
          Interrupt:20 Memory:f7f00000-f7f20000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9146 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:734342 (734.3 KB)  TX bytes:734342 (734.3 KB)

Ich habe gegoogelt, um herauszufinden, wie das geht, und alles, was ich finden kann, lautet run ifdown eth0. Wie stoppe ich den Netzwerkadapter auf Debian / Ubuntu-Boxen?

Thom
quelle

Antworten:

14

Ich stehe vor dem gleichen Problem bei Debian. Ich kenne die genaue Ursache nicht, aber es funktioniert sudo ifconfig eth0 downfür mich.

Edit: Danke an @kostix für seine Anmerkungen. Ich habe mich nicht im Detail mit dem Problem befasst, da ich es verwende, um die Benutzeroberfläche vorübergehend herunterzufahren. Wenn Sie es dauerhaft herunterfahren möchten, ist ifdown der richtige Weg. Damit dies funktioniert, müssen Sie die Zeile eth0=eth0zu /run/network/ifstateund die Zeilen auto eth0und iface eth0 inet dhcpzu hinzufügen /etc/network/interfaces.

Tim Zimmermann
quelle
Dadurch wird der Adapter nur auf der physischen Ebene heruntergefahren (dh in Bezug auf den Kernel-Netzwerkstapel), und dies hat nichts mit der Userland-Ebene zu tun, die den Adapter verwalten soll. Bitte lesen Sie meine Antwort - möglicherweise können Sie sich mit dem OP zusammenschließen, um herauszufinden, welches Subsystem Ihr Netzwerk verwaltet.
Kostix
OK, das hat es geschafft. Ich habe das vorher nicht versucht, weil ifdown auf Redhat ifconfig ausgeführt hat, also habe ich dasselbe für Debian angenommen. Wie dumm von mir. Danke dafür. WTF?
Thom
@Thom, das Problem ist, dass beim nächsten Start eth0höchstwahrscheinlich wieder aktiv ist.
Kostix
@Thom, was WTF betrifft ... ;-) Der Kernel ist in den Distributionen (fast) gleich, die Userland-Tools jedoch nicht. Nun, nmund wicd sind in allen Distributionen gleich, aber das "traditionelle" Low-Level-Zeug ist es nicht.
Kostix
@kostix Das ist in Ordnung. Ich wollte nur ein bisschen zum Testen deaktivieren. Da es sich um eine VirtualBox handelt, ist es schwierig, das Netzwerkkabel abzuziehen. :) Ich verstehe auch die Tools, aber die Debian-Dokumente sagen, dass ifdown verwendet werden soll. Deshalb WTF?
Thom
13

Wenn ifconfiges in Ihrer Distribution nicht verfügbar ist, bedeutet dies, dass es durch den ipBefehl ersetzt wird. In diesem Fall wäre die Lösungip link set eth0 down

Nicolas Guérinet
quelle
2

Es gibt keine endgültige Antwort, da es verschiedene Möglichkeiten gibt, das Netzwerk in Debian zu verwalten. Mir sind mindestens drei bekannt:

  • Der „traditionelle“ Ansatz, mit /sbin/ifup, /sbin/ifdownund /etc/init.d/networking, alle mit /etc/network/interfacesKonfigurationsdatei. Diese werden vom ifupdownPaket bereitgestellt.

    Da ifdownich nichts über den Adapter weiß, wird meiner Meinung nach ein anderer Weg zur Verwaltung des Netzwerks verwendet.

    Mir ist auch ein Paket bekannt, von dem angenommen wird, dass es ein Ersatz ifupdownist netscript, aber da es die gleichen Mittel zur Verwaltung von Adaptern verwendet, ist dies angeblich auch nicht Ihr Fall.

  • Netzwerk Manager
  • Wicd

Angeblich muss man herausfinden, welche instaniert ist und von dort aus arbeiten. Beide nmund werden wicd normalerweise mit GUI-Tools konfiguriert (und normalerweise über Applets, die zusammen mit Ihrem DE beginnen). nmhat ein Kommandozeilen-Tool namens nm-cli. Ich bin mir nicht sicher wicd.

Wenn Sie eine einfache Installation durchgeführt und die Aufgabe "Desktop" ausgewählt haben, glaube ich (obwohl nicht sicher), dass Sie NetworkManager installiert haben.

kostix
quelle
1

Schnittstelle eth0 nicht konfiguriert

litteraly bedeutet

nicht in der Datei / run / network / ifstate konfiguriert

ifupdown-Befehle haben eine Hysterese: Sobald Sie eine Schnittstelle mit ifup aktivieren, wird diese darin gespeichert, /run/network/ifstatedass Sie sie aktiviert haben.

ifup eth0
cat /run/network/ifstate
eth0=eth0
(+other interfaces)

ifdown eth0
cat /run/network/ifstate
(+other interfaces)

Der Status wird auch dann gespeichert, wenn der Vorgang fehlgeschlagen ist (hauptsächlich, weil er /etc/network/interfacesnicht korrekt geschrieben wurde). Meine /run/network/ifstatebisherige Hauptlösung besteht darin, manuell zu bearbeiten , um so zu handeln, wie es eth0 war, und es dann abzulehnen:

nano /run/network/ifstate
eth0=eth0

ifdown eth0

Dann können Sie erneut mit einem sauberen Setup beginnen.

koyaaniqatsi
quelle