This memo proposes another short-term solution, address reuse, that complements CIDR or even makes it unnecessary. The address reuse solution is to place Network Address Translators (NAT) at the borders of stub domains. This memo provides information for the Internet community. This memo does not sp...
From the conclusion:
NAT may be a good short term solution to the address depletion and
scaling problems. This is because it requires very few changes and
can be installed incrementally. NAT has several negative
characteristics that make it inappropriate as a long term solution, and may make it inappropriate even as a short term solution. Only
implementation and experimentation will determine its
appropriateness.
It's been getting "more and more use" since 2001. To start with the isps said that they were not going to do any work to implement it until endpoints supported it. Then vista came with support by default. Next they wanted the backbones to support it. All tier 1 networks are now dual stack. Then they said they were not going to do anything until websites supported it widely. Now all cdns support it. Then they said, it's ok we will just do mass nat on everyone so won't do any work on it.
Last week I was peer pressured into trying out Helldivers 2 (yes, this is relevant, trust me), so I downloaded it, installed it, and fired it up with no issues. Set up my preferred control schema with no issues. Played the torturial with no issues.
Then came time for joining my friends in multiplayer. Issues! No matter what I did, I couldn't seem to join them. Nor could they join me.
I verified the installed files, I tried to connect via my phone to rule out ISP issues, and I tried all of the different versions of proton, but the result remained the same. I simply couldn't join my friends.
I don't remember what caused me to go down the right path of troubleshooting, but I've always dosabled IPv6 on my linux installs. So I re-enabled it. The problem remained. Then I realized that I had it disabled in the kernel via grub command line flags, so I cuanged that and gave my PC a reboot. Success!
So, despite networking being a large (maybe even the largest) part of my vocation for the past two decades, last week was the first time ever I actually NEEDED IPv6.
I've only recently branched out from router defaults...only reason was that I wanted to VLAN off my home network, and mostly just so [Home Assistant-controlled] smart devices can't talk to the Internet at all.
Whenever I'm given the chance at work, I let my feelings be known about using "consumer grade addressing schema" in production clusters. Sure, I use it at home, but anything beginning with "192.168" looks like my moms wifi, and has no right being part of a production network.
This comment was sponsored by the 172.16.0.0/12 gang
I have the same issue (TRIPLE NAT'd! One of which is the CGNAT). Unfortunately I have external family that accesses from media boxes/TVs so those won't work for me.
Thankfully I was able to get a small VPS server for $2/mo and set up some reverse tunnels with auto-ssh. Seems to be working fairly well so far.
All that said, I longingly look forward to the future when I don't have to worry about NAT.
What's really crappy is that my ISP which used to give me a public ipv4 and also supported ipv6 2as bought out, and now I'm on cgnat and ipv6 support has disappeared.
A few people need to get off their horses and come up with and agree to IPv4². It's exactly the same as IPv4 except there's 2 more octets of address space - 48bits for addresses*. Job done. You'd see wide spread adoption in under 2 years and then we can forget about it all and move on with our lives safe from the clutches of IPv6.
I don't give a crap that doesn't neatly fit into 32 or 64 bit architectures. It's more than doable at plenty fast speed and it keeps everything manageable.
It tried to fix everything wrong with IPv4, like shitty multicasting. This made it extra complicated.
If it had just been 128-bit addresses, it probably would have been widely deployed in the 90s. Don't need to bother at this point, though, just get it done.