CentOS 7 virtual machines on VMware will by default use predictable network device naming for network interfaces on the machine, causing their names to be in enoXXXXXXXX format.
This will cause issues when adding 10 or more additional IPs in WHM, as network interface name will be longer than the 15 characters.
Maximum length supported for network interface name on cPanel servers is 15 characters.
When starting ipaliases service, only first 9 additional IPs will be added, and for rest of the IPs error “RTNETLINK answers: Numerical result out of range” will be shown, and IPs will not be shown in ip addr
, or ifconfig
output.
[root@server ~]# /scripts/restartsrv_ipaliases Waiting for "ipaliases" to stop ...finished. Waiting for "ipaliases" to start ...finished. Service Status Startup Log Oct 03 20:29:20 server.example.com ipaliases[233833]: [FAILED] Oct 03 20:29:20 server.example.com ipaliases[233833]: Bringing up eno33559296:cp14 RTNETLINK answers: Numerical result out of range Oct 03 20:29:20 server.example.com ipaliases[233833]: [FAILED] Oct 03 20:29:20 server.example.com ipaliases[233833]: Routing 204.93.248.69 RTNETLINK answers: Invalid argument Oct 03 20:29:20 server.example.com ipaliases[233833]: [FAILED] Oct 03 20:29:20 server.example.com ipaliases[233833]: Bringing up eno33559296:cp15 RTNETLINK answers: Numerical result out of range Oct 03 20:29:20 server.example.com ipaliases[233833]: [FAILED] Oct 03 20:29:20 server.example.com ipaliases[233833]: Routing 204.93.248.70 RTNETLINK answers: Invalid argument Oct 03 20:29:20 server.example.com ipaliases[233833]: [FAILED] Oct 03 20:29:20 server.example.com systemd[1]: Started cPanel IP aliases service. Log Messages Oct 3 20:29:20 server ipaliases: [FAILED] Oct 3 20:29:20 server ipaliases: Routing x.x.x.x RTNETLINK answers: Invalid argument Oct 3 20:29:20 server ipaliases: [FAILED] Oct 3 20:29:20 server ipaliases: Bringing up eno33559296:cp15 RTNETLINK answers: Numerical result out of range
To resolve the issues, network devices can be renamed back to old ethX type of naming.
To rename network devices to old names following steps are needed.
- Edit /etc/sysconfig/grub
- Update GRUB configuration with new kernel parameters
- Rename network files
- Edit renamed network files
- Reboot the server
To rename devices do the following
Find a line containing “GRUB_CMDLINE_LINUX”, and append “net.ifnames=0 biosdevname=0“ on the line.
File should look something like this.
[root@server ~]# cat /etc/sysconfig/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=myvg/rootvol rhgb quiet net.ifnames=0 biosdevname=0" GRUB_DISABLE_RECOVERY="true"
Update GRUB configuration with new kernel parameters, with following command:
grub2-mkconfig -o /boot/grub2/grub.cfg
Rename enoXXXXXXXX network files of all interfaces to ethX network file.
For example:
mv /etc/sysconfig/network-scripts/ifcfg-eno16777984 /etc/sysconfig/network-scripts/ifcfg-eth0 mv /etc/sysconfig/network-scripts/ifcfg-eno33557248 /etc/sysconfig/network-scripts/ifcfg-eth1
This will rename file ifcfg-eno16777984, to ifcfg-eth0, renaming interface eno16777984 to eth0, and will rename file ifcfg-eno33557248, to ifcfg-eth1, renaming interface eno33557248, to eth1.
Replace value of both NAME and DEVICE field with new ethX names.
File should look something like this.
[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=static NAME=eth0 UUID=b02f4abf-f6da-4ad4-b800-4abf4fe1d50d DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=yes IPADDR=x.x.x.x NETMASK=255.255.255.0 GATEWAY=x.x.x.1
Reboot the server, and you should now see network interfaces using old CentOS 6 style names.
Additional changes for cPanel servers
Change public network interface in Basic cPanel & WHM Setup.
Go to Home »Server Configuration »Basic cPanel & WHM Setup and change public interface from old enoXXXXXXXX to new ethX name.
Restart ipaliases service with /scripts/restartsrv_ipaliases
.