Como desativar permanentemente uma interface de rede?


22

Eu trouxe uma interface de rede com ifconfig wlan0 down, mas a cada poucas horas mais ou menos, a wlan0interface volta e não consigo descobrir o porquê.

Eu não reinicio a máquina, nunca mudei /etc/network/interface. Acho que minha pergunta é: como eu iria desativar "permanentemente" wlan0. Eu uso /etc/network/interface? Eu já tenho ifconfig wlan0 downno meu rc.local.

Respostas:


32

Método # 1 - do Applet do NetworkManager

Tente desativar a rede sem fio no Applet de rede acessível sob os ícones no canto superior direito da área de trabalho.

                                                    ss #!

NOTA: O ícone do miniaplicativo de rede se parece com um triângulo. A imagem acima está apontando para está na seta nº 1. Se você clicar nele, verá um menu deslizando para fora, de onde você pode desativar a conexão sem fio permanentemente, seta # 2.

Método # 2 - / etc / network / interfaces

No arquivo, /etc/network/interfacesvocê pode especificar que o NetworkManager não deve controlar a wlan0interface. Para fazer isso, basta adicionar esta linha ao arquivo mencionado acima:

iface wlan0 inet manual

Em seguida, reinicie o NetworkManager:

$ sudo service network-manager restart

Referências


1
Método 1 só funciona se você tiver apenas um cartão wi-fi ...
xuhdev

0

Eu tinha que fazer algo parecido com isso, mas queria que o dispositivo não surgisse. Cobrimos fisicamente uma porta Ethernet em um dispositivo baseado em Linux e, portanto, ela não deve aparecer.

Eu fiz isso com as regras do udev.

Esta regra do udev dirá ao linux para remover o dispositivo pci quando um dispositivo de rede que possui o ID_NET_NAME_ONBOARD de eno2 é adicionado. Adicione-o a, por exemplo /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'"

As variáveis ​​de ambiente mágicas como ID_NET_NAME_ONBOARD são definidas pelo udev aqui . Copiei alguns exemplos do comentário nesse arquivo abaixo.

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

Ao testar suas regras, você precisará executar um comando como o seguinte para garantir que tudo esteja correspondendo e a sintaxe esteja correta.

# 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

Você pode desativar permanentemente uma interface de rede usando o systemd. Por exemplo, se você deseja desativar 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)                                                   

Em seguida, leve-os um por um, veja o que eles fazem:

$ 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

Pare e desative-os:

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

Desabilitar, wpa_supplicant@wlan0.servicepor exemplo, fará com que a interface wlan0 não tente se conectar à rede sem fio.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.