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.

Uxonith
la source

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

slm
la source
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
Harry Mallon
la source
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                                                                     
[email protected]                       loaded active running   WPA supplicant daemon (interface-specific version)                                                   

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

$ systemctl status [email protected][email protected] - WPA supplicant daemon (interface-specific version)
   Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)
   Active: active

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

$ sudo systemctl stop [email protected]
$ sudo systemctl disable [email protected]

La désactivation, [email protected]par exemple, aura pour effet que l'interface wlan0 ne tentera pas de se connecter au réseau sans fil.

Aleb
la source