Как отключить Network Manager

02.03.2021, 20:45

В некоторые дистрибутивы Linux по умолчанию установлен многофункциональный менеджер управления сетевыми подключениями, который носит название Network Manager. В некоторых случаях потребность в нем отпадает, и пользователи ищут способы его отключить.

Причины самые разные: потребность управлять Wi-Fi адаптером, настроить интернет из консоли, появился альтернативный способ управлять сетью. Независимо от дистрибутива с этой целью можно воспользоваться утилитой systemctl.

Итак, чтобы отключить Network Manager Ubuntu, CentOS или Debian, достаточно выполнить команду:

$ sudo systemctl stop

Убедитесь, что программа NetworkManager отключилась при помощи nmcli:

$ nmcli list

Появится служебное сообщение, что программа больше не управляет сетевыми настройками. Для отключения NetworkManager сразу после загрузки системы необходимо выполнить команду:

$ sudo systemctl disable

Вы можете запретить программе настраивать сеть для интерфейсов. Для этого необходимо добавить команду в строчку

/etc/NetworkManager/NetworkManager.conf:
$ vi /etc/NetworkManager/NetworkManager.conf
managed = false

Дальше необходимо добавить конфигурацию для интерфейса, например enp0s2 в файл, /etc/network/interfaces, если он там отсутствует:

$ vi /etc/network/interfaces
iface eth1 inet static
address 192.168.0.102
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8

Для CentOS или Fedora надо создать подобный конфигурационный файл интерфейса в папке /etc/sysconfig/network/.

Например:

vi /etc/sysconfig/network/enp0s3.conf

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=enp0s3
UUID=9c3362c0-a615-4504-bb07-f2951f3810dd
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8


После перезагрузки указанный интерфейс больше не будет управляться посредством NetworkManager. Но и это не все. Если вы решили удалить программу, поскольку потребность в ней полностью отпала, выполните такую команду:

$ sudo apt remove network-manager

В старых версиях Ubuntu команда несколько отличается:

$ echo "manual" | sudo tee /etc/init/network-manager.override

Введите пароль и перезагрузите систему. Если вы не удалили менеджер, а просто отключили, и спустя время он стал нужен, воспользуйтесь командами:

$ sudo systemctl enable NetworkManager
$ sudo systemctl start NetworkManager

Но не забудьте удалить строчку managed=false.