I'm connected via a 4G modem. Got this setup about 3 years ago. In the beginning it was enough to look for the public IP (what's my IP). The modem showed some sort of private ip in the ui. I'm running stuff at home (Homeassistant, Gitea,) and bought a domain and pointed it to my home IP via Cloudflare. After some time I've noticed my modem shows the public IP also internally. For about 2 years now it ran flawlessly, the IP changed from time to time, but not really more than once in several weeks.
For about a week all stopped working and the modem shows IP 100.xxxx and outside 85.something
I guess I'm behind NAT now.
Normal port forwarding on the modem is useless now.
Is it possible to open the ports via UPNP? I've tried via miniupnp from my Ubuntu server, but it just throws an error.
If they sell an "internet connection" then selling one behind a CGNAT is a breach of contract, because it is not a connection to the internet but only a selective forwarding service from within their intranet.
Similar to how the consumer protection agencies fought against fake speed promises and hidden "fair use" volume clauses, CGNAT should also be forbidden to be advertised as "internet".
How? You can literally turn IPv4 off on your whole network, or selectively by device. But if you turn off your IPv4 you will get cut off of a good chunk of the internet.
And the only reason we have unused IPv4's is because a big part of the internet is behind NAT of some kind like CGNAT.
There is nothing wrong with an organization sharing an single IPv4 internally via NAT, but if your ISP sells you a connection to the internet, this by definition means you get a unique public IP address, otherwise it isn't an internet connection.
IPv6 support could be better for sure, but it is still much better than not having an internet connection at all as in the case of a CGNAT.
"Usually"? In my experience usually this is not the case. Starlink for example promised to make ipv6 available like that, but AFAIK it is still CGNAT only.
I can only talk how it is in Germany, where CGNAT with a public IPv6 prefix is the norm and a public IPv4 costs extra money unless you have a legacy contract.
No it doesn't. It means you have access to the internet through that company's infrastructure. You still have full access to the internet behind a CGNAT even if you can't be reached directly from the internet.
An internet connection by definition is two-way. The internet was designed as a network of interconnected computers. A one-way only connection like through a CGNAT is preventing you from doing a lot of things the internet was designed for.