Désactiver l'adaptateur réseau eth0 sur Debian

10

Il était une fois, j'ai utilisé ifdown eth0 pour descendre une carte réseau. Cela fait des années que je n'ai pas réussi à faire fonctionner cela, essentiellement depuis que je suis sur Ubuntu / Debian.

J'ai compris:

$ sudo ifdown eth0
ifdown: interface eth0 not configured

Si je lance ifconfig, j'obtiens:

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)

J'ai googlé pour savoir comment faire et tout ce que je peux trouver dit run ifdown eth0. Comment arrêter l'adaptateur réseau sur les boîtiers Debian / Ubuntu?

Thom
la source

Réponses:

14

Je suis confronté au même problème sur Debian. Je ne connais pas la cause exacte, cependant, cela fonctionne avec sudo ifconfig eth0 downmoi.

Edit: Merci à @kostix pour ses annotations. Je ne me suis pas préoccupé du problème en détail car je l'utilise pour faire tomber temporairement l'interface. Si vous voulez l'abattre définitivement, ifdown est le chemin à parcourir. Pour que cela fonctionne, vous devrez ajouter la ligne eth0=eth0à /run/network/ifstateet les lignes auto eth0et iface eth0 inet dhcpà /etc/network/interfaces.

Tim Zimmermann
la source
Cela fait simplement descendre l'adaptateur sur la couche physique (c'est-à-dire en ce qui concerne la pile réseau du noyau), et cela n'a rien à voir avec la couche userland censée gérer l'adaptateur. Veuillez voir ma réponse - vous pourrez peut-être joindre vos efforts au PO pour déterminer quel sous-système gère votre réseau.
kostix
OK, ça y est. Je n'ai pas essayé avant parce que, sur Redhat, ifdown a exécuté ifconfig donc j'ai supposé la même chose pour Debian. Que je suis bête. Merci pour cela. WTF?
Thom
@Thom, le problème est que la prochaine fois que vous démarrerez, il eth0sera probablement à nouveau opérationnel.
kostix
@Thom, quant à WTF ... ;-) Le noyau est (presque) le même à travers les distributions mais les outils du Userland ne le sont pas. Eh bien, nmet wicd sont les mêmes à travers les distributions, mais les trucs de bas niveau "traditionnels" ne le sont pas.
kostix
@kostix C'est bien. Je voulais juste désactiver un peu pour les tests. Comme il s'agit d'une VirtualBox, il est difficile de débrancher le câble réseau. :) De plus, je comprends les outils, mais les documents Debian disent d'utiliser ifdown. Voilà pourquoi WTF?
Thom
13

s'il ifconfign'est pas disponible sur votre distribution, cela signifie qu'il est remplacé par la ipcommande. Dans ce cas, la solution seraitip link set eth0 down

Nicolas Guérinet
la source
2

Il n'y a pas de réponse définitive car il peut y avoir plusieurs façons de gérer le réseau dans Debian. J'en connais au moins trois:

  • L'approche "traditionnelle", en utilisant /sbin/ifup, /sbin/ifdownet /etc/init.d/networkingtout en utilisant le /etc/network/interfacesfichier de configuration. Ceux-ci sont fournis par le ifupdownpackage.

    Puisque ifdownne sait rien de l'adaptateur, je pense qu'une autre façon est utilisée pour gérer le réseau.

    Je suis aussi au courant d'un paquet qui est beleived être une solution de remplacement pour ifupdown, netscriptmais puisqu'il utilise les mêmes moyens pour gérer les adaptateurs cela est censé être pas non plus votre cas.

  • Gestionnaire de réseau
  • Wicd

Soi-disant, vous devez déterminer lequel est instanned et travailler à partir de là. Les deux nmet wicd généralement sont configurés à l'aide d'outils GUI (et généralement via des applets commençant avec votre DE). nma un outil en ligne de commande, appelé nm-cli. Pas sûr wicd.

Si vous avez fait une installation simple et sélectionné la tâche "Bureau", je pense (mais pas sûr) que NetworkManager est installé.

kostix
la source
1

interface eth0 non configurée

signifie littéralement

non configuré dans le fichier / run / network / ifstate

Les commandes ifupdown ont une hystérésis: une fois que vous activez une interface avec ifup, elle est stockée dans le fait /run/network/ifstateque vous l'avez activée.

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

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

L'état sera enregistré même si l'opération a échoué (principalement parce qu'il /etc/network/interfacesn'est pas écrit correctement). Ma principale solution jusqu'à présent est de modifier manuellement /run/network/ifstatepour agir tel que eth0 était en place, puis de le désactiver:

nano /run/network/ifstate
eth0=eth0

ifdown eth0

Ensuite, vous pouvez recommencer avec une configuration propre.

koyaaniqatsi
la source