Saturday, January 29, 2011

IIS not listening over external network, all other traffic working

Hello there,

I have a very odd situation, I have a server (let's call it X) running 2008 R2 with two NIC's in it, one is connected to the work domain and has a subnet of 192.168.10.0/24 the other is connected to a ADSL connection and has a subnet of 192.168.1.0/24. The server has IIS installed.

On the ADSL connection I have setup a dynamic dns and port forwarding to allow external HTTP, HTTPS, FTP and RDP connections. FTP and RDP are working fine however neither HTTP or HTTPS are working at all.

I can browse the websites by going to localhost on the machine, the HTTP and HTTPS ports appear as "Filtered" when I try to scan them using PortQueryUI and browsers respond with a "Server took too long to load or was not responding" error.

This was working fine just a few days ago, Windows firewall is disabled I don't have any software firewall on it. And I'm really lost.

Any help would be great.

  • Can you try assigning the external IP to IIS and then try accessing the Web site using http://ip_address. Let's see if that works. If that fails, port 80 is blocked on that ip. http://localhost will always. Try netstat -ano and check if you are actually getting connected on port 80 to your external ip.

    Beuy : Hi Vivek thanks for the response, I'm not 100% certain I understand what you are saying but here are my results: 1. Bind IP to external IP 2. iisreset 3. http://externalipaddress = Failed server taking too long to respond 4. http://localhost = Success 5.netstat -ano TCP 0.0.0.0:80 0.0.0.0.0 LISTENING 4 (PID 4 is system) not sure what the deal with that is. This server also has MS SQL2008 and Reporting Services Installed.
    Vivek : when you did netstat -ano, did you see an entry of external ip corresponding to port 80? Basically, when you say "server taking long time to respond" means ultimately it will timeout. IIS is not getting the request and hence the timeout. I will also check IIS logfile to verify if the request actually reached IIS.
    Beuy : I didn't see any entries for the external IP. Which logfile should I be checking? (Sorry bit of an IIS newbie)
    Vivek : IIS logfiles are stored in C:\inetpub\logs\LogFiles. If this is your first site, a folder W3SVC1 will be created to store the logfile.
    Beuy : No sign of the external IP in the logfile.
    Vivek : so as thought, the request is not reaching IIS at all. You have the port blocked. check the firewall again. Make sure you have HTTP enabled on the external NIC.
    Beuy : The thing is that I'm 99.99999% certain that the firewall is not blocking the request. When I do a port scan I get a bizarre situation, the first time around it lists it as being Filtered, the second time it's not listening. Every other port is working fine.
    Beuy : Found the problem, there was an IP address conflict and port 80 was going to a different machine, thanks for the help again Vivek
    Vivek : Nice you found the solution :-)
    From Vivek

0 comments:

Post a Comment