News for hackers. Stuff that matters.
Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @02:02PM (#43070622)
> What are you going to do, train your users to log into their router and enable traffic?

You do what has already been done for decades. You ship a client premises router that does deny by default inbound and allow all outbound and things behave pretty much the same as they do today with these exact same rules in IPv4.

Network firewalls still exist in a publicly routable network. If I want my game console to allow incoming traffic for game matchmaking, I can then do that. Or have systems that auto configure that. But then I don't have to have multiple devices fighting for a limited port range, each device has more IPs and ports than they could know what to do with.

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @02:56PM (#43071101)
Please re-read my comment, as it seems like you skimmed it and think I’m making a different point than I did.

To use your example:

> If I want my game console to allow incoming traffic for game matchmaking, I can then do that

My point is that because of the fact that even in IPv6, consumer firewalls will block traffic by default, the company that makes the game would not have designed it to require your console to have special configuration on your firewall. Because this is not something a typical gamer knows how to do.

Instead, companies use UPnP for matchmaking, and UPnP works in both NAT and GUA environments, so what exactly does GUA give you?

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @03:09PM (#43071202)
If you have two Xboxes or Nintendo Switches in a standard UPnP network you'll still have NAT issues. They'll fight over port assignments. If I've got two things wanting to listen on :5000 I'm boned, I've only got one :5000 to forward from. I could remap that port in NAT, but now the downstream device needs to know to tell other clients it's actual public port.

You'll have even more problems if you're on CGNAT networks. You're not going to be able to get any of that traffic.

None of this is a problem if each device has its own IP address and its own range of ports to deal with. Every device can have its own :5000, it can know it's public IP address without having to have something see from outside, and with how big assignments usually are it can have dozens of things all listening on a public :5000 all at the same time.

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @03:39PM (#43071448)
If you want to hypothesize a world where we’re all on IPv6 and thus game matchmaking software can take advantage of the unique addresses for every console, you should also admit that the same software could also just use a unique port for each console today, in IPv4+NAT.

In fact, in IPv6, privacy addresses mean that the address the gaming service observes from my device shouldn’t be assumed to work for other peers, because my device may only be using that address for communication to the gaming service itself. Instead, authors of this software ought to understand that the console itself needs to tell the service “this is the address peers can use to communicate with me”, and thus you may as well just include the port in that call, and then you don’t need to assume port 5000 will work (because if I have 2 XBox’s, they could decide on a different port if another console already has one used.)

It’s just I’m disillusioned with the idea of GUA’s for every device actually solving anything. It solves like 10% of the difficulty of writing good p2p software. All the other problems are still there: firewall config, dynamic IP’s, mobile IP’s, security best practices, shitty middleware boxes not doing the right thing, etc etc etc.

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @04:36PM (#43071931)
My biggest argument would be CGNAT in the end really doesn't care what UPnP you do at the edge of your network; you're not getting that traffic no matter what you do. IPv6 means there's no reason to have CGNAT at all; there's more than enough addresses to go around.

Does IPv6 solve it all? No. Does it solve some of it better than IPv4? Yep. Does it just completely eliminate the need for CGNAT? Yep. It is not a silver bullet to solve all problems, but it does solve some, and for that I'd much rather use it. Because I'd rather just be able to host whatever at home and not need to remember what port is what or rely on proxies looking at other info in the request.

> shitty middleware boxes not doing the right thing

You reduce the need for shitty middleware boxes. I don't need a reverse proxy. I don't need to have a STUN/TURN server. I don't need to randomize ports or worry about running out of ports.

Re:IPv6 Is Hard by lmm on Monday February 17, 2025 @12:36AM (#43075545)
> the same software could also just use a unique port for each console today, in IPv4+NAT.

Why solve a problem once properly in the network stack when you can add an ad-hoc workaround to each individual protocol instead?

> the console itself needs to tell the service “this is the address peers can use to communicate with me”, and thus you may as well just include the port in that call, and then you don’t need to assume port 5000 will work

And if you're behind CGNAT so your home router doesn't know what the address and port are, what then?

Not to mention the case of a multiplayer game between two people who live in the same house and a third person who doesn't. That's one that's trivial with IPv6 but difficult with every IPv4-based system I've seen.

> It solves like 10% of the difficulty of writing good p2p software. All the other problems are still there

It all helps. I mean, people mostly manage to play games with each other today, they just get disconnects or random lag every so often. Cutting down on that, even if it was only 10%, would make a lot of lives better.

Re:IPv6 Is Hard by Hikikomori on Sunday February 16, 2025 @03:29PM (#43071363)
For badly designed games maybe? There's no real reason why they need the same port forwarded, it could be any random port.
Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @05:00PM (#43072152)
I'm dealing with the devices I've got and the software stacks they have. In the end they fight for port assignments on IPv4 and expect to just have massive port ranges assigned to them.

> Within the port range, enter the starting port and the ending port to forward. For the Nintendo Switch console, this is port 1024 through 65535.

https://en-americas-support.nintendo.com/app/answers/detail/...

Nintendo tells me to forward all high numbered ports to my console. Because obviously we're only going to have a single one in the house.

Re:IPv6 Is Hard by saurik on Monday February 17, 2025 @01:27AM (#43075860)
Fixing the broken software that somehow requires a specific port and getting NAT-PMP deployed is a hell of a lot easier than redoing all of the software and all of the networks to implement IPv6.