What is Double NAT and how does it affect me

If you spend anytime reading technical forums you've likely heard the phrase "Double NAT". People like to talk about Double NAT like it's the worst thing you could possibly do in your network and you should avoid it like the plauge. The truth is a little less black and white than that.


To put it very simply for the majority of people reading this post a Double NAT will not affect you in any way. Before I go further on that I need to explain what NAT even is before you can understand double NAT.


Computers only understand binary, 1s and 0s. When you type a website like www.gravitywall.net into your web browser your computer doesn't understand it. The computer must first break that down into an IP address and then convert it into binary. That IP address is a record of where the system is wider internet. Think of an IP address like a home address. The problem is that there can only be so many IPv4 addresses, and the world has run out. The world has run out but the amount of internet connected devices continues to grow. In order to give every device an IPv4 address the RFC1918 was written.

So what is Double NAT? Well to put it simply Double NAT is a NAT inside of a NAT.

In a double NAT enviroment packets may have to travel through two routers when getting to devices. In general the routers are smart enough to understand when to send traffic to which device but there can be some issues with DoubleNAT. A lot of these issues deal with devices on a different subnet. Lets use the above example

Let's replace the second phone (192.168.1.3) with a printer.

In this example we'll say that the first Computer (192.168.0.1) wants to print something. The only printer in the network is behind a Double NAT at 192.168.1.3. That computer will try to route the document to the printer. If the router has routes in it for that second subnet (which most home routers don't) then it will try to send it to the second router (192.168.0.4). That router has a firewall enabled and will block the packet as an unsolicited inbound request. The user will then get a print failed. (This is a real call I worked on).


This is a simple example but its meant to show that a Double NAT can make resources difficult to reach.


Now that you understand what a Double NAT is I'll explain why its not as large of an issue as most people make it out to be.


DoubleNAT really impacts when someone is trying to reach resources on the second network from outside your home network. If you were hosting a website off your computer at 192.168.1.2 you would need to do double port forwarding before people could access your website.


Simply put; unless your hosting a server, or you have devices connected to both routers then a DoubleNat probably isn't going to impact you.