Even after having carefully and laboriously followed all the port forwarding instructions previously written, you've found that your port simply refuses to open up. So what exactly is the problem? Possibilities include (but are not limited to):

User error is also a very common problem when it comes to port forwarding issues, but assuming that everything in the basic port forwarding guide was followed carefully, and none of the above possibilities are applicable, then the problem very likely lies with another issue called double NAT. Unlike any of the other issues listed above, double NAT problems can often be taken care of, provided the user follows the necessary steps as described below.

Double NAT

Double NAT occurs when your computer is sitting behind two or more routers. In most double NAT cases, it turns out that the user has a dedicated router, but was also unknowingly provided with a modem by their ISP that came with router or firewall capabilities. When that is the case, the user simply forwards ports from the router to the computer, leaving the modem alone, and this is exactly where the problem lies. Because the modem acts as a router as well, if it is not configured properly, it essentially means that the user remains in a firewalled state, since the dedicated router that the user did configure is not actually receiving incoming connections on the forwarded port due to everything being blocked by the outermost router -- the modem. Be aware that this is a specific case of the issue at hand. In more severe cases, users can have more than just two routing devices, and rectifying the problem can become that much more difficult, depending on the solution taken.

Removing or Disabling the Extraneous Router

In the simplest of cases, ridding yourself of the double NAT situation comes down to simply removing the extra routers, or disabling their routing capabilities. Using this method assumes that the extraneous routers being operated upon are absolutely unneeded on the network. If that is not the case, then the only solution you have is to chain port forward. With the method being described in this section, only one router should end up on the network, that router being the one that your computers are actually connected to. Some examples are as follows:

As you can see, the general rule of thumb is that you remove all extraneous routers. You'll notice, though, that the modem with routing capability never gets removed -- that's because the modem function is important for allowing you to actually connect to the Internet. In any case, to disable the router in the modem, you have to physically connect a computer directly to the modem, then visit the configuration page for the modem. Before actually disabling the routing capability, you must be sure to check whether your modem contains login information for your ISP. If it does, then you are going to have to make sure you have a copy of that information on hand. This is most often the case for people using a DSL modem and router, where login information is usually stored where the PPPoA/PPPoE configuration page is. That aside, setting the modem to bridge mode is what you should be combing through its configuration page for. After you do this, everything should hopefully be fine. If you find that your Internet connection no longer works, you should fill the login information you copied into the appropriate location in the remaining active router on your network (if you copied PPPoA/PPPoE settings from the modem, copy it into the PPPoA/PPPoE settings in the router).

Chain Port Forwarding

This method can be very annoying, as it requires that you set static IPs for and forward the desired port through each and every one of them. Basically, you need to follow the basic port forwarding guide for each and every router, except that the IP you're forwarding to is the IP of the next router in the chain of routers leading up to your computer. Each router must be assigned a static IP address, which can normally be set in its configuration pages. While specifics can't be delved into because of the sheer number of different routers available, the following case example might be of use to illustrate the process more clearly:

Please be aware that that was just an example. Many conditions, including the IP addresses, the number of devices on your network setup, or how everything is connected, will most likely differ from the example. All you can do is adapt the example to your situation and configure everything accordingly. Setting the static IP addresses up properly is extremely important when chain port forwarding. Any mistakes (or failure to do so) means more troubleshooting in trying to figure out which device's IP address changed if your port suddenly becomes unforwarded.

More Troubles

If you do not see an answer or solution above, or you are unsure of what your problem is, please join the IRC channel, or the forums to ask for more assistance. Do explain what you've tried so far with some level of detail so that people know what you have attempted, and what else you could try (if anything).