Friday, November 14, 2008

migrate DHCP from Windows 2000 Server to 2003

These are brief instructions. Microsoft has the full-value version, here: How to move a DHCP database from a computer that is running Windows NT Server 4.0, Windows 2000, or Windows Server 2003 to a computer that is running Windows Server 2003. If you're like me, you don't wear a helmet, and you will appreciate my brevity. And actually, I changed a couple things.

One notable difference between me and whoever documents technical procedures for Microsoft is that I work on Earth, for a company, and my implementation must not cause an explosion. We have a bunch of VLANs, managed by Cisco routers, that are configured with the ip helper-address command to ensure DHCP broadcasts are forwarded from clients to the DHCP server. I deviate from Microsoft's generic recommendation for DHCP service migration in this way: I will move one VLAN at a time. This allows me to test things as I go, knowing both servers are handling at least some DHCP scopes, affecting as few clients as possible in the event of catastrophe, and giving myself a clear method for reversing my changes. Also, by adjusting the ip helper-address value on my core routers one VLAN at a time I am able to prevent the new and old DHCP servers from handing out addresses for the same subnet.

I. export the DHCP database from the Windows 2000 Server host

1. stop the DHCP service

command line: net stop dhcpserver

002

2. compact the DHCP data base

command line: cd c:\winnt\system32\dhcp

command line: jetpack dhcp.mdb temp.mdb

004

3. export the database

download, install, and run Microsoft's DHCP Database Export Import Tool (dhcpexim.exe)

006

007

4. restart the DHCP service

command line: net start dhcpserver

009

II. import the DHCP database to the new Windows Server 2003 host

1. install the Windows DHCP component

Start > Control Panel > Add or Remove Programs > Add/Remove Windows Comonents > Netwoking Services >

001

Details >

002

Dynamic Host Configuration Protocol (DHCP) > OK > Next > Finish

2. import the database file

command line: netsh dhcp server import c:\dhcpdb.txt all

003

3. authorize this DHCP server

before authorizing:

004

right-click the server object, then click Authorize

005

III. point the ip helper-address at the new DHCP server

existing configuration, pointing at the old DHCP server:

001

in Cisco IOS, use this command: ip helper-address 172.16.12.12

002

IV. confirm

I set my Vista laptop to retrieve an ip address from a DHCP server and plugged it in to a port on the VLAN we just set up...

001

002

have my laptop send a DHCP request on to this subnet...

command line: ipconfig /renew

004

and confirm on the new DHCP server that this address was handed out by the new server...

008

V. change DHCP lease duration

If you let Windows DHCP do it's own thing, leases will automatically expire after 8 days. But if you want to speed things up, change the DHCP lease duration to something like 2 hours. At least then you'll know sooner if something's broken.

change DHCP lease duration in Windows 2000 Server:

Start > Programs > Administrative Tools > DHCP >

096

expand the server node you're interested in > right click the scope whose lease you want to change > Properties > on the 'General' tab, in the 'Lease duration for DHCP clients' box, check 'Limited to:' and specify a time span

097

VI. turn on DHCP logging

Just in case any clients got left behind, check the DHCP log files for unexpected requests. Do this on the Windows 2000 Server for a couple weeks.

to turn on DHCP logging in Windows 2000 Server:

Start > Programs > Administrative Tools > DHCP >

090

on the 'General' tab, select 'Enable DHCP audit logging'

Windows 2000 will write DHCP log files, one for each day of the week, to this directory: %systemroot%\system32\dhcp

091

093

see also:

No comments: