Come disabilitare permanentemente un'interfaccia di rete?


22

Ho disattivato un'interfaccia di rete con ifconfig wlan0 down, ma ogni poche ore circa, l' wlan0interfaccia torna su e non riesco a capire perché.

Non riavvio la macchina, mai cambiata /etc/network/interface. Immagino che la mia domanda sia: come potrei fare solo disabilitando "permanentemente" wlan0. Io uso /etc/network/interface? Ho già ifconfig wlan0 downnel mio rc.local.

Risposte:


32

Metodo n. 1: dall'applet di NetworkManager

Prova a disabilitare la rete wireless sotto l'applet di rete accessibile da sotto le icone nella parte superiore destra del desktop.

                                                    ss #!

NOTA: l'icona dell'applet di rete sembra un cuneo triangolare. L'immagine sopra punta a come la freccia n. 1. Se fai clic su di esso, dovresti visualizzare un menu da cui è possibile disabilitare il wireless in modo permanente, freccia n. 2.

Metodo n. 2 - / etc / network / interfaces

Dal file /etc/network/interfacesè possibile specificare che NetworkManager non dovrebbe controllare l' wlan0interfaccia. Per fare ciò è sufficiente aggiungere questa riga al file sopra menzionato:

iface wlan0 inet manual

Quindi riavviare NetworkManager:

$ sudo service network-manager restart

Riferimenti


1
Il metodo 1 funziona solo se hai solo una scheda wifi ...
xuhdev

0

Ho dovuto fare qualcosa di simile a questo, ma volevo che il dispositivo non si accendesse affatto. Abbiamo coperto fisicamente una porta Ethernet in un dispositivo basato su Linux e quindi non dovrebbe apparire affatto.

L'ho fatto con le regole di udev.

Questa regola udev indicherà a linux di rimuovere il dispositivo pci quando viene aggiunto un dispositivo di rete con ID_NET_NAME_ONBOARD di eno2. Aggiungilo ad es /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'"

Le variabili di ambiente magico come ID_NET_NAME_ONBOARD sono impostate da udev qui . Ho copiato alcuni esempi dal commento in quel file qui sotto.

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

Durante il test delle regole dovrai eseguire un comando come il seguente per assicurarti che tutto corrisponda e che la sintassi sia corretta.

# 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

Puoi disabilitare permanentemente un'interfaccia di rete usando systemd. Ad esempio se si desidera disabilitare 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)                                                   

Quindi prendili uno per uno, controlla cosa fanno:

$ 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

Stop e disabilitarli:

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

La disabilitazione, wpa_supplicant@wlan0.servicead esempio, avrà l'effetto che l'interfaccia wlan0 non tenterà di connettersi alla rete wireless.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.