How to test if your router supports Reverse NAT

How to test if your router supports Reverse NAT.
By Shane C. of


What is Reverse NAT?
Example 1: By Shane
Let me give an example. I am setting up a web server on my home computer for my family to connect to. I get the server software set up and get the port forwarding rules all done. I test the port forwarding rule and the port is open and working through the router. I can log into my new server by its local IP on the computer. But when I try to connect to it by my internet IP address it fails. So I think, well if I can't connect by my internet IP neither can my family!
But this isn't true. What is happening is the router doesn't support reverse nat. The router doesn't like you trying to connect to yourself by the internet ip instead of the local ip. So now the user thinks the server isn't working when it really is.

Another quick example is instead of a web server the user is setup up security cameras to view remotely.

Example 2: Submitted by Sylv
Reverse NAT is a phenomenon that you use your public/internet IP address to connect to yourself.
When you usually want to connect to your own network, from your own network, lets say you have a webserver hosted on your local PC and
you also maintain it from the same machine, you usually use your local IP right ? Yes, but lets say that you have a bit more complicated setup and
your server uses several databases to store data on or the other example: you have security video cameras set up that you want to watch remotely but maintain locally.
In such cases you cannot always go and use one IP for all connections by default.
There are situations when you need to setup some connection to handle different IP-s and in some cases this setup is crucial if you want other people
from outside your LAN to get access to your server. Now lets say you have everything set up, ports forwarded, accounts created and everything seems ready-to-go.
It works fine until you try to make a connection yourself, from your local machine, to your own server and you fail, although it works for everyone else. Sound weird doesn't it?
Well this can occur exactly when connections are made to your server using your internet IP. That means you try to connect to yourself using your public IP. = reverse nat. It's just like putting your internet IP to your internet browser address bar and trying to connect.

For some of us it works fine, for others, it can't resolve host. So why is that?
The answer is that those who can connect to themselves using their public IP, have routers that support reverse NAT.
But there are plenty of routers that don't. And that's when you run into a problem.
That's when you need to redirect your connection to your lan IP or upgrade your hardware.

OK, so this makes sense, but how does a user know if their router supports reverse nat?
That will be the point of this guide. By the user knowing if their router supports reverse nat will help keep them from thinking their server isn't working when it is.

Now testing is fairly simple, but if you have never done it before can be a little confusing. So I will walk you through in 4 steps. :-)
Let's get started.

Step 1.
First thing we are going to do is use a computer for the test. So on your system we need to setup a port forwarding rule. It can be any port, choose a port currently not being used. For the sake of this guide I am using port 1979.
My site here has tons of info on setting up a port forwarding rules so I won't repeat that info here.

Step 2.
Download and install my Simple Internet Tools (It is free)
Once you have it installed open "Simple Internet Tools - Port Listener" from the star menu.

1. Make sure to choose your current local ip on your computer. Some users have more than one network, so choosing the right one is important!!
2. Put the port you put in the port forwarding rule. For this guide I did 1979, then click "Add Port To List"
3. Click "Start".

The program is now listening for connections on that port.

Step 3.
Lets first test that the port forwarding is working. Make sure the program is running and started from step 2. and then load my port tester page
Then on that page put in the port and click "Check Port"

After you do that you should see it pass

If it failed then you need to make sure your port forwarding rule is setup correctly.

Also if it passed you will see the program in step 2 shows that a connection was made


Step 4.
Now the final step, and only if step 3 passed. Open your web browser.
Copy your internet IP from my port tester page. and put it in the address bar like this http://xx.xx.xx.xx:1979
where the xx's is your IP. You will see at the end you then put a colon : and the port

Then hit enter. Now of course it will say page can not be displayed, which is fine and is what it should say! What we did was made a connection attempt via reverse nat.

So if your router supports reverse nat then you should see the connection attempt in the program log window. If you see nothing then it failed and your router doesn't support reverse nat.

Hope this helps, need anything else just drop a post in the forums.

Take care!