NetworkManager and the Vanishing /etc/resolv.conf

I rebooted a Fedora 25 server to find the network interface did not come up.  Using the old “ifup eth0” returned an error.

 /etc/resolv.conf "no such file or directory"

Huh?  ls /etc/resolv.conf returns /etc/resolv.conf

It turns out NetworkManager replaces /etc/resolv.conf with a symbolic link to a NetworkManager directory.

Since NetworkManager is about as useful as lipstick on a pig with a server, it has to be removed. When you remove NetworkManager, it leaves /etc/resolv.conf as a dead symbolic link.  Which, you don’t see without ls -lh /etc/resolv.conf.

When systemd’s init tries to bring up the interface without NetworkManager, there’s no /etc/resolv.conf there to write DNS information and therefore the interface never comes up.

TL;DR The three commands below fix it.

rm /etc/resolv.conf;  ifdown eth0; ifup eth0;