Fix the UPnP issue in double NAT environment

  • A+

After several days research, I fixed the UPnP issue in my own network environment.

Let me introduce my network environment first so you will know why I have to fix this issue.

I share the same house with my landlords and they provide a WIFI connection to me, while for physical reason it is placed far away from my bedroom and I always get poor WIFI performance, and more worse, the connection is not stable. It will be dropped one or more times per day.

At the beginning I thought the Netgear R8500 would meet my requirements:

1. Enhance the WIFI signal

2. Let me assign fixed IP addresses to my own devices

It has two 5G channels, so I can use one of them to extend the WIFI range, and another one for my own network settings. While when I got it and set the bridge mode I found none of them could be satisfied.

In bridge mode, all the connected devices will get the IP addresses from the source router so I could not assign fixed devices to them, and only wired devices could be used!

More tough issue is that my NAS system (HP Microserver Gen8) only have wired NIC interfaces and it is located in my bedroom and the mentioned R8500 is in the sitting room.

Finally I bought one EX6200 extender and two R8500 routers to connect all of my devices and assign fixed IP addresses to them.

The EX6200 extender and one primary R8500 router are placed in my sitting room to get best WIFI signal of the source modem router, and to run as DHCP server so I can manage the fixed IP addresses.

Another (Secondary) R8500 router is in my sitting room to attach the NAS system and other laptop with cables. This one is bridged to the primary R8500 router with second 5G channel, and the connected speed is about 1G.

So I got the full control of all of my devices and routers, while one sad news was that when I downloaded some files using Transmission or uTorrent, I always failed the port test and other peers could not connect to my seeds if they also failed such test.

If I accessed to the source modem router directly, then the port test was successful, so the UPnP function is enabled on the source modem router. And I also make sure the UPnP feature works well on my own primary R8500 router, so the issue is the primary R8500 router will not redirect my UPnP requests to the source modem router.

DD-WRT firmware maybe already has such function, while I always prefer to use the factory firmware to get better performance and stability.

I could not fix such issue and had to endure such situation for several months, and resolved it just before last day!

If you want to know the solutions more clearly, then better know something about the UPnP principle:

Exploring UPnP with Python

And the steps are as the following (a sample on Windows mixed Linux platform):

1. Download the MiniUPnPc program, just the client.

2. Connect to the source modem router and list the UPnP information

3. The ip address has the valid IGD is what we want to know, so we can learn the URL of the UPnP device on the source modem router is: ""

4. Connect to the normal network and also list the UPnP information:

5. So we know the assigned external ip address is

6. Add the UPnP rule manually (I run both Transmission and uTorrent on different systems, so have to add four rules):

7. Check the port again, and it works!Fix the UPnP issue in double NAT environment


:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: