如何永久禁用网络接口?

Uxo*_*ith 24 networking ubuntu

我已经关闭了一个网络接口ifconfig wlan0 down,但每隔几个小时左右,wlan0接口就会恢复,我不知道为什么。

我不重启机器,从未改变/etc/network/interface。我想我的问题是,我将如何“永久”禁用wlan0. 我用/etc/network/interface吗?我已经ifconfig wlan0 down在我的rc.local

slm*_*slm 33

方法 #1 - 来自 NetworkManager 的 Applet

尝试在可从桌面右上角的图标下访问的网络小程序下禁用无线网络。

                                                    ss#!

注意:网络小程序的图标看起来像一个三角形楔子。上图所指的是箭头 #1。如果单击它,您应该会看到一个菜单滑出,您可以从那里永久禁用无线,箭头 #2。

方法#2 - /etc/network/interfaces

从文件中,/etc/network/interfaces您可以指定 NetworkManager 不应控制wlan0接口。为此,只需将此行添加到上述文件中:

iface wlan0 inet manual
Run Code Online (Sandbox Code Playgroud)

然后重启网络管理器:

$ sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)

参考

  • 方法 1 仅在您只有一张 wifi 卡时才有效... (2认同)

小智 5

我必须做类似的事情,但希望该设备根本不出现。我们已经物理地掩盖了基于 Linux 的设备中的以太网端口,因此它根本不应该出现。

我用 udev 规则做到了这一点。

当添加 ID_NET_NAME_ONBOARD 为 eno2 的网络设备时,此 udev 规则将告诉 linux 删除 pci 设备。将其添加到例如/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'"
Run Code Online (Sandbox Code Playgroud)

像 ID_NET_NAME_ONBOARD 这样的神奇环境变量是由 udev在这里设置的。我从下面该文件的评论中复制了一些示例。

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
Run Code Online (Sandbox Code Playgroud)

测试规则时,您需要运行如下命令以确保一切匹配且语法正确。

# 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
Run Code Online (Sandbox Code Playgroud)