Live data from Hacker News

I spent a week without IPv4 to understand IPv6 transition mechanisms

apalrd.net

471–480 of 511 posts

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#471

Earlier quoted context omitted.

Yes, which is why they shouldn't use those huge prefixes. There's an existing 32-bit address space represented nicely like 8.8.8.8 or 192.168.1.2 for local. Now that we want to extend the address space for more users, the newer ones can be like 8.8.8.8.6 without messing with the existing ones. Oh and I'd actually prefer the 65520.

You'd still need to upgrade and change every device. There have been transitional software that used ipv6 but allowed for ipv4 address notation. [1] Example: ::ffff:0:8.8.8.8 The huge prefixes allow for a simple hierarchical network structure and gives us room to redo the address scheme if we end up wanting to (only a portion of addresses space is currently allocated right now) without having to go through this entir…

Right, I've seen the padded v4-like v6 address spec, but that's not how they attempted to transition everything. ISPs gave everyone new v6 addresses, and the whole home/office router/NAT/PC ecosystem put v6 on a totally separate plane with ::: style addresses presented to users. I understand that the clean slate of reallocated addresses would solve some problems, but they could have focused on just getting all that hardware and software onto the ipv6 protocol with minimal changes before attempting to basically redo the entire Internet along with every LAN.

As an end user who has a choice, they have to give me something that's not harder to use than before. I think they could have managed that if it were a priority.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#472

Earlier quoted context omitted.

You'd still need to upgrade and change every device. There have been transitional software that used ipv6 but allowed for ipv4 address notation. [1] Example: ::ffff:0:8.8.8.8 The huge prefixes allow for a simple hierarchical network structure and gives us room to redo the address scheme if we end up wanting to (only a portion of addresses space is currently allocated right now) without having to go through this entir…

Right, I've seen the padded v4-like v6 address spec, but that's not how they attempted to transition everything. ISPs gave everyone new v6 addresses, and the whole home/office router/NAT/PC ecosystem put v6 on a totally separate plane with ::: style addresses presented to users. I understand that the clean slate of reallocated addresses would solve some problems, but they could have focused on just getting all that h…

Not sure I understand. Right now you should have dual stack, which should be easier than merging the v4 onto the v6 network. You didn't have to change anything to keep working with v4 and if you want to work with v6 then that's an option for you but you can disable if you really want.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#473
post #42

Earlier quoted context omitted.

> I am quite happy that all those shady IoT devices cannot be reached from the internet directly when I am using IPv4 and NAT - what would be the best way forward to keep it that way in a IPv6-only future? The same exact way you do it right now. Think of NAT as an implicit default-deny firewall rule, that's all it's doing. Basically any firewall worth using will do exactly the same thing in IPv6, deny unsolicited inb…

But how does eg a device programmatically tell the firewall to allow traffic in in this case? This is done via UPNP on ipv4 NAT. If you're going to say there isn't a way and you need to add the firewall rules manually, then this is absolutely no improvement for 99%+ of consumer users who have absolutely no chance of understanding how to configure that. Think of for example Xbox users. On ipv4 with NAT it automaticall…

> But how does eg a device programmatically tell the firewall to allow traffic in in this case? This is done via UPNP on ipv4 NAT.

https://en.wikipedia.org/wiki/Port_Control_Protocol, which also allows for UPnP-like functionality when NAT64 is in play.

That said most "P2P" traffic is still mediated by a central server though and does not need this. The lack of port remapping from NAT means that tricks like UDP hole punching work simply and reliably rather than the semi-random performance seen through NAT. Multiplayer gaming, VoIP, voice/video chat, etc. where a central server does the setup doesn't need ports opened to the world, it just needs to punch a hole for that specific session. A SIP phone opening a port forward on 5060 for itself is a bad thing, but it's sometimes needed in the NAT world.

True unsolicited incoming traffic will still need an allow rule but that's a lot more rare.

> If you're going to say there isn't a way and you need to add the firewall rules manually, then this is absolutely no improvement for 99%+ of consumer users who have absolutely no chance of understanding how to configure that.

I disagree. These days the sorts of things normal people do that deal with P2P connections are pretty good at dealing with NAT, but far from perfect. You don't have to look far in to the gaming world to find people complaining about not being able to join a session, not being able to connect to voice, etc.

Any VoIP provider serving users on their own internet connections is going to be doing things like regular keepalives, setting their media systems to accept RTP from and send it back to whatever port it comes out of the user's NAT on instead of the one it's supposed to be on, etc.

All these things work pretty well, most of the time. But they're not perfectly reliable because every NAT implementation is different in subtle ways.

> Think of for example Xbox users. On ipv4 with NAT it automatically configures it for serving games using upnp. If you had ipv6 only with a default deny rule and no upnp equivalent then the Xbox cannot open itself up to incoming connections. It's actually a downgrade in terms of "P2P" connectivity from NAT.

As noted previously, in IPv6 it doesn't need to open the port at all. Anything the Xbox, or any other modern game console, will be doing is server-mediated P2P for which standard basic UDP hole punching is a perfect fit.

Basically anything that definitely always requires a port forward in IPv4 NAT will probably still require an allow rule in the firewall, but anything where port forwards aren't supposed to be required but sometimes they help some people more reliably connect is a problem caused entirely by the NAT and those problems go away. Hosting a dedicated game server is in the former category, playing games is in the latter category.

There's a reason all the modern consoles include NAT tests in their network diagnostics, but can only offer vague suggestions at the fix, because how the NAT is breaking things varies by the NAT and may or may not be fixable. The only real fix is to eliminate the NAT.

FWIW Xbox prefers IPv6 when available and Xbox Support specifically recommends having it enabled if you can. That tells me that it works either equally well or better than IPv4 in the real world, which fits my view of things.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#474

Earlier quoted context omitted.

https://news.ycombinator.com/item?id=24999906 Shitty ISPs do exist, or at least they existed two years ago.

Sure they exist, but should you expect your ISP to be shitty? Sounds like a terrible deal for you.

In large swaths of the US, you don't have a choice about what ISP you have available. If you happen to have a shitty one (and most aren't great), there's nothing you can really do about it.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#475
post #256

Earlier quoted context omitted.

In theory, sure. In practice firewalls can be misconfigured. NAT doesn't have that problem.

Consumer NAT firewalls have uPnP enabled, right?

Yeah often, but it only responds to requests from the local network.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#476

Earlier quoted context omitted.

At that point, would a cheap VPS not work instead?

The server in this case was the PC version of ARK which nom nom noms all the CPU/RAM.

Run a cluster of 12 Ark servers. Can confirm.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#477

Earlier quoted context omitted.

Right, I've seen the padded v4-like v6 address spec, but that's not how they attempted to transition everything. ISPs gave everyone new v6 addresses, and the whole home/office router/NAT/PC ecosystem put v6 on a totally separate plane with ::: style addresses presented to users. I understand that the clean slate of reallocated addresses would solve some problems, but they could have focused on just getting all that h…

Not sure I understand. Right now you should have dual stack, which should be easier than merging the v4 onto the v6 network. You didn't have to change anything to keep working with v4 and if you want to work with v6 then that's an option for you but you can disable if you really want.

I'd like to use v6 in the dual-stack setup, with all the v4 addresses copied over so that there's no visible change. I'd just be using a different protocol under the hood, similar to how upgrading DNS or HTTP versions didn't change all the URLs.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#478

I have built a couple of dual stack Kubernetes clusters already and they work much better to be honest. Most of the problems are solved and especially for node-based-ranges it works really well. Even in ipv6 only mode calico will manage amazingly and so do my OpenWRT routers. HOWEVER, My ISP regularly messes up with its ipv6 routing (deutsche Telekom (so as big as it can get for me) and if that's not the problem, the…

> My ISP regularly messes up with its ipv6 routing Can you expand on this? I recently upgraded my network to support ipv6 but a big concern I have is what if they (Verizon Fios) change my assigned block? How can I make sure my PI hole and server has the same static IP address?

In that situation, don't connect to your pi hole using its GUA (global address, starting with 2), connect with it's ULA (link-local address, starting with f). Link local addresses are not routed outside your LAN, so they don't change when your ISP changes your prefix.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#479
post #412

Earlier quoted context omitted.

> Everything on my network is going to go through my firewall anyway. I don't want anything on my network to be globally routable. Globally routable ≠ globally connectible. Your (stateful) firewall will still by default block any incoming connection attempts if they are not replies to an initial outgoing connection. It's just that it will no longer be necessary to go through the rigamarole of STUN, TURN, ICE, etc, th…

> Globally routable ≠ globally connectible Tell us with the next 0 day, because that big problem exist, and unfortunately happens every days. IPv6 == All your devices are globally ROUTABLE and CONNECTIBLE from Internet, your home network is part of internet. It is an additional rule in the router's firewall what temporarily avoids it. Remark in temporarily, as one day the gifted packet will arrive to the router. This…

> It is an additional rule in the router's firewall what temporarily avoids it.

I really don't understand the fearmongering. Your home router likely runs some flavor of Linux which uses Netfilter/iptables to perform both NAT and filtering. Do you believe that the filtering/firewall modules are inherently flawed, yet the NAT modules are infallible?

I see them as two sides of the same coin. If we're theorizing about a magic packet that not only removes your firewall rules, but also flips the default policy to ACCEPT, the very same packet could also sneak in a few NAT rules into your IPv4-only router.

Re: I spent a week without IPv4 to understand IPv6 transition mechanisms

#480

There's a reason most haven't moved to ipv6. ipv6 is a solution looking for a problem. What we really need is an ipv7 that takes the best of ipv4 and ipv6 instead of trying to force ipv6 down a reluctant user group.

You can't have the best features of the two - in the sense of interoperability - because they are different on a fundamental level: it's impossible for IPv4 nodes to talk to IPv6 nodes without understanding the much larger address space. There were proposals back in the day (early 90s) for IPng (IP Next Gen, as IPv6 was called back then) to be a hierarchical routing algorithm, that could have kept backwards compatibi…

42% of the internet uses v6, and rising. The economic incentives for ISPs absolutely exist, as v4 addresses become ever more expensive and the cost of CG-NAT deployments continue to climb.
Post reply on HN