如何让NetworkManager忽略我的无线网卡?

我不希望NetworkManager列出或操作我的无线网卡。 我能以某种方式从NetworkManager隐藏其界面吗?

我试过在/etc/network/interfaces添加它,

 iface wlan0 inet static address 192.168.1.101 netmask 255.255.255.0 gateway 192.168.1.1 wireless-essid Synaptotagmin pre-up wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf post-down killall -q wpa_supplicant 

这在/etc/NetworkManager/nm-system-settings.conf

 [main] plugins=ifupdown,keyfile [ifupdown] managed=false [keyfile] unmanaged-devices=/org/freedesktop/Hal/devices/net_00_19_e0_57_86_af 

但NetworkManager Applet仍然列出并允许我连接到无线网络。

根据Gnome Wiki ,/ /etc/NetworkManager/NetworkManager.conf /网络管理器中的语法(在旧版本中为/etc/NetworkManager/nm-system-settings.conf )与我读到的Arch Linux Wiki不同 。 它应该是:

 [main] plugins=ifupdown,keyfile [ifupdown] managed=false [keyfile] unmanaged-devices=mac:00:19:e0:57:86:af 

这种配置使NetworkManager无视我的无线网卡的存在,但仍允许我使用其他方法控制它。

我认为错误的路线可能是:

 unmanaged-devices=/org/freedesktop/Hal/devices/net_00_19_e0_57_86_af 

因为我没有找到官方文档中指定的格式。

有效格式为unmanaged-devices=mac:或者在最近的Network Manager版本中, unmanaged-devices=interface-name: 。 两者以分号分隔在一起,例如:

 unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2 

这是NetworkManager.conf手册的摘录:

非托管设备

设置使用密钥文件插件时NetworkManager应忽略的设备。 设备按以下格式指定:

mac:或interface-name:。 这里hwaddr是要忽略的设备的MAC地址,采用hex数字和冒号表示法。 ifname是被忽略设备的接口名称。

多个条目用分号分隔。 值中不允许使用空格。

例:

非托管设备=接口名:EM4

非托管设备= MAC:00:22:68:1C:59:B1; MAC:00:1E:65:30:D1:C4;接口名:ETH2

使用以下/etc/NetworkManager/nm-system-settings.conf

 [main] plugins=ifupdown,keyfile [ifupdown] managed=false 

这样,来自/etc/network/interfaces将不受网络管理器的管理,即它不会尝试对它们执行任何操作。

在Ubuntu 14.04中,它位于/etc/NetworkManager/NetworkManager.conf 。 但您可能需要处理权限。

备用KEYFILE方法

无论哪个Linux发行版正在运行,都可以使用另一种方法告诉Network Manager停止控制接口。 这是通过/etc/NetworkManager/NetworkManager.conf添加到网络管理器配置文件/etc/NetworkManager/NetworkManager.conf

 [main] plugins=keyfile [keyfile] unmanaged-devices=mac:00:11:22:33:44:55;mac:66:77:88:99:00:aa 

列出您希望网络管理器忽略的每个接口的MAC地址,以分号分隔。 确保此处列出的MAC地址为LOWER CASE(如果已经有一个带有plugins=...的部分[main] ,请将插件keyfile添加到该列表中)

要获取设备的mac地址,请使用wlan0

 LANG=c ifconfig wlan0|grep HWaddr 

这将显示设备的mac,类似于

 wlan0 Link encap:Ethernet HWaddr ac:51:4f:70:13:72 

用。重启NetworkManager

 sudo /etc/init.d/network-manager restart 

我假设你在Ubuntu桌面上; 如果是这种情况,请右键单击nm-applet(我想你只需点击Natty)并取消选中“启用无线”。 唯一需要注意的是,每次登录时都必须这样做。

只需创建一个包含killall -q wpa_supplicant.sh文件,并在登录时使用cron执行它。