Im trying to troubleshoot a possible NAT issue and to narorw things down, im trying to find out if there are any router technologies that might be able to bypass NAT when the destination has not done port forwarding/does not have upnp enabled.
As some people in a tech support channel explained to me, NAT hides the internal IP so if there is no port forwarding done, the sender sends a packet to the destination machine, but the packet only contains the external IP. The destination router has no idea which machine to forward the packet to, so drops/rejects it. Is this correct?
E.G. My machine -> Friend’s machine. Friend’s machine is behind a NAT, has not done port forwarding/does not have UPNP enabled.
In a situation like this, would my router be able to bypass the NAT and get the packet through to my friends machine somehow? I found some references to hole punching, STUN, etc, but im having trouble understanding if these are router specific technologies or whether you need an application specifically coded to use these.
Possible NAT issue in a nutshell :
Friend is behind a NAT, does not have upnp enabled, has not done port forwarding.
I cannot connect to him properly via a UDP connection with a randomized port (p2p multiplayer game)
Others can, even though everyone tells me this should be impossible as there is no port forwarding happening.
Theory : My router is too old/does not support certain technologies that would let it bypass the NAT and connect to him, while others have more modern routers that can do this.
That’s why Im trying to figure out if routers do have stuff like that would let them bypass a NAT.
In a nutshell, you can't do this and its not something you can fix on your end.
To briefly summarize / over-simplify, when you address a packet to your friends router it has to know what to do with that packet. If there is a NAT entry (i.e. your friend's computer made a network request through the router) then the router knows to route the return packet to the originating computer just as if a short-term, one-off port-forward had been turned on for the life of the packet trip.
The exact mechanics may differ between devices and if the router has a built in firewall (almost all do now) but, in essence, if there is no NAT entry or port-forwarding then the packet has been delivered to a device (router) not configured to accept a packet on the port which means drop / ignore the packet. This is the desired behavior of the router / firewall otherwise anyone on the internet could break into the internal network.
Your friends router either has to enable port-forwarding, setup UPnP (which is basically just automated port-forwarding), or use a service that has a third-party intermediary that you both talk through which triggers the NAT functionality in the friend's router.
Answered by Wayne on November 14, 2021
Get help from others!