Network Manager is a feature-rich network configuration service which is used by default in most Linux desktop environments nowadays. It provides automatic configuration of (wired/wireless) network interfaces, as well as VPN, mobile broadband and even Bluetooth connections. Network Manager is smart enough to automatically switch to the best (or the most recent) connection network, and can inform other applications of up-to-date network events via D-Bus API.
While Network Manager comes with various sophisticated features, you might just prefer the old plain network service. There could be several reasons to do so. For one, you may wish to have more control over network management, instead of relying on purely automatic configuration and switch-over, which may or may not suit your needs. Besides, Network Manager is not suitable for advanced networking setup, such as multi-homing to more than one wired connections, forwarding network traffic, configuring Linux bridge or aliases, etc.
In general, Network Manager is designed to keep a typical end-user Linux box connected at all times with the best possible connection with minimum intervention by users. If such automation is not needed in your Linux environment, you can turn off Network Manager.
This tutorial describes how to disable Network Manager in various Linux desktop environments. Be careful if you are trying to disable Network Manager on a remote host, as you will lose connectivity if you fail to set up its networking correctly in some other means.
Check Which Network Interfaces are Managed by Network Manager
To check if Network Manager is managing any network interface, you can use nmcli, which is a command line utility that comes with Network Manager.
DEVICE TYPE STATE eth1 802-3-ethernet connected eth0 802-3-ethernet connected
The above command will list all existing network interfaces along with their STATE. If STATE is shown as "unmanaged", this means Network Manager is NOT controlling a corresponding interface. If STATE displays any other values (e.g., "connected"), it implies that a given interface is managed by Network Manager.
Disable Network Manager Completely
Here is how to disable Network Manager completely, so that Network Manager stops running on your Linux system.
To disable Network Manager on Debian 8 or later:
$ sudo systemctl disable NetworkManager.service
To disable Network Manager on Debian 7 or earlier:
$ sudo update-rc.d network-manager remove
To disable Network Manager on Ubuntu or Linux Mint:
$ echo "manual" | sudo tee /etc/init/network-manager.override
After disabling Network Manager on Debian or Ubuntu, use /etc/network/interfaces to configure network interfaces.
To disable Network Manager on Fedora or CentOS/RHEL 7 or later:
$ sudo systemctl disable NetworkManager.service
To disable Network Manager on CentOS/RHEL 6 or earlier:
$ sudo chkconfig NetworkManager off
After disabling Network Manager on Fedora or CentOS, use /etc/sysconfig/network-scripts/ifcfg-ethX files to configure network interfaces.
Disable Network Manager for a Particular Network Interface on Debian, Ubuntu or Linux Mint
To disable Network Manager only for eth1 on Debian, Ubuntu or Linux Mint, you can do the following.
First, open the Network Manager configuration file in /etc/NetworkManager with a text editor, and set "managed=false", typically shown under [ifupdown].
[ifupdown] managed=false
Then in /etc/network/interfaces, add information about the interface you want to disable Network Manager for. In this example, the interface is eth1, and we are using static IP configuration.
# The loopback network interface auto lo iface lo inet loopback # network interface not managed by Network Manager allow-hotplug eth1 iface eth1 inet static address 10.0.0.10 netmask 255.255.255.0 gateway 10.0.0.1 dns-nameservers 8.8.8.8
Then Network Manager automatically ignore any interfaces specified in /etc/network/interfaces, and stop managing them.
After rebooting, verify that Network Manager is successfully disabled for eth1.
Disable Network Manager for a Particular Network Interface on Fedora or CentOS/RHEL
The following steps will disable Network Manager for eth1 on Fedora, CentOS or RHEL.
Create an interface configuration file for eth1 (if not exist), and add "NM_CONTROLLED=no".
TYPE="Ethernet" NAME="eth1" BOOTPROTO="static" IPADDR=10.0.0.10 NETMASK=255.255.255.0 GATEWAY=10.0.0.1 HWADDR="00:90:29:95:EA:57" ONBOOT="yes" DEFROUTE="yes" NM_CONTROLLED=no
Now enable network service so that eth1 is activated by network service automatically upon boot.
On Fedora or CentOS/RHEL 7 or later:
On CentOS/RHEL 6 or earlier:
Upon rebooting, verify that Network Manager is successfully disabled for eth1 with nmcli command.
Subscribe to Xmodulo
Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.
Support Xmodulo
Did you find this tutorial helpful? Then please be generous and support Xmodulo!





Subscribe to Xmodulo
Support Xmodulo
So let me ask the n00b question... if Network Manager is so "feature-rich" and so popular, why are we disabling it? What scenarios or issues would call for this action?
I ask because I recently ran into a spat of network issues on my laptop which eventually led to doing a wipe and load of Ubuntu (it wasn't a production machine so wipe and load wasn't a big issue).
It might be a personal choice. e.g., I want to control my network interfaces my way, not have NM do it for me. Besides, when you need more advanced networking set up (e.g., multi-homing, forwarding, linux bridge setup), you cannot rely on Network Manager. See the updated post.
You absolutely do _not_ want NetworkManager running on a multiuser server else you will get inexplicable network drops, routing surprises, and general network-related strangeness. Server networking is usually hand-crafted with specific goals in mind such as traffic isolation, quality-of-service, redundancy and specific fault-tolerance behavior.
NetworkManager breaks all that, even on networks it has been told not to manage.
Network manager does make good sense on a laptop where you can roam multiple networks seamlessly, automatically switch between wireless and wired networks, and if you just don't want to be bothered by all that network jive.
I don't like/use NetworkManager but it gets harder to ignore NetworkManager each new release because it is supposed to manager more and more stuff via the D-bus channels; stuff that becomes confused if communication over the D-bus is not present.
I can see what you're saying, Tommy. Coming from my Windows background I can see the need to nail down a static IP on all servers. So, yes, I agree that in the case of servers you don't want software managing the network connections, while a roaming laptop can benefit from letting NM do the heavy lifting.
Thanks for clearing that up.
Good question! I always disable it, for it cannot handle even simplest tasks out of the box. It cannot manage my permanent wired (DHCP) interface. Nothing special about it, JUST good old plain DHCP! Yet every time I log in, run YUM -- now it has network, now it hasn't. And it's always, ALWAYS been the same thing, ever since NM became part of GNOME 3, in all subsequent Fedora releases.
My conclusion: NM is too much packed with unpredictable things. In my last Fedora installation (stopped using it 2 years ago) I even forcibly deleted NM -- the binaries and systemd scripts. Yes, removed it all manually.
Just somehow the GNOME 3 team feels it's a necessary part of their product, while I feel otherwise.
if Network manager believes you're offline (since it doesn't manage interfaes..) you will get all sorts of weird side effects. try adding a new imap account in evolution...
I guess those who disable network manager, don't really use Evolution...
There is also the known fact that NM stores wi-fi passwords in plain-text. That should be reason enough to turn it off for good.
http://news.softpedia.com/news/All-Linux-Distributions-Store-Wi-Fi-Passwords-in-Plain-Text-If-You-Don-t-Use-Encryption-412387.shtml
I much prefer WICD behavior over NetworkManager, so I've removed NetworkManager as a matter of course.
The only reason NetworkManager lives on one of my present laptops is because of IPv6. When WICD with IPv6 becomes available, I will erase NetworkManager one last time.
Hi, nice post!, I use Slackware, here disable NM is very easy, just execute the following sentences:
# /etc/rc.d/rc.networkmanager stop
# chmod a+x /etc/rc.d/rc.networkmanager
NetworkManager is fine for a typical end-user workstation. Matter of fact, it's a great idea. This is true for either laptop or mid-tower desktop, and it makes wireless connectivity actually useable by a typical end-user. It's also good for thin clients under certain circumstances.
For servers, though, I always turn it off. There are certain times I need to use non-default settings that NetworkManager seems to like overwriting. Since I tend to do things "the UNIX way", i. e. not a distro-specific way, this goes more in line with my style of system administration.
So, I'm glad it's there as an option. Emphasis on the word, "option".
--SYG
Doesnt network manager automatically stop managing interfaces defined in the /etc/network/interface file ? So are the changes you suggest even necessary ? Thanks
Yes, you don't need to do anything in Debian distributions if you just add the device in /etc/network/interfaces.
I would even suggest that the editing is bad, as it will interfere with package updating.
How about just uninstalling it and configuring network by hand?
I stopped and disabled network-manager (Debian 8.2):
# /etc/init.d/network-manager stop
# update-rc.d network-manager remove
but after the restart it still starts!
gbajson@misio:~$ ps -ef | grep -i netwo
root 2692 1 0 09:52 ? 00:00:00 /usr/sbin/NetworkManager --no-daemon
root@misio:~# chkconfig | grep network-manager
network-manager off
On Debian 8 or later, you have to use systemctl to disable network-manager. Please see the update post above.