Windows Server 2008 – unable to bind any TCP port

porttcpwindows

OS: Win Server 2008 RC2
Windows firewall on (no effect when off)

I have suddenly been plagued by an issue in which I cannot find any similar ones with a search.

I am running about 20 game servers that bind to a UDP port, then bind to a TCP port 1 above the UDP port. Suddenly, a day ago, new TCP binds stopped functioning.

Now, I have confirmed that other applications cannot listen on most ports. For example, I have a java program that I made a copy of, and tried the following ports: 33001, 23789, 89… completely random ports.

As far as the applications already that have TCP bindings, such as HTTP and MySQL, only port 8080 was one port I discovered could work, and only for Apache. If applications would leave their default port they could not bind, however they returned to normal when the port was default.

I've checked for listening applications through netstat and curports, also checked for any connections on these ports, and they're completely free.

Best Answer

Your server probably ran out of ephemeral ports.

You can check this in the Event Viewer (Run -> eventvwr.msc). Look for any warnings in System protocol with ID: 4227, 4231 from TCP/IP source. If you see any, you need to reboot your server and tune TCP/IP protocol via registry - Windows Server 2012 R2 runs out of ephemeral ports, though it shouldn't