microsoft.public.windows.server.networking
Resolving local hostname on multihomed NIC
Hi!
(Also posting this to
http://register.microsoft.com/mswish/suggestion.asp)
I have a Windows Server 2003 member server running various services,
most notably a web server and Exchange.
The server has two IP addresses assigned to one NIC, 10.35.104.34 and
10.35.104.23. The server's full hostname (FQDN) is
commsserver.crgs.local.
10.35.104.34 is the 'main' IP address: it is the one specified on the
TCP/IP properties page and is the one that gets registered in DNS and
WINS. 10.35.104.23 is set up under the advanced TCP/IP settings.
All workstations on my network can access both addresses and
differentiate perfectly.
However... on the server itself if I do the following:
ping commsserver
I get:
Pinging commsserver.crgs.local [10.35.104.23] with 32 bytes of data:
However, from ANY other workstation if I do that I get 10.35.104.34 as
the IP address.
Also, if I do:
ping -a 10.35.104.23
I get:
Pinging commsserver.crgs.local [10.35.104.23] with 32 bytes of data:
when I should get the reverse DNS name of 10.35.104.23 (which is
www.crgs.local)
I have checked that it is not a DNS problem - in the DNS server there
is only one record for commsserver.crgs.local, and it's 10.35.104.34.
I have confirmed this using nslookup on the commsserver machine -
nslookup returns the correct results. So there's no round robin going
on as far as I can tell.
In addition, I did a packet dump on the DNS server and ran these
commands:
ipconfig /flushdns
ping commsserver
ping <another non local hostname on my network>
Only one DNS request showed up, the second one.
I have tried running ipconfig /flushdns
I have tried stopping the DNSCache service
It seems that it is a bug with Windows Server 2003 to me. When it
detects that you are looking for the local hostname, it just returns
any old IP address rather than the primary one. The problem with this
is that if you are using something like IIS to differentiate requests
based on which IP address they came into (like running multiple
websites on different addresses) then requests from the local machine
will probably go to the wrong address.
I have a similar setup on a Windows 2000 Server machine (single NIC,
multiple IPs) and it does not display the problem. The primary IP
address is resolved.
Can anyone else confirm this problem - or anyone from Microsoft shed
some light on the issue?
The only setting that is out of the normal is that I have the 'DNS
Suffix Search List' set via Group Policy to
'crgs.local,admin.crgs.local' (the SearchList key under
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient). As this
setting doesn't apply under Windows 2000 I thought it might cause a
problem. But I removed the setting and the problem seemed to remain
the same.
Thanks!
Chris