When your Debian server throws network issues, especially after a restart, it can bring operations to a halt. A common error that many administrators face, after commands ifup eth0 or /etc/init.d/networking restart is:
failed to open statefile /var/run/ network/
ifstate: No such file or directory
This issue, while common, can be quite vexing as it directly affects the server’s connectivity. But there’s hope! I’ve grappled with this error and have found the way out. Here’s a detailed guide to restoring your network and putting this problem behind you.
The crux of this issue often lies in the missing /var/run/network directory and the /var/run/network/ifstate file. You might think that manually creating these would solve the problem (and using ifup -a does restore the network momentarily), but they vanish after every reboot.
To fix this for good, a tweak to the /etc/init.d/networking file is needed. Right after the line stating start), introduce:
start)
[ -d /var/run/network ] || mkdir /var/run/network
[ -f /var/run/network/
ifstate ] || touch /var/run/ network/ ifstate
Once incorporated, your server’s networking should work seamlessly.
In my quest for answers, I also stumbled upon suggestions to delete either /etc/udev/rules.d/85-ifupdown.rules or /lib/udev/rules.d/85-ifupdown.rules. However, in my scenario, neither of these files existed.
