Which ones? I'm here and everything works right now. Literally everything works just fine. Please name exactly one service I have right now that is broken because of NAT.
https://serverfault.com/questions/208522/what-is-strict-mode...
This can particularly play havoc with sensitive protocols like STUN. I believe many game consoles make use of this when in multiplayer matches. I have personally run into this using OpenBSD's pf, but I'm fortunate enough to have access and the known-how to fix it for my consoles.
It's one of those things that's fine until you run into "edge cases," and unfortunately NAT configurations can introduce a lot of undefined behavior from the user perspective.
Two peers, each behind a CG-NAT (or other symmetric NAT), depend on somebody running a relay in order to be able to communicate.
This makes it very expensive (and sometimes risky, since unrestricted relays can be used for all kinds of nefarious things too) to deploy any new VoIP service.
I'd call that "broken by NAT".
> everything works right now.
Yes, everything that works right now works right now, but that's a tautology, not proof of anything. The things that don't exist because they wouldn't work in a predominately NATted world don't work, because we live in a predominately NATted world.
IPv6 (or more generally, the absence of NAPT) just changes the switch label from "try [not] to use direct connections, unless NAT gets in the way" to "[always|never] use direct connections".
In other words, it cleanly separates the two distinct concerns of privacy and connection topology. I think that's a good thing.
Furthermore, in populous countries like India, ISPs enforce extremely aggressive timeouts on IPv4 connections in order to keep the 5-tuples on the egress side of things manageable. Trying to make a request that takes 10 seconds to process (like a user requesting a report consisting of multiple SQL queries)? You get a connection reset.
I must also must point out the HN guidelines because you bring a combative tone to this entire conversation which is not helping it.
> Be kind. Don't be snarky. Converse curiously; don't cross-examine.
But isn't all that still necessary as long as the typical user isn't going to be opening their firewall on those ports to arbitrary incoming connections? That's the whole point here.
And STUN scales almost infinitely better than TURN.
I dont think anyone equate that, but IPv6 proponents refuse to recognize that decades and decades, especially in home users, and SMB space, NAT was a layer of the security model, often times one of the biggest
Right or wrong is irrelevant, that is/was the reality
Just tossing IPv6 as a replacement for ipv4 with out factoring that in while simply screaming into the void "NAT IS NOT A FIREWALL" will be of little comfort to the elderly retiree that has their home computer ransomwared, or the small business that is put under due to a cyber attack because the ipv6 address was strait on the public internet
If an IPv6 home router closes all ports by default, then the same level of security is achieved.
> Randomized, temporary IPv6 public addresses are a nice feature, and mostly turned on by default
I really do not want this.
Then disable it. IPv6 SLAAC privacy extensions are device-controlled, meaning neither your ISP nor your router can force you to use/not use them (unless they're so incompetent that they do things like hand out /128s).
The rare times I want something publicly accessible, I use DMZ or port forwarding.
If you take away the mapping the tracking doesn't go away. Inbound traffic still needs to match to to a session created by outbound traffic.
https://datatracker.ietf.org/doc/html/rfc2993#page-22
https://threatpost.com/remote-attackers-internal-network-dev... https://www.anvilsecure.com/blog/dhcp-games-with-smart-route...
Not really. Many home routers used to assign all ports to the first device to connect to the router, and you'd need to setup NAT just for your second computer. Eventually the default settings wised up.
It is much more probable that security defaults will be much tighter today than they were when ADSL initially took off.
This is definitely what I'm seeing. IPv4 is really engrained in us - I actually had a really hard time conceptualizing how things worked until I forced myself to learn by deploying dual-stack and ipv6-only networks.
The major downside I see right now is that "addresses are harder to memorize," but there are solutions to that as well.
Definitely. That DNS thing sounds promising!
When IPv6 was created they had the opportunity to just make it an expansion of the IPv4 space they chose not to do that and instead they added in a bunch of wish list items that were not needed to accomplish the goal that they were seeking to do which was prevent the exhaustion of IPv4 addresses
Absent address space exhaustion I massively prefer working with IPv4 than I do IPv6
In practice someone can still configure NAT on IPv6 same as on IPv4 at least on Linux and some vendors, even if IETF resists standardizing it.
https://blogs.infoblox.com/ipv6-coe/you-thought-there-was-no...
So you might still see CGNAT if someone is determined to configure it.
Because NAT breaks a lot of services.
> Is that going to change with ipv6?
Yes. You no longer need NAT, so port negotiation is much easier (even when inbound is blocked)
> Are you _really_ just going to allow random traffic into your network?
Common misconception! Even without NAT, the router can have port/traffic policies. There's just no address translation happening.
There's a lot of good stuff about IPv6, and I would encourage more people to learn about it and try it out.
- ULAs can act like static internal LAN addresses
- A "strong" NAT is easier to avoid and no longer breaks connections to things that are sensitive like gaming consoles
- Randomized, temporary IPv6 public addresses are a nice feature, and mostly turned on by default
- The biggest one is people seem to equate NAT = router/firewall. This is absolutely not the case, and they are distinctly different. You can absolutely have a router/firewall without NAT!
- CG-NAT is becoming more popular due to the lack of IPv4 addresses, and I hate everything about that.
- You can even run a NAT64 to provide IPv4 access to your IPv6-only devices