When I first installed XP SP2, I immediately turned off the firewall because I already have a Linux firewall protecting the LAN. I then got the maddening DNS error or server not found error message. I also had a heck of a time using POP3 to pull down mail messages from the Linux mail server (also on the firewall).
Since I'm running a caching DNS server on the Linux firewall, this made no sense to me what so ever. I should be getting DNS name resolution at the 100 Mb of the local LAN. Additionally, I'm running a squid web proxy server, so if there was a DNS error, I wouldn't be getting the IE error message. I would be getting a squid error message, but no, I didn't get that either. Very strange.
I monitored the squid cache access log file, and I was not seeing any web requests being logged when XP's IE was getting the DNS / Server error message. Hmm. So the XP based web request packets were not making through to the squid server. By pressing the Refresh button often enough, eventually the web page would come through, and when it did, I saw the web page request in the squid log, so squid was performing as expected.
I tried the ipconfig /flushdns and it seemed to help, but the problem came back after a few minutes. I tried setting the NegativeCacheTime
http://www.tech-recipes.com/modules.php?name=Forums&file=viewtopic&t=344&start=0&postdays=0&postorder=asc&highlight= and give it a value of 0, rebooted, but this didn't fix it either, and initially really slowed down the web access. Web access speed came back after awhile, but still didn't resolve the probem.
In both cases, the clients are not configured with a DNS name for the server, they are configured with IP addresses. So, a DNS issue does not appear to be part of the problem here. In the case of the mail client, the POP3 server and the SMTP server are configured with the IP address of the Linux server providing these services. In the case of multiple web browsers that I tried (IE 6, FireFox and MyIE), the proxy server configuration was defined as an IP address and a specific port number, and yes, the port number was configured in the firewall to allow access.
I ended up turning on the firewall again, and the problem cleared up for a few minutes, and the web access performance is as good as it ever was, so was the POP3 mail fetching. OK, problem fixed. Well, sort of. Well sort of NOT! Outlook continues to have problems with POP3 even when using an IP address.
OK, so if the dnsrslvr.dll from SP2 is causing the problem, perhaps we can use the dnsrslvr.dll from before SP2 was installed. I ran regedit, went to HK_LOCAL_MACHNE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters and replaced the value of the ServiceDll string value with C:\WINDOWS\$NtServicePackUninstall$\dnsrslvr.dll, figuring that it would use the DNS cache functionality before SP2 was installed.
Well, I ran this for some time but it didn't solve the issue. Reither did using repair on the nework connection, and nether did running ipconfig /flushdns when the problem did occur. The only thing that I could find so far that fixes the problem is to disable and then re-enable the network connection in 'My Network Places' properties. This really sucks beause any applications that are using the connection abort when the connection is disabled, even for a short period of time.
However, let's consider the XP SP2 firewall's performance here. It will block packets from leaving the machine until some sort of counter is exceeded and only then let the packets though? (hitting refresh a number of times) Hmm. Or is it that it will only block packets from leaving the machine in certain cases, while allowing the same packets through in other cases? (When the web page finally makes it through)
Neither of these is really desirable performance for a firewall. Access should be granted 100% of the time, or blocked 100% of the time based on the firewall rules as configured. I think I just lost any faith in this firewall implementation. I'm sure glad that I've got my Linux firewall to keep my LAN safe, I'd hate to trust this one.
The other question I have is what sort of test program did Microsoft perform on the firewall? How could it possible have missed the valid configuration of turning the firewall off? Was this tested?