I know this post is way too old, but recently our datacenter changed their entire IP range and this is what we did.
Note: For this example, I assume that you are using a regular Linux Distro (RH/CentOS/FC) and have the
/usr/bin/replace command which comes with MySQL-server.xx.rpm. I also assume that your datacenter has configured both old aswell as the new networks on their router.
OLD IP : 10.x.x.x with default route 10.x.x.1
NEW IP : 11.x.x.x with default route 11.x.x.1
Firstly add the new IP range using WHM->IP Functions (don't add the new base IP address).
Ping few of these newly added IPs just to make sure that everything is ok.
Reduce the TTL of all dns zones to something like 600 seconds.
Code:
cd /var/named
replace 14400 600 -- *.db
/usr/sbin/rndc reload
Take a backup of all the configuration files which will be modified by this script:
Code:
#!/bin/bash
# 10.x.x.x = OLD IP Range
# 11.x.x.x = NEW IP Range
cd /etc/httpd/conf
replace 10.x.x.x 11.x.x.x -- httpd.conf
service httpd restart
cd /var/named
replace 10.x.x.x 11.x.x.x -- *.db
rndc reload
cd /var/cpanel
replace 10.x.x.x 11.x.x.x -- *
cd /var/cpanel/dips
replace 10.x.x.x 11.x.x.x -- *
cd /var/cpanel/mainips
replace 10.x.x.x 11.x.x.x -- *
cd /var/cpanel/users
replace 10.x.x.x 11.x.x.x -- *
Once this script runs successfully, we will change the base IP address of the system. Assuming that your main interface is eth0, edit the file
/etc/sysconfig/network-scripts/ifcfg-eth0 and carefully change the IP, Broadcast, Netmask, etc. to that of the new IP range.
From:
Code:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.x.x..255
IPADDR=10.x.x.x
NETMASK=255.255.255.0
NETWORK=10.x.x.0
ONBOOT=yes
To:
Code:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=11.x.x..255
IPADDR=11.x.x.x
NETMASK=255.255.255.0
NETWORK=11.x.x.0
ONBOOT=yes
Now we change the default route by editing
/etc/sysconfig/network :
From:
Code:
NETWORKING=yes
HOSTNAME=your.hostname
GATEWAY=10.x.x.1
To:
Code:
NETWORKING=yes
HOSTNAME=your.hostname
GATEWAY=11.x.x.1
Also, if you are using your datacenter's DNS don't forget to change your DNS servers in
/etc/resolv.conf
Thats about it, its better you check the configs once again and reboot the machine (alternately you can also restart each service

)
All the best :D
P.S: I forgot to add one more thing, after a day or so, change the TTL of all your zone files back to original
Code:
cd /var/named
replace 600 14400 -- *.db
/usr/sbin/rndc reload