如何让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执行它。