You can use any one of the following methods to change the hostname and/or ip-address on RedHat related distributions.
If you want to change only the hostname you can either do it from command line, or from GUI as explained below.
To change the ip-address along with the hostname, follow the steps shown below.
I. Change HostName From Command Line
1. Use hostname command to Change Hostname
In this example, we’ll change the hostname from dev-server to prod-server.
hostname command by default will display the current hostname as shown below:
# hostname dev-server
The following will change the hostname to prod-server.
# hostname prod-server
Once the hostname is changed, verify that it has changed the hostname successfully. As you see below, it has changed the hostname to prod-server
# hostname prod-server
2. Modify the /etc/hosts file
If you have entries in the /etc/hosts file with the old hostname, you should modify it.
For example, the entry for 127.0.0.1 line in the /etc/hosts file will still show the old hostname. In this example, it shows as dev-server.
$ cat /etc/hosts 127.0.0.1 dev-server localhost.localdomain localhost
Modify this file, and set the new hostname here. For example, change dev-server to prod-server as shown below.
$ cat /etc/hosts 127.0.0.1 prod-server localhost.localdomain localhost
3. Modify the /etc/sysconfig/network file
The /etc/sysconfig/network file also has an entry for HOSTNAME. Change the value here as shown below.
# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=prod-server
4. Restart the Network
Restart the network service, if you want any other services that are using the hostname to pickup the changes.
# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ]
If this is not a production system, you can also reboot the system to make sure the hostname is changed properly, and the system is picking it up properly during startup.
II. Change Hostname from UI
If you have desktop related utilities installed on your system, you can change the hostname from the GUI.
Execute system-config-network from the command line.
# system-config-network
This will display the “Network Configuration” GUI. Go to the “DNS” tab and change the hostname from here as shown below.
III. Change the IP-Address
1. Change ip-address Temporarily Using ifconfig
You can change the ip-address of the server using ifconfig command as we discussed earlier. For example, the following changes the ip-address of the server on eth0 interface to 192.168.1.2
# ifconfig eth0 192.168.1.2
2. Change ip-address Permanently
Under the /etc/sysconfig/network-scripts directory, you’ll see file for every network interface on your system. For example, if your interface is “eth0”, you’ll see ifcfg-eth0 file under this directory.
Modify the ifcfg-eth0 file and change the IPADDR field accordingly as shown below to change the ip-address.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO=none NM_CONTROLLED="yes" ONBOOT=yes TYPE="Ethernet" UUID="11111-2222-3333-4444" IPADDR=192.168.1.2 PREFIX=24 GATEWAY=192.168.1.1 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System em1" HWADDR=DD:BB:DD:AA:11:55
3. Modify /etc/hosts file
If you’ve defined the ip-address in the /etc/hosts file, make sure to change those also. For example, if you have a FQDN that was pointing to the old ip-address in the /etc/hosts file, change it to the new ip-address. Depending on how you’ve configured your system, you might not have to do this step.
$ vi /etc/hosts 127.0.0.1 prod-server localhost.localdomain localhost 192.168.1.2 prod-server.mydomain.com
4. Restart the Network
Finally, restart the network service, for the system to pick-up the changes.
# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ]
If this is not a production system, you can also reboot the system to make sure the hostname and ip-address is changed properly, and the system is picking it up properly during startup.
Comments on this entry are closed.
Will this work for VM also? I am looking to make my VM’s IP public. Is that possible using the above mechanism.
Hi,
Simple but very useful material
Please note that just changing the host name as described in 1 will not survive a reboot.
That would change the host name only on that session.
The other options are valid.
Nice Article ..
Good stuff. I noticed one spelling mistake…
II. Change Hostname from UI –> I think it should be GUI. Can you please correct it?
Don’t forget that to ensure that the hostname is persistent against reboots that you will also have to change the
hostname in the
/etc/sysconfig/network file on RHEL/CENTOS systems.
Thanks dear, it help lot for me.
Helpful material.
system-config-network is the best way to setup the hostname permanently, this would be ideal if you are you RHEL also you do not need any script in startup to save the changes permanently.
#cat /etc/hosts (to change the hostname )
before ediitng any file we have to take the back up
#cat /etc/sysconfig/network-scripts/ifcgf-eth0
here u have to modify the ipaddress,gateway,subnetmask
#cat /etc/sysconfig/network
here we have to modify the