问题描述
我不希望 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:<hwaddr>
或在最近的 Network Manager 版本中为 unmanaged-devices=interface-name:<ifname>
。两者一起接受,以分号分隔,例如:
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
这是 NetworkManager.conf manual 的摘录:
\\n
unmanaged-devices
\\n
Set devices that should be ignored by NetworkManager when using the keyfile plugin. Devices are specified in the following format:
\\n
mac: or interface-name:. Here hwaddr is the MAC address of the device to be ignored, in hex-digits-and-colons notation. ifname is the interface name of the ignored device.
\\n
Multiple entries are separated with semicolons. No spaces are allowed in the value.
\\n
Example:
\\n
unmanaged-devices=interface-name:em4
\\n
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
\\n
第三种方案
使用以下 /etc/NetworkManager/nm-system-settings.conf
:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
这样,来自 /etc/network/interfaces
的接口将不受网络管理器的管理,即它不会尝试对它们做任何事情。