News for hackers. Stuff that matters.
Re:IPv6 Is Hard by glenstein on Sunday February 16, 2025 @02:31PM (#43070898)
Is the alternative reality One where all devices can connect to all other devices and come with built-in mitigations for the problems that firewalls are normally used for?
Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @03:01PM (#43071151)
Maybe. In the alternate reality, we probably would have the same threats on the internet as we do today, and the same boneheaded software that misconfigures things, so my guess is that we’d still have consumer firewalls at the gateway that just default-deny everything. Maybe there would be better standards about auto-configuring these firewalls though. (Or maybe the standards we already have would have just been better supported?)

But for certain, today if we had IPv6 everywhere, it still wouldn’t let you design something like a VoIP phone (or a pure peer-to-peer version of FaceTime) that just listened for connections and let other people “call” you by connecting to your device. That software would only be usable by people who know how to configure their router, and that doesn’t make for very good market penetration. You still need something like UPnP, so you’re basically right back to where we are today. At least the connection tracking would be stateless, I guess?

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @03:14PM (#43071247)
> You still need something like UPnP

I have two SIP phones both wanting to register port 5061 to forward to their address. How does this work with IPv4/UPnP?

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @03:50PM (#43071545)
I’m not talking about SIP, I’m talking about a hypothetical piece of software that an IPv6 proponent may typically claim that is made possible by unique GUA’s for each device. My point is that the GUA alone isn’t enough to make this work, you still need:

- UPnP or something like it - A place to register your address, since they change all the time even in IPv6

And if you need these two things anyway, you can do this with IPv4, with the added change that you also include the port when registering your address, which makes the “multiple phones in a network” thing work.

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @04:19PM (#43071813)
> I’m talking about a hypothetical piece of software that an IPv6 proponent may typically claim that is made possible by unique GUA’s for each device.

Like, say, a SIP client? Wanting to listen on the standard SIP port?

Or say two web servers that both want to listen on :443 and you don't want to have to reverse proxy them from another box.

> UPnP or something like it

> https://datatracker.ietf.org/doc/html/rfc6887

Port Control Protocol seems to be pretty well supported on most of the devices I own even in IPv6.

And in the end I'm pretty boned if I'm on CGNAT usually. I can pretty much never get my Switch to do matchmaking with peers on IPv4 when I'm on a CGNAT network. If we were all on IPv6, it wouldn't be a problem.

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @04:29PM (#43071884)
> Like, say, a SIP client?

No, not like, say, a SIP client.

You seem pretty intent on not reading my whole comments or something. Mind responding to what I’m saying and not just making up your own arguments?

I’m saying “ipv6 alone won’t solve X”, and you’re saying “but what about Y?”

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @04:45PM (#43072019)
I'm saying "but what about Y" and you're acting like Y is never a valid issue that anyone ever seems to have.

So once again, how do two devices both share port 5061 on a UPnP NAT with a single public IP address? Or even worse, if they're CGNAT'd? It's a simple answer with IPv6...

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @04:56PM (#43072117)
Again with the not reading. Let me try to sum up my position so we can end this whole “nuh uh!” nonsense.

IPv6 was designed in a world where we thought we’d have a truly peer-to-peer internet where anyone could just talk to someone else’s device. This obviously isn’t what happened. An ipv6 proponent may say “this is because NAT breaks the necessary assumptions”, but that’s extremely oversimplified and wrong.

The reason that, when I use my iPhone to FaceTime my mom’s iPhone, it doesn’t just use SIP to contact her phone, isn’t because IPv4 and NAT. It’s because the very idea of that is nearly impossible to implement at scale even if everyone had a unique address.

I’m aware you can’t have multiple devices behind a NAT address listen on the same port. Thank you for pointing that out, you’re very smart. But it really doesn’t address my point at all, does it?

My point being that the reason we don’t use SIP and related technologies for billions of end user devices today, isn’t because of NAT. It’s because the myriad of other problems that would need to be solved for it to work reliably, and because of NAT. Eliminating NAT wouldn’t really meaningfully change the landscape of how software works. FaceTime calls would still go through Apple servers. People would still use centralized services run in real data centers, etc.

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @05:15PM (#43072272)
> I’m aware you can’t have multiple devices behind a NAT address listen on the same port. Thank you for pointing that out, you’re very smart.

Ah, finally, you do acknowledge that there are issues that aren't actually solved with IPv4 and NAT. Thanks.

> But it really doesn’t address my point at all, does it?

Lets go back to the first thing I was reponding to.

> it still wouldn’t let you design something like a VoIP phone (or a pure peer-to-peer version of FaceTime) that just listened for connections and let other people “call” you by connecting to your device.

With having a public IP address, PMP enabled on my router, and DNS registration I have this today. My SIP phone here is sitting by, waiting for incoming calls. I don't need Apple's servers for this. Anyone with a SIP client and who knows the name can get to it (or trawls IPv6 space). This becomes a headache with IPv4 with multiple devices all wanting that 5061 port. Sure, one could just also tell people the port and have lots of random ports assigned, but that's just yet another bit of information to get lost, one more mapping to maintain, etc. Imagine if Amazon ran their ecommerce site off a random high number port instead of :443, think they'd get as much traffic?

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @05:25PM (#43072360)
> With having a public IP address, PMP enabled on my router, and DNS registration I have this today.

That’s cool for you, congratulations.

I’m talking about the broader internet at large, and the billions of users on it, and the software that is written for these billions of users. This software does not behave the way your cool phone does. Because people’s IP’s change. They’re behind firewalls they are unable or don’t understand how to configure. We don’t write software this way for a lot of good reasons.

Now, I keep talking about this, then you bring up “but I have this use case, what about that?” Demanding an answer as if I give a shit that you want to run a SIP phone at your house, and you’re willing to configure your firewall, etc.

My whole point (!!!) is that what you’re doing is not what the billions of people using the internet are doing. When I bought my mom an iPhone, I didn’t have to tell her “ok so, FaceTime only works at your house, you have to reconfigure this DDNS service when your IP changes, you have to configure your router this way, and don’t ever leave the WiFi network or it won’t work, but thank god for ipv6, because it means dad can do all this too for his phone!” No. Because FaceTime doesn’t work that way, nor could it ever, because doing true peer to peer calling was never a thing that would have ever worked at scale. It’s not being held back by NAT. It’s being held back because it was never gonna work in the first place.*

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @09:46PM (#43074470)
> and you’re willing to configure your firewall

I didn't have to configure the firewall, that happened automatically with PMP. That thing you didn't even know existed until a few hours ago.

But somehow you know all that is and is not possible. All that could have been if things were different.

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @11:16PM (#43075068)
Sick burn bro

I mean if you’re just going to sling ad-hominems around and invent your own argument so you have a chance at winning it, sure. I’m not aware of the specific RFC’s du jour that are used for auto-configuring routers. But after spending some time looking it up, it seems relatively niche (not as widespread as UPnP), and it appears the last 3 routers I’ve owned don’t support it. (I run an openbsd box with pf currently, but my unifi gateway before that didn’t support it, and the shitbox gateway Comcast gave me before that certainly didn’t support it. I could run a service on my openbsd box to support it but it wouldn’t make a difference because I’m perfectly capable of editing my pf.conf as it is.)

But if you’re gonna dig up other posts of mine to try and get a dig in at me, maybe at least read the rest of the post? You certainly haven’t done a good job of that so far.

Because I indicated that of course a protocol like this ought to exist, but what percentage of users of the broader internet are actually running a router that supports this? If you wanted to come out with a video calling app that only worked if your users had PMP working, what market share would you be losing out on? That’s the topic of discussion here after all (not that that’ll stop you from inventing your own discussion as you’ve continued to do.)

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @11:43PM (#43075235)
> I’m not aware of the specific RFC’s du jour

Funny way to say you don't know what you're talking about. If you don't know what technologies are actually out there how can you say what is and is not possible?

> but what percentage of users of the broader internet are actually running a router that supports this?

Most who aren't running their own home rolled pf setup that can't be bothered to read about "the latest" (over a decade old) RFCs.

And yeah, last I ran a UniFi gateway it supported PMP. That was several years ago. If it's a recent model device with halfway decent IPv6 support it's practically a sure thing it's got PMP support. Maybe disabled, but it supports it. Same with UPnP, might be disabled, but probably supported.

Re:IPv6 Is Hard by ninkendo on Monday February 17, 2025 @12:16AM (#43075423)
[delayed]
Re:IPv6 Is Hard by vel0city on Monday February 17, 2025 @12:57AM (#43075656)
> I guess you really enjoy feeling superior

> Sick burn bro

> My post was basically the biggest pile of sarcasm I could conjure and you still took it seriously, congratulations!

> That’s cool for you, congratulations

> not that that’ll stop you from inventing your own discussion

> I don’t think I’ve met someone that truly thinks technological progress stopped in the 1990s and that URL’s and DNS are all we actually need.

And yet you accuse me of ad homenims for pointing out your acknowledgement of not knowing of the last decade+ of networking tech and that I have a need to feel superior. Pot meet kettle buddy.

You've spent so much effort telling me what's possible or not, berating me multiple times, while acknowledging you haven't kept up with decade+ old tech.

Re:IPv6 Is Hard by Hikikomori on Sunday February 16, 2025 @04:06PM (#43071708)
Why would they need the same port?
Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @04:22PM (#43071836)
Because they don't want to have to rely on an external service to find the right port. Just like how your browser doesn't need to be told to connect to :443 for HTTPS. If you're connecting encrypted SIP, the port is assumed to be 5061. Just like HTTP is assumed to be 80, SSH is 22, etc.
Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @04:40PM (#43071967)
In what world do you not need to rely on an external service to find information like this? IP addresses change, people move around, etc etc.

The topic of discussion right now is peer-to-peer software, which is the quintessential thing that is always lauded by ipv6 proponents as the killer app of ipv6, because each device has its own globally-routable IP.

But “what address do I send these packets to?” is like, 10% of the issue with designing p2p software. Users ip’s are always changing. They move around. They go behind firewalls that will block their traffic. They go behind firewalls they don’t have permission to reconfigure. This is the case in IPv4, and it will always continue to be the case even if we were 100% IPv6.

IPv4 can work today for p2p use cases if you don’t make the assumption that the port is static. But that’s like 1 of N assumptions you have to check if you’re writing peer to peer software. The other N of them are all still issues, even in IPv6.

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @05:19PM (#43072317)
> But “what address do I send these packets to?” is like, 10% of the issue with designing p2p software

So wouldn't it be nice to go ahead and solve that 10% of the problem instead of just limping along with it?

Re:IPv6 Is Hard by Dylan16807 on Sunday February 16, 2025 @09:49PM (#43074491)
I hope you're not implying that IPv6 solves the problem of knowing what address to connect to.

If you can avoid an explicit port, that can be nice. But anywhere you're using an IP, v6 without a port is longer than v4 with a port. An implicit port is only useful when you're using DNS. (And if you're designing a service, you can choose to use DNS records that contain the port.)

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @10:45PM (#43074903)
I'm all for things to start using SRV records as well!
Re:IPv6 Is Hard by Hikikomori on Sunday February 16, 2025 @04:37PM (#43071945)
But the external service needs to know your ip, so why not port as well?
Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @04:51PM (#43072066)
Did you have to look up something to know this site is hosted on :443 or did you just make an assumption? Some kind of standardized port you connected on? Wouldn't it be nice if every device could just assume the standardized ports were available for them if they wanted them?
Re:IPv6 Is Hard by Hikikomori on Sunday February 16, 2025 @05:26PM (#43072369)
VOIP systems don't really work like random webservers though.
Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @05:46PM (#43072546)
There's little reason why they couldn't though. Why shouldn't I just call Apple by doing sip://support.apple.com ? Why can't people just call me at sip://desk-phone.vel0city.whatever (they actually can, if they know the right name) or sip://cell.hikikomori.apple.net ?

Instead, we're locked into proprietary platforms or relying on old phone systems.

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @06:02PM (#43072681)
Ok so try calling my phone at sip://ninkendo.example. Oh, I’m actually not at my house. I’m traveling and my device is moving from one cell tower to the next, getting a new IP address every few minutes. Then I get to my friends house and his router is gonna block unestablished connections so you better call me soon.

No, there’s a reason software like FaceTime, and calling in general, are mediated by centralized services and implemented as client-server. Because relying on your users to have stable IP’s, and to always be behind a properly configured firewall, would be an utterly insane way to design something.

Hence “ipv6 is a relic of a bygone era”, because in the era we live in now, IP addresses change and users move between networks constantly, and NAT is very much the least of our problems.

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @06:22PM (#43072844)
> my device is moving from one cell tower to the next, getting a new IP address every few minutes

You're pretty much never getting a new IP at every cell tower.

> Then I get to my friends house and his router is gonna block unestablished connections so you better call me soon.

PMP can solve that.

> Because relying on your users to have stable IP’s

Not a stable IP, but some kind of stable identity. Like a DNS name. That can be provided by someone like Apple, or Google, or whoever. It doesn't need to be ultra-centralized by only a single thing controlling it.

Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @06:42PM (#43073029)
Wow.

My post was basically the biggest pile of sarcasm I could conjure and you still took it seriously, congratulations!

Am I to understand your stated position is, we should have designed mobile phones to work in such a way that requires (1) dynamic DNS that instantly converges when I move to another network, and every single mobile customer getting a DNS address (2) a requirement that every network you connect to, perfectly knows to reconfigure its firewall rules to accommodate people coming and going, including cell towers? And furthermore, that that would totally be how all phones would work today, if not for IPv4 and NAT standing in the way?

I guess I’m… impressed? I don’t think I’ve met someone that truly thinks technological progress stopped in the 1990s and that URL’s and DNS are all we actually need.

I can’t wait for you to explain how you think text messaging ought to work.

Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @08:17PM (#43073778)
> I don’t think I’ve met someone that truly thinks technological progress stopped in the 1990s and that URL’s and DNS are all we actually need

I never said this. You're putting some rather strong words in my mouth. Just giving an example of something that could have been if it wasn't for NAT and an acceptance that you need a third party platform to allow you talk. Feel free to change out the pieces to whatever.

Personally I'd like to be able to just dial a FaceTime-like client from any device instead of just what Apple blesses with accounts Apple allows. And have that stack just be the norm. I understand NAT isn't the only headache that prevents this, but it is one of the several that does.

I don't think it's crazy to think easy dynamic DNS services could have become common if advertised right. People don't know how phone numbers work but in the end they know how to use them. The tech for routers to auto configure firewall rules based on client requests exists, and potentially if everyone-has-a-public-ip was common we'd have seen less reliance on brittle edge firewalls and NAT to provide so much of our security.

Killing NAT doesn't solve all the problems, but it does solve some of them. And I'd prefer solving the ones that help give users more freedom instead of accepting things like CGNAT.

Re:IPv6 Is Hard by Dagger2 on Sunday February 16, 2025 @08:33PM (#43073904)
FWIW IPv6 can handle this scenario just fine, by letting you take your home IP with you when you move to other networks. I don't think "v6 is a relic of a bygone era" is fair to say when it has a way to handle this exact problem.
Re:IPv6 Is Hard by ninkendo on Sunday February 16, 2025 @10:37PM (#43074832)
How does ipv6 let me take my IP with me, exactly? Citation needed. I mean, I have WireGuard installed on my phone and I get a tunnel my house wherever I go, but that’s not really the same thing, is it? You’re saying there’s a way for me, wherever I go, my house, 5G, my friends house, to just have traffic routed to my phone for a consistent IP address wherever I go? Not a VPN? Through something only IPv6 provides? Could you explain what this is? Because my ISP at home won’t even give me a consistent IP, not even a stable prefix.
Re:IPv6 Is Hard by vel0city on Sunday February 16, 2025 @11:06PM (#43075018)
It kind of exists in IPv4, but is a lot messier. Also, the lack of IPv4 addresses makes this a lot harder to do something like this in IPv4.

https://datatracker.ietf.org/doc/html/rfc6275

Re:IPv6 Is Hard by Tigress8780 on Monday February 17, 2025 @01:25AM (#43075840)
We have this thing called NATMap: https://github.com/heiher/natmap

It gives you a public dynamic IP + port combination if your network is NAT1 all the way to the internet. Both IP & port being dynamic kinda complicates things, they ended up inventing a new DNS record type, "IP4P" where IPv4 address and port are encoded as an IPv6 address, and modified WireGuard/OpenVPN clients are required.

We are supposed to solve this using SRV records, but I don't think many consumer-facing apps can do this.

Re:IPv6 Is Hard by saurik on Monday February 17, 2025 @01:30AM (#43075874)
The two devices shouldn't both need to be on the one port 5061: we have numerous solutions to that problem at this point, from specifying the port as part of the connection to auto-detecting it using SRV in DNS. Yes: making some small changes to existing software to not assume hardcoded ports is required in this future... but there is no way that those changes would have been (or frankly even still are) harder than the insane solution of reimplementing and redesigning the entire world--requiring its own changes to every protocol (including SIP) and breaking a strict and extremely large superset of the same references that merely needed a port number--to support IPv6.