The networking stuff in RHEL is kept in /etc/sysconfig/network-scripts and /etc/sysconfig/networking.
In the former you will need to create "ifcfg-<nic>" for each NIC you want to configure. (e.g. ifcfg-eth0).
A good example file for an eth0:
ETHTOOL_OPTS="autoneg off speed 100 duplex full"
You can have a look at the ifup script in this directory.
ifconfig of course can be used to configure NICs but I'm not sure if it automatically writes to the above files. I did most of my changes by either manual edits or using the GUIs.
ethtool can be used for configuring the NIC speed, duplex and negotiation. As can bee seen from the above I've input ethtool options so it will automatically set these items at boot for the NIC.
There is a file called:
For doing the config. It will use text based user interface for the configs. I just pulled it up to verify it opened successfully in my PuTTY window but have never used it for actual config
Not sure if Centos has all the above.