J'ai supprimé une interface réseau avec ifconfig wlan0 down
, mais toutes les quelques heures environ, le wlan0
l'interface revient et je ne comprends pas pourquoi.
Je ne redémarre pas la machine, je n'ai jamais changé /etc/network/interface
. Je suppose que ma question est la suivante: comment pourrais-je me contenter de désactiver "définitivement" wlan0
. Dois-je utiliser /etc/network/interface
? J'ai déjà ifconfig wlan0 down
dans mon rc.local
.
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.
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.
À partir du fichier /etc/network/interfaces
vous pouvez spécifier que NetworkManager ne doit pas contrôler le wlan0
interface. 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
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]
Désactiver [email protected]
par exemple aura pour effet que l'interface wlan0 ne tentera pas de se connecter au réseau sans fil.
Je devais faire quelque chose de similaire, mais je voulais que l'appareil ne se déclenche pas du tout. Nous avons physiquement couvert 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