DNS on WIndows 2003 Web Edition

I am having trouble with DNS using Windows 2003 Web Edition on a small SOHO LAN.    

Internet: SBC DSL via a Cayman Netopia 3546 router (does not support NAT U-turns).  Five static IP’s mapped to private IP’s using the 3546’s IP Mapping. -> …  ->

Mewtow running Windows 2003 Web edition, private IP, visible to the outside world as  Running IIS hosting a couple of websites.

Various WIndowsXP machines on the LAN.

I need to run local DNS on some machine because the Cayman router does not support NTA U-turns which means I cannot reach my own websites via the public addressed.  Example; motorcycle.johnocooper.com is hosted on Mewtwo and its public IP address is  Computers on my LAN cannot reach that address because it requires a NAT U-turn so LAN machines need to use the local IP address of  My solution is to run DNS on a local machine and have the other LAN computers use it for DNS.

DNS setup:
Two zones;
Cooper.pri (all local machines and devices)
Johnocooper.com (with CNAMES www and motorcycle and mail).
In the “Forwarders” setup of the server I have three DNS server addresses provided by SBC (,,

Workgroup name is: cooper.pri. for all machines on the LAN
Cooper.pri is also set as the DNS suffix so the fullname of the local computer is Mewtwo.cooper.pri.

This setup seems to work for a while then stops working.  Basically local machines get proper DNS information for a few minutes then it appears that the DNS server stops forwarding to the SBC DNS servers for names it cannot resolve

Example: nslookup yahoo.com
Server:  mewtwo.cooper.pri

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** Request to mewtwo.cooper.pri timed-out.


Who is Participating?
Since you have gone thru the trouble of setting up your own DNS server, why dont you just point your Domain host to your DNS server. What device do you have Natting your network. If you have some device that supports DNS "fixup" then you can support both inside and outside requests from the same DNS server rather than having 2 servers.
ErkiPhilips, since you have a PIX 501, you can do something like this
static (inside, outside) GLOBALIP INSIDEIP dns
where global ip is the IP address you want the outside world to see. The inside IP is the actual IP of the inside DNS/WEB/Whatever server.
now the DNS keyword at the end of the static will basically do the "fixup" on the DNS packets. What this means is when a packet comes on the outside for GLOBALIP, it will convert the IP address to the INSIDEIP on the inside. Similarly when a packet goes out, it will convert it to an outside IP. It will also change the IP address in the payload (data). An example will make this clear.

For example lets consider this scenario
client -----internet-------PIX --------dnserver-------webserver --------------client inside

The intermediate device could be anything that supports DNS fixup, not necessarily a PIX.

lets say the webserver is www.mydomain.com
also   is natted to   X.Y.Z.A with dns fixup   is natted to   X.Y.Z.B with dns fixup   is natted to   X.Y.Z.C with dns fixup

Now when
client X.Y.Z.W asks for www.mydomain.com, the packet should eventually get to X.Y.Z.A which is the natted IP of the DNS server. The DNS server will reply saying the requested IP address is The PIX or intermediate device will look into the DNS packet payload and change IP address to the outside natted IP which is X.Y.Z.B and hence the outside client will be able to reach the webserver since this IP is internet routable.

Similarly when inside host tries to reach www.mydomain.com, the DNS server will say its IP is Since the PIX doesnt come into the picture now, the inside host will be able to reach without a problem.

Both inside and outside will work.

Hope this help you all
Hit me back if you got questions.
Windows 2003 uses by default eDNS (extended DNS).  My Cisco Pix 501 does not support eDNS by default.  I had to manually "fixup" my DNS protocol packets to be >512 bytes.  (the other solution is to dummy down 2k3 to use only dns).  Just so you know.

Typical network configurations I use in the past, I have 2 machines running DNS.  1 Machine is low CPU machine running just 2003, and DNS for the outside world.  The second machine is a more powerful (because its usually running exchange, sql server, sometimes its a SBS server) running DNS for internal users (along with DHCP).  The reason I do this is because I don't see a way to serve the outside world and the internal users with the same DNS, because if the DNS points to inside IPs they are not accessable by the outside, and if they serve outside IPs, most firewalls do not support double NATing packets.
johnocooperAuthor Commented:
Agreed I cannot serve bith the indie LAN and the outside WAN but I do not need to do so.  My sites are DNS for the public on a DNS service (DYNDNS.com).  ALl I need is internal DNS w/o resorting to host files

As I mentioned it works and then stops working then starts working.  It always works for its own sites but outside sites (mocrosoft.com for example) will fail then for no apparent reason start working again.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.