Network Helper Fails with Rocky Linux + Legacy Networking
Hello All!
First post here (well, in the new incarnation of the Forum) in something like 15 years…
I've crashed against what I believe is a bug within Network Manager when Rocky Linux is run in Legacy Networking mode and Linode Support is not being helpful, so posting here in the hope someone can steer me.
Context: My network configurations are quite basic, so I've always used Network Helper as a way to make sure they are up to date and reduce manual management. I know I can fix the issue I'm about to describe (and have indeed done so, temporarily) by switching to manual configuration, but I also want to track this down and get a fix.
tl;dr: I installed two new Rocky Linux 8 Linodes to support a legacy service (cPanel… I know) which can't deal with NetworkManager and requires RHEL's legacy Network Service / Scripts. On reboot, the two Linodes are coming back online without a Default Route and thus without network connectivity.
I have traced down the issue to this line in the /etc/sysconfig/network-scripts/ifcfg-eth0
created by Linode's Network Helper:
GATEWAY0=172.232.206.1
NetworkManager can correctly interpret it, whereas the legacy Network Scripts need it to be like this (note the "0" going away):
GATEWAY=172.232.206.1
At this point I went looking at my Alma Linux Linodes (assuming whatever is broken on Rocky Linux should be broken on Alma Linux too) to check why they were working, and figured out Network Helper correctly handles this exception in there and puts the gateway under GATEWAY
(as opposed to GATEWAY0
) if legacy networking is in use.
Repro below with some more details, any help would be appreciated!
1 - Create two Linodes, one Rocky Linux 8 (hostname ROCKY) and one AlmaLinux 8 (hostname ALMA)
2 - Validate Network Helper correctly created /etc/sysconfig/network-scripts/ifcfg-eth0
with the GATEWAY0
line on both:
[root@ROCKY /]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY0=172.236.0.1
[root@ALMA ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY0=172.236.0.1
3 - Flip to legacy networking mode:
3.1 - Install network-scripts (yum install network-scripts network-scripts-team)
3.2 - Disable NetworkManager (systemctl disable NetworkManager)
3.3 - Enable legacy Network service (systemctl enable network.service)
4 - Reboot
5 - At this poing ALMA will come back online, ROCKY won't.
6 - Connect through LISH, validate ALMA has a default route, ROCKY doesn't:
[root@ROCKY /]# ip r
169.254.0.0/16 dev eth0 scope link metric 1002
172.236.0.0/24 dev eth0 proto kernel scope link src 172.236.0.165
[root@ALMA ~]# ip r
default via 172.236.0.1 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
172.236.0.0/24 dev eth0 proto kernel scope link src 172.236.0.70
7 - When you look into /etc/sysconfig/network-scripts/ifcfg-eth0
, you will find out Alma Linux got the correct config statement GATEWAY
, Rocky Linux got the incorrect (for this networking setup) GATEWAY0
:
[root@ROCKY /]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY0=172.236.0.1
[root@ALMA ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=172.236.0.1
What it seems to be happening here, as said above, is NetworkHelper correctly detecting which network configuration (legacy or networkmanager) is in use on AlmaLinux but not doing the same on Rocky Linux, which results in it injecting a configuration which is not compatible when legacy networking when it's in use.
I'm somewhat sospicious someone noticed the issue with AlmaLinux and fixed Network Helper's behaviour for this OS, but forgot to port to Rocky and the other "bug for bug compatible" distros. The other option is that the OS is behaving differently in some way, but Alma and Rocky have widely been interchangeable so far and it would be strange.
The fact Network Helper runs completely outside of my Linode obviously makes this impossible to troubleshoot for me.
1 Reply
I did some testing and was able to replicate the situation you described, so I have reached out the the team who manages our distros to investigate further.
One thing to keep in mind is that disabling the internal NetworkHelper running in Rocky/Alma 8 is different than disabling Network Helper within the platform. After manually modifying the Rocky 8 config to change from GATEWAY0
to GATEWAY
(legacy mode), it will lose networking again after a reboot if Network Helper is enabled.
Otherwise, as you've already pointed out, manually configuring your Linode's network interface is a viable solution for many networking issues, especially ones that stem from our Network Helper:
Out of curiosity, was there a technical/preferential reason you chose to manually reinstall cPanel on Rocky/Alma 8 as opposed to using our Marketplace deployment images which use Rocky/Alma 9? No pressure or judgment, merely interested in learning more about your use-case/any reasons you may have shied away from configuring your setup that way.