Как я могу заставить 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 по-прежнему перечисляет и позволяет мне подключаться к беспроводным сетям.

23
задан 17 January 2011 в 22:47

7 ответов

Согласно 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 не замечающим существование моей беспроводной карты, но все же позволяет мне контролировать ее, используя другие методы.

0
ответ дан 17 January 2011 в 22:47

Используйте следующее /etc/NetworkManager/nm-system-settings.conf:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

Таким образом, ваши интерфейсы из /etc/network/interfaces не будут управляться Network Manager, т.е. он не будет пытаться что-либо с ними делать.

0
ответ дан 17 January 2011 в 22:47

Альтернативный метод KEYFILE

Независимо от того, какой дистрибутив linux запущен, альтернативный метод может быть использован, чтобы сообщить Network Manager о прекращении управления интерфейсом. Это делается путем добавления следующих строк в файл конфигурации Network Manager /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-адресов каждого интерфейса, который Network Manager должен игнорировать, через точку с запятой. Убедитесь, что MAC-адреса, перечисленные здесь, являются LOWER CASE (если там уже есть раздел [main] с plugins=..., добавьте в этот список плагин keyfile)

Чтобы получить MAC-адрес вашего устройства wlan0 use

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
0
ответ дан 17 January 2011 в 22:47

В Ubuntu 14.04 он находится в /etc/NetworkManager/NetworkManager.conf. Но вам, возможно, придется иметь дело с разрешениями.

0
ответ дан 17 January 2011 в 22:47

Я предполагаю, что вы на Ubuntu Desktop; в этом случае щелкните правой кнопкой мыши на nm-applet (я думаю, что на Natty вы просто нажимаете) и снимите флажок «Включить беспроводную связь». Единственное предостережение в том, что вам придется делать это каждый раз, когда вы входите в систему.

0
ответ дан 17 January 2011 в 22:47

Я думаю, что неправильная строка может быть:

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 :

неуправляемых устройств

]

Установите устройства, которые должны игнорироваться NetworkManager при использовании плагина keyfile. Устройства указываются в следующем формате:

mac: или interface-name :. Здесь hwaddr - это MAC-адрес устройства, которое следует игнорировать, в шестнадцатеричной системе счисления. ifname - это имя интерфейса игнорируемого устройства.

Несколько записей разделяются точкой с запятой. Пробелы в значении не допускаются.

Пример:

unmanaged-devices = имя-интерфейса: em4

unmanaged-devices = mac: 00: 22: 68: 1c: 59: b1; mac: 00: 1E: 65: 30: D1: C4; имя интерфейса: eth2

0
ответ дан 17 January 2011 в 22:47

Просто создайте файл .sh, содержащий killall -q wpa_supplicant, и выполните его, используя cron при входе.

0
ответ дан 17 January 2011 в 22:47

Другие вопросы по тегам:

Похожие вопросы: