Recently on Reddit, someone wrote:
[…]There are minor differences in command syntax when comparing CentOS and RHEL. For example, nmcli and the lvm management both functioned incorrectly I found when I was using the utilities extensively on CentOS (this is compared to what was advised in the RHEL course, and alongside my past knowledge of LVM, the errors being presented shouldn’t of occurred – and indeed didn’t when I tried repeated them on RHEL the following day).
[…]Perfect example is the following: You’ve got an existing connection named “System eth0”, and you plan to adjust the “ipv4.addresses” field to set an IP address and a gateway. In RHEL, you’d type the following:
nmcli connection modify “System eth0” ipv4.addresses “10.0.0.1/24 10.0.0.254”
This would set the first field as the IP, and the second as the gateway.
In CentOS however, you’ll get an error like the following:
“ERROR: 24 10.0.0.254 isn’t a valid prefix.”
Because many candidates intensively use CentOS for preparing their exams, I thought this question would deserve a clear answer. I asked Karanbir Singh, the lead developer for CentOS, via Twitter.
Here, what he answered:
that’s an incorrect assertion, NetworkManager / nmcli has been verified to have similar functionality.
Fabian Arrotin, a member of the CentOS team, also wrote:
difference between NetworkManager 0.9.9 from el 7.0 and then bumped to 1.0.0 in el7.1 ? (and RHCE course for 7.0) ?
I found Fabian‘s answer very interesting.
I launched two VMs, one in RHEL 7.0 and one in RHEL 7.1. I then checked the behaviour of the nmcli command. Here what I got:
On the RHEL 7.0 VM:
# nmcli con mod "System eth0" ipv4.addresses "192.168.122.80/24 192.168.122.254" #
On the RHEL 7.1 VM:
# nmcli con mod "System eth0" ipv4.addresses "192.168.122.80/24 192.168.122.254" Error: failed to modify ipv4.addresses: invalid prefix '24 192.168.122.254'; <1-32> allowed.
How could you say that CentOS doesn’t behave like RHEL when two versions of RHEL give different results? This is the version of NetworkManager that matters!
In the RHEL 7.0 case, you’ve got NetworkManager-0.9.9.1.
In the RHEL 7.1 case, it is NetworkManager-1.0.0.
I found one bug fix affecting the gateway syntax (rh #1170199: Unable to add static IP address with gateway) in the changelog between the two versions but there are perhaps more of them.
Conclusion1: Don’t use this kind of syntax any more:
# nmcli con mod "System eth0" ipv4.addresses "10.0.0.1/24 10.0.0.254"
Do it in two steps:
# nmcli con mod "System eth0" ipv4.addresses 10.0.0.1/24 # nmcli con mod "System eth0" ipv4.gateway 10.0.0.254
Conclusion2: It is rather easy to spread a wrong rumor, but this is no good for anyone!
Could you also review setting for NFS kerberos setting between RHEL 7 and Centos 7?
There is no nfs-secure-server nfs-secure commands in Centos 7
I need to review all the Kerberos/NFS settings. I will check if there are differences between RHEL 7.x and CentOS 7.x at this time.
And this is why you stick with manually editing the ifcfg-x file, provided you know at least the syntax of that file regarding static IP assignment and gateway.
That way you don’t have to deal with versioning and typos while banging out an nmcli- inspired string. And can save you super-valuable time at the exam.
This is an option if you already know previous RHEL/CentOS distributions but it’s not the only one.