@stephenw10 said in CGNAT UPnP Issue Advice:
Part of what UPnP does is return the external IP to internal hosts that request it. If it doesn't have a valid external IP it can't do that. And if it returned the private IP a lot of services using it would fail.
But it was an upstream design decision. See: https://redmine.pfsense.org/issues/10398
Steve
I'm thinking UPnP is mostly used in home environments, and the largest use case by far, is gaming.
A setup with an upstream router (ISP provided or not) does in fact work for gaming with other solutions also involving UPnP, like Ubiquiti and most or all consumer wifi-routers etc.
As I mentioned, it works fine with pfsense as well, IF the upstream router hands out an IP which pfsense recognizes as something from a public IP range.
Why then can it not simply accept whatever IP is given, as an override alternative? The "old fashioned way" with Hybrid mode (static IP) and port forward of the required ports work fine of course...
I made some testing with my public IP as an override WAN. Not sure I did it the right way though, just put the IP directly in the field, no alias etc. But games like MW2 (2009) and MW3 can't even login to Infinity Ward servers, don't even get Strict NAT.
The UPnP status page shows me the requested ports though, (like 28960 or 3074).
I also tested with Stun but all I get is STUN: ext interface vtnet0 with IP address 192.168.3.15 is now behind restrictive NAT with public IP address NN.NN.NNN.NN: Port forwarding is now impossible
That is quite an assumption isn't it, considering that it's a DMZ and clearly works also for pfsense...