I have a situation where I need to assign two routers (gateways) to certain DHCP clients on a Windows 2000 Server network. The problem I'm having is that I need to assign one of the routers a particular metric such that Windows always prefers it unless that router goes down, and I'm having difficulty figuring out how to do it. Details follow.
Environment is a Windows 2000 server-based network with primarily Windows XP- and 2000-based clients.
The network is a single subnet of 192.168.10.0 / 255.255.255.0.
All clients are configured to receive IP address info from the primary domain controller in the domain.
Router A is assigned 192.168.10.1 and is connected to a single T-1 line.
Router B is assigned 192.168.10.5 and is connected to a separate T-1 line from a different provider.
People in Group A (90% of users) will be using router A as their ONLY default gateway.
People in Group B (10% of users) will be using router B as their PRIMARY gateway, with router B as their SECONDARY gateway.
Computers in Group B have a DHCP User Class ID assigned to their network adapter that uses the string "GatewayB" which is set using the ipconfig /setclassid command.
Computers in Group B have no User Class ID assigned.
In DHCP server, the scope's options include an entry for the GatewayB user class that provides two gateways (192.168.10.5, 192.168.10.1).
All this works fine. When users in Group B connect to the network, DHCP assigns them two default gateways in the correct order. The problem is that both gateways have the same metric, which is not what we want. We want router B to have a lower (higher priority) metric so that Group B clients always use Router B unless it's down. If we were hard-coding IP addresses, I'd just manually assign the metrics and be done with it. But in a network of this size (50+ clients), we're not doing that.
I just recently learned of the "Default Router Metric Base" DHCP scope option for Microsoft clients, but this appears to apply the specified metric to ALL gateways, which puts me right back where I started.
Can anyone come up with a way to accomplish this without resorting to a script?