Eccentricities of Windows networking

We were wrong about XP's TCP/IP implementation being pathetic - in this area, it isn't pathetic, it is merely eccentric. It turns out there is a way to multi-home a NIC under XP and use DHCP and static IP addresses.

We wonder if this column should be renamed "Last week we were ..." as that seems to be our standard entrée these days. But just to break the chain, this week we will begin a little differently: The week before last we started in with the question, "Are we missing something, or is Windows XP's TCP/IP implementation as pathetic as we suspect it is?"

We were trying to set up a multi-homed Windows XP machine but apparently could only do so if all addresses were configured as static IP addresses. In other words, it appeared if you had a single address assigned to a network interface card you could use DHCP, but if you had more than one you couldn't.

We were wrong about XP's TCP/IP implementation being pathetic - in this area, it isn't pathetic, it is merely eccentric. It turns out there is a way to multi-home a network interface card (NIC) under XP and use DHCP and static IP addresses.

The solution is obscure, and reader Jeff Adams was the only person to write in with a link to a Web site called MCSEworld where there is a "how to" page on the topic of Windows multi-homing configuration written by Daniel Petri.

We are so impressed with readers like Adams that in the future we plan to refer to everyone who supplies an answer to one of these wonderfully obscure problems or provides us with any other cool information as Special Investigators. Thus, Jeff Adams will now be Special Investigator Jeff Adams (badge No. 001).

Being the kind-hearted chaps that we are, we will summarize the info for you:

First of all, we begin by assuming you have one IP address allocated on your NIC and it is set to be assigned by DHCP.

So far, so good. Now under XP and Win 98 you need to fire up Regedit (under NT and Win 2000 that will be Regedt32).

Under Win 98 find the root key "HKEY_LOCAL_MACHINE" and then find the subkey:

\System\CurrentControlSet\Services\Class\NetTrans

Under all of the other versions of Windows look under the root key "HKEY_LOCAL_MACHINE" for the subkey:

\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

Under these subkeys you'll find all of the NICs in your PC listed by their COM Class Identifiers otherwise known as Globally Unique Identifiers (GUID). For example:

{A8BF419B-8185-4396-B87A-2B6345BBC8E3}

Be careful to correctly identify which NIC the entry refers to - you'll find multiple GUIDs listed under each NIC in the registry.

When you've got the right one, you need to find the key "IPAddress" and double click on it. In the Edit Multi-String dialog that appears, enter in the Value Data field each of the static IP addresses you want to assign to the NIC, one value per line. Note that the first value - for no reason we can fathom - must be "0.0.0.0".

Now find the "SubnetMask" key and edit it exactly the same way you did the "IPAddress" key, again making sure the first value is "0.0.0.0".

For these settings to take effect under Win 98 you need to reboot, but for all other Windows versions you are supposed to be able to reinitialize the connection (find the entry under "Start Menu | Settings | Network Connections" followed by the connection you edited and "Disable" then "Enable").

For some reason our desktop and notebook machines running XP could not get the changes to work by using disable then enable. We had to restart before the new configurations became active.

The bottom line on this registry tweak is that it would appear that simultaneous use of static and DHCP-assigned IP addresses was something that Windows was supposed to be capable of doing but it was just overlooked. Overlooked in all versions of Windows from Win 98 onward. How eccentric is that?

Get your Special Investigator's badge at gearhead@gibbs.com.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Take IDG’s 2020 IT Salary Survey: You’ll provide important data and have a chance to win $500.