Comment désactiver définitivement une interface réseau?


22

J'ai supprimé une interface réseau avec ifconfig wlan0 down, mais toutes les quelques heures environ, l' wlan0interface revient et je ne peux pas comprendre pourquoi.

Je ne redémarre pas la machine, je n'ai jamais changé /etc/network/interface. Je suppose que ma question est, comment pourrais-je procéder à une désactivation "permanente" wlan0. Dois-je utiliser /etc/network/interface? J'ai déjà ifconfig wlan0 downdans mon rc.local.

Réponses:


32

Méthode 1 - à partir de l'applet de NetworkManager

Essayez de désactiver le réseau sans fil sous l'applet réseau accessible à partir des icônes en haut à droite de votre bureau.

                                                    ss #!

REMARQUE: l'icône de l'applet de mise en réseau ressemble à un triangle. L'image ci-dessus pointe vers la flèche n ° 1. Si vous cliquez dessus, vous devriez voir un menu glisser d'où vous pouvez désactiver le sans fil de façon permanente, flèche # 2.

Méthode n ° 2 - / etc / network / interfaces

À partir du fichier, /etc/network/interfacesvous pouvez spécifier que NetworkManager ne doit pas contrôler l' wlan0interface. Pour ce faire, ajoutez simplement cette ligne au fichier mentionné ci-dessus:

iface wlan0 inet manual

Redémarrez ensuite NetworkManager:

$ sudo service network-manager restart

Les références


1
La méthode 1 ne fonctionne que si vous n'avez qu'une seule carte wifi ...
xuhdev

0

Je devais faire quelque chose de similaire, mais je voulais que l'appareil ne se déclenche pas du tout. Nous avons physiquement recouvert un port Ethernet dans un appareil basé sur Linux et il ne devrait donc pas apparaître du tout.

Je l'ai fait avec les règles udev.

Cette règle udev dira à Linux de supprimer le périphérique pci lorsqu'un périphérique réseau qui a l'ID_NET_NAME_ONBOARD d'eno2 est ajouté. Ajoutez-le par exemple /etc/udev/rules.d/90-disable-eno2.rules.

ACTION=="add", SUBSYSTEM=="net", ENV{ID_NET_NAME_ONBOARD}=="eno2", RUN+="/bin/sh -c 'echo 1 > /sys$DEVPATH/device/remove'"

Les variables d'environnement magique comme ID_NET_NAME_ONBOARD sont définies par udev ici . J'ai copié quelques exemples du commentaire dans ce fichier ci-dessous.

PCI Ethernet card with firmware index "1":
    ID_NET_NAME_ONBOARD=eno1
    ID_NET_NAME_ONBOARD_LABEL=Ethernet Port 1

PCI Ethernet card in hotplug slot with firmware index number:
    /sys/devices/pci0000:00/0000:00:1c.3/0000:05:00.0/net/ens1
    ID_NET_NAME_MAC=enx000000000466
    ID_NET_NAME_PATH=enp5s0
    ID_NET_NAME_SLOT=ens1

PCI Ethernet multi-function card with 2 ports:
    /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/enp2s0f0
    ID_NET_NAME_MAC=enx78e7d1ea46da
    ID_NET_NAME_PATH=enp2s0f0
    /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.1/net/enp2s0f1
    ID_NET_NAME_MAC=enx78e7d1ea46dc
    ID_NET_NAME_PATH=enp2s0f1

PCI wlan card:
    /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlp3s0
    ID_NET_NAME_MAC=wlx0024d7e31130
    ID_NET_NAME_PATH=wlp3s0

USB built-in 3G modem:
    /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.6/net/wwp0s29u1u4i6
    ID_NET_NAME_MAC=wwx028037ec0200
    ID_NET_NAME_PATH=wwp0s29u1u4i6

USB Android phone:
    /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/net/enp0s29u1u2
    ID_NET_NAME_MAC=enxd626b3450fb5
    ID_NET_NAME_PATH=enp0s29u1u2

s390 grouped CCW interface:
    /sys/devices/css0/0.0.0007/0.0.f5f0/group_device/net/encf5f0
    ID_NET_NAME_MAC=enx026d3c00000a
    ID_NET_NAME_PATH=encf5f0

Lors du test de vos règles, vous devrez exécuter une commande comme la suivante pour vous assurer que tout correspond et que la syntaxe est correcte.

# Find the path marked "P" with this command.
udevadm info --path=/sys/class/net/eno2

# Test with this command with the path from above
udevadm test --action="add" /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eno2 2>&1 | less

0

Vous pouvez désactiver définitivement une interface réseau à l'aide de systemd. Par exemple, si vous souhaitez désactiver wlan0:

$ systemctl | grep wlan0
sys-devices-platform-soc-XXX.auto-net-wlan0.device loaded active plugged   /sys/devices/platform/soc/XXX.auto/net/wlan0
sys-subsystem-net-devices-wlan0.device             loaded active plugged   /sys/subsystem/net/devices/wlan0                                                                     
wpa_supplicant@wlan0.service                       loaded active running   WPA supplicant daemon (interface-specific version)                                                   

Ensuite, prenez-les un par un, vérifiez ce qu'ils font:

$ systemctl status wpa_supplicant@wlan0.service
● wpa_supplicant@wlan0.service - WPA supplicant daemon (interface-specific version)
   Loaded: loaded (/lib/systemd/system/wpa_supplicant@.service; disabled; vendor preset: enabled)
   Active: active

Arrêtez-les et désactivez-les:

$ sudo systemctl stop wpa_supplicant@wlan0.service
$ sudo systemctl disable wpa_supplicant@wlan0.service

La désactivation, wpa_supplicant@wlan0.servicepar exemple, aura pour effet que l'interface wlan0 ne tentera pas de se connecter au réseau sans fil.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.