Preferences

If you are deploying a greenfield project in 2025 and you don’t bother setting up IPv6, you are failing. Also all internal virtual networks should by this point be IPv6 only or at least dual stack. The fact that we got unit testing to be the norm before IPv6 is negligent.

I can't see any advantages at all. I deployed it at home and in a few networks my company runs. We had nothing but stupid issues and zero benefit, and I was looking for them.

Basic stuff like getting automatically applied dynamic hostnames from the ISP fighting with whatever things are called internally wastes alot of time. I think most devices were getting 4 different addresses for various purposes and the devs had no idea which one they should be using.

I'm sure we were doing it wrong, or used the wrong gear, or whatever. But again, no discernable benefit to anyone involved. If we were located in a place with no IPv4 availability, probably a different story... but we don't. We turned it off except for a few networks that just provide client internet.

There are many advantages. I listed some in a reply to another comment.

It is like carrying a Swiss Army knife in your pocket. Until you start it seems like you’d never need it. Once you do, you won’t live without it.

It's more like carrying an overly complex Swiss Army knife that somewhere has a knife function, but that knife function doesn't intuitively work like a regular knife and has all kinds of weird failure modes and edge cases, when all you want is to slice an apple.
IPv6 is in most ways simpler than IPv4. There are a couple of gotchas but honestly all you really need to do to see this look at the IPv4 and IPv6 packet header structures to see that they difference is minimal and IPv6 has less room for complexity. You lose NAT (it is possible but nobody really does it), your TTL is now just a hop count, the netmasks are more or less like the old IPv4 class networks instead of the classless setup we use today. Each network gets a minimum of /64 (that is 4 billion squared addresses), and you actually have proper and functional link local networking.

But yes it uses colons instead of dots. Sorry about that.

I set up IPv6 at home and realized every single device in my house got a globally routable IP by default and was confused for a second.

Oh! This is how the Internet was supposed to be!

Remember, we only even bother with NAT bullshit in the first place because there aren't enough IPv4 addresses.

You're talking about v4, right? Because that's the one that works weirdly and has weird failure modes and edge cases. You've gotten so used to dealing with the weirdness that you struggle to even see it, but that doesn't mean that it's not there or that there's no value in removing the need for it.
Is there a good resource for newbs in small-midsized networks you can recommend?

The company stuff is super-simple, but my home is as you described in the other comment -- i'm getting into large counts of IoT and other devices.

I would start with the Tunnel Broker tutorial/certification process.

A lot of cheap IoT WiFi devices do not have IPv6 support but pretty much anything to do with ESP32 or even ESP8266 does have that support now. Ping me if you want to talk more about it.

For my home network, I really tried. But in the end, after several times running into weird issues where some pages were working and others weren't, which were reliably resolved by turning off IPv6, I decided to leave the setting in the "Internet works" position.

I don't know what the issue was the last time, and I don't want to know. In particular, I don't want to have to know. When I open the tap, I expect clear, safe, drinking water, not having to debug why the pipe isn't working.

I had these same concerns for a while. Earlier this year, I turned on IPv6 and run a dual stack on my home network (my mac is browsing HN via IPv6.)

Do you remember what sites didn't load for you?

Have you done the tutorial on Tunnel Broker?
No. Because again, I want water to come out of the tap, not spend hours playing plumber.

My ISP provides native IPv6, when it works, and it worked until it didn't, and because I wanted to use the Internet rather than debug the Internet, I took the easy way out. IDGAF whether it was something I could have configured differently that only becomes relevant in some cases, a bug in my router, an issue with my ISPs network, or someone else's misconfiguration: There is a setting in my router, and with the toggle on the left, my Internet works reliably without me having to touch things, with the toggle on the right, it occasionally demands attention at inopportune moments.

I mean in that case yes it makes sense. You are not setting up any networks that affect anyone but you and maybe your family. My comment was directed at people that are setting up infrastructure aimed at hosting systems that consumers intact with or systems that run internal applications, such as an AWS VPC that hosts a variety of services. Your ISP also would fall into that category.
I'll call you the next time HE decides to stop routing ipv6 from europe to new york or when your corporate vpn is ipv4 only but your resolver is preferring AAAA records
"IPv6 only or at least dual stack"
"the next time HE decides to stop routing ipv6 from europe to new york"
Then I will dead pan tell you to engage a second provider. I will also tell you to have your corporate IT people ring me so we can do some remedial IPv6 training.
Dear Sir,

The absence of IPv6 within our organizational network is a deliberate and carefully considered decision, implemented in accordance with the requirements of our current cyber insurance provider. Enabling IPv6 would invalidate our existing insurance coverage, which in turn would result in the loss of a critical client whose continued partnership depends on our maintaining this specific insurer. This dependency arises from regulatory obligations that compel our client to source services exclusively from suppliers holding cyber insurance from accredited providers.

We recognize the technical benefits of IPv6, but compliance and risk management considerations must take precedence under these circumstances.

Absolutely wild. Sounds like there were organizational problems where the correct technically-minded people weren't invited into the vendor eval process for that "insurance" provider, nor were they given the ability to push back on insane requirements from a customer.

This is a symptom of hiring the cheapest, least sophisticated box-ticking compliance and insurance providers. How do I know? Because I've worked with more than I want to count. And that's all that they know how to do. Sure, they'll give you the certification, or the insurance, but it will be non-stop pain starting the day you sign the contract with them.

A real, competent provider/insurer would take the problem on head-on and be the adviser that you are hiring them to be. They would advise you about the real, actual risks and positives. Then you would have air-cover to go tell the customer during the procurement stage to go pound sand. Insane that you would actually allow a prospective customer to dictate how you do things internally. That also smacks of the customer not having the technical sophistication to even know about the things they are demanding, they just read about the random lines they can throw in a contract because others did.

This industry is fucked and deserves every ounce of comeuppance coming its way.

Tell me you don't work in the industry without telling me you don't work in the industry...
Tell me you've never done compliance work without telling me you've never done compliance work.

What, specifically, about the above do you take issue with? These are all issues I've seen personally and up close.

Well, IPv6 would be nice but my experience so far was that having it enabled on my machines/local network usually resulted in something not working :/
When was the last time you tried? I used to run into issues too but for a few years now it's basically "just worked".
about 1 year ago (after mooving with new ISP…)
Why?

IPv4 works. IPv6 often doesn't. I'd love to see a benefit in ipv6, I see no benefits at all, I can't run an ipv6 only network, so I have to run ipv4, and everything I need runs on ipv4, why do I need to double my workload to run ipv6 and ipv4.

My ipv6 only ssid at home sits idle other than a test vm because when I reach a problem I just move onto my ipv4 only ssid and everything works.

You can host stuff on your network that is accessible outside of it without port forwarding.

You can have zero configuration address discovery in a way that is simpler than IPv4.

You don’t need to worry about what happens when you get to over 200 devices on your local network (not unheard of in at home networks when you start adding IoT devices.

You can have stable addresses across ISPs if you bring your own prefix or use a tunnel.

You save money by not renting IPv4 addresses.

You don’t get as easily blacklisted for email delivery since you dot. Share a /24 with a bunch of spammers.

This is before you get into P2P networking without having to rely on a third party relay.

> You can host stuff on your network that is accessible outside of it without port forwarding

Why is this an advantage? As in, what's the downside to having to port forward?

Because port forwarding is done in addition to firewall rules. So it is extra work. And because a lot of devices can’t do UPnP. And because port forwarding at a “large” scale is not good. There are only so many ports.
> So it is extra work

It really isn't, it's the same declaration in your config, and then your automation makes your devices make it happen.

You can set up p2p connections using a server only to do connection setup/firewall punching instead of relaying all traffic (e.g. for voice/video calling or hosting a game). You can also have more than 1 computer using the same port on a network.
I get most of your points but from experience it just doesn't work out very well. For example I get a different /64 (or was it /60?) prefix every day from my ISP. I complained about it and the reply was that they don't offer a stable prefix for non-business customer. Your point with email is something I didn't experience. I could never get email on ipv6 only to work because the mailservers I wanted to send mail to were ipv4 only...
That is very unfortunate and where pressuring the ISP becomes necessary for a bit. You can always route your IPv6 traffic through a relay of your choice to get a stable prefix but I 100% agree that it isn’t fun.
> You can have zero configuration address discovery in a way that is simpler than IPv4.

SLAAC is great, unless you want to be able to be able to register devices ex. so you can add them to DNS, at which point it becomes a liability.

> You can have stable addresses across ISPs if you bring your own prefix or use a tunnel.

I do really like that, yes. Being able to do a VPN and not worry about colliding with other RFC 1918 users is great.

> You don’t get as easily blacklisted for email delivery since you dot. Share a /24 with a bunch of spammers.

Anyone doing blacklisting by IP just blacklists subnets or ASs, so I really doubt that this is better.

Making v6 a separate network from v4 was a mistake in hindsight. They needed to roll this out in steps, first one being you keep the same IP address and all except you're just using v6 instead of v4, with a NAT etc like before (which ofc you could turn off if you want). People only needed more addresses, not everything different.
You can't fit 128bit number in 32bit field. All suggestions I have seen are missing something or reinventing network address translation, poorly.
Expanding the address size did require a larger field but didn't require wiping out the existing addresses or anything else. We got the new packet header and near ubiquitous support for it, but that's not everything.
I made a deliberate choice to see if ipv6 was ready. I don't need ipv6, I do need ipv4. ipv6 doesn't work, ipv4 does.

The alternative (dual stack) is more work for no reason.

If ipv6 ever works then great.

I built a test ipv6 network for work but a lot of equipment simply didn't support it, and of that which did our suppliers said "well it might work but nobody actually uses it so we don't know"

It's a solution to a problem which was solved in a more backwards compatible way decades ago. It would be lovely if it worked, but it still doesn't.

IPv6 works just fine. I'm by no means a talented network engineer (I'm not even a network engineer at all), but it's really easy to set up a network to have dual-stack v4 and v6. While it's technically more work, it's more work on the magnitude of spending two hours rather than one hour on setting up the network. Not exactly a meaningful increase in how much work it took.

As for "why", because I don't have to faff about with NAT or port forwarding, both of which are terrible. I just put addresses into a AAAA record and open a firewall rule, the way it should be. Meanwhile with v4 I have to port forward all web traffic to one server, then reverse proxy it to its final destination. It's more complicated and fragile to set up, whereas v6 is simple and pleasant to work with.

> but it's really easy to set up a network to have dual-stack v4 and v6

Why do you need v4? because v6 doesn't work.

> NAT or port forwarding, both of which are terrible

Why? I assume you're still using a stateful firewall, so what difference does it make.

Normal source-nat has many benefits too, for example when you want to send some traffic via ISP1 and some via ISP2, controlled at the network layer, and you aren't BGP peering with them.

> Meanwhile with v4 I have to port forward all web traffic to one server, then reverse proxy it to its final destination

Or just use two IPv4 addresses. Personally I reverse proxy my servers anyway to have a single (well dual) point of control on entry at an application layer, ipv4 or ipv6 doesn't matter.

Ipv4 and ipv6 only work on the Internet because of constant maintenance by many people working in many different organisations. Ipv4, being effectively mandatory, gets most of that attention. Ipv6, being a nice-to-have future- proofing option, gets less. And so you are far more likely to encounter issues, in the general internet, where connectivity is not working properly, and even if you have the energy to debug it, you are likely to find the problem is not on your end and the only option is to fall back to ipv4 and wait for it to be fixed.
You do have to mess with the port forwarding etc if you're dual stack.
It's true that at this point future proofing demands it.

Is anyone happy about it in ipv4 land? No.

I just think it is ironic that the biggest use of ipv6 is cgnat, and it's what they crow about in ipv6 uptake, despite the fact ipv6 is religiously opposed to NATs.

Regular NATs you have control over with poking holes. Cgnat you are restricted to tail scale stuff.

I think you misunderstand. CGNAT is IPv4. IPv6 is sometimes (often?) provided alongside, because of the limitations of a CGNAT IPv6 connection.
Your cgnat isn't taking an ipv6 addressed phone and interfacing with the ipv4 internet?

Or are you trying to say the ipv4 is what is natted? Because the ipv4 is where all the stuff the ipv6 phone wants.

> Because the ipv4 is where all the stuff the ipv6 phone wants.

There's still some ipv4 only services, but most of the big ones are dual stack. Looks like right now tiktok is v4only, which is probably significant, but Google, Facebook, Netflix are dual stack. Amazon/EC2 have lots of v4 only bits and pieces, but at least www and cdn are dual stack. Github is also v4 only and that's important, but how many people are pulling from their phone?

I ran Starlink for a while. CGNAT. No fun running servers. 5G internet? CGNAT. ISPs that support IPV6, they will probably still run NATs.

So here's a question: if your ipv6 is behind CGNAT and calls an ipv6 on the other side of the CGNAT: is it still one-way, or un-NAT'ed?

And you agree the non-oligarch internet is ipv4, along with a large part of the oligarch internet.

At this point, about 25% of traffic on dual-stack ISPs is v4. So no, v4 isn't where all the stuff the phone wants is.

CGNAT is generally only done for v4. v6 isn't needed to provide CGNATed v4, and if v6 is provided as well then it generally isn't NATed. I expect you could find an ISP somewhere that NATs the v6 too as a counter-example if you looked hard enough, but as a rule they don't.

(Sometimes CGNATed v4 is provided by making use of the v6 in some way -- e.g. mapping v4 destinations into v6 with NAT64, or by tunnels -- but the CGNATing still only applies to v4 destinations, so this just an implementation detail rather than an undermining of the above point.)

> Cgnat you are restricted to tail scale stuff.

But only on v4, not on v6. That's kind of the point of bothering to make v6 in the first place -- it allows you to keep the ability to poke holes in your inbound firewall even in a world where v4 is exhausted to the point of CGNAT.

The exhaustion and the CGNAT and the resulting restrictions would still be there if you didn't have v6. It's just providing you with a way out of them.

Just spent the last 6 months delivering a code low deploy high platform / initiative for a government agency; v6 didn't make it on the requirements or nice to haves. Not a single user on the platform (so far) has said "oh I wish this was on IPv6".
The comment above was being downvoted quite a lot, and I'd quite like to know why. It seems reasonable to ensure that IPv6 works as a basic requirement for new projects (at least, ones which can be connected to a network).
There are many new projects that are ipv4-only, and it doesn't mean they failed.
If you created a token ring network for your K8s cluster and it worked fine I wouldn’t say you failed. But I would say you are not doing the right things. This is the same. IPv4 is deprecated. Stop using it for things like your AWS VPC. If it doesn’t work aggressively file bug reports.
Or, I can focus on getting the project done. If IPv6 is a requirement then I'll do it, no complaints. Chasing nice-to-haves is how the project explodes in complexity.

Which btw, is what ipv6 did. They just needed to enlarge the address space, instead it became a whole redesign that was not only harder to adopt but also inherently more complicated than v4 (aside from removing fragmenting). So I wouldn't even say it's the right thing, it's just what someone else wants. Maybe a compromise will be reached in v7, like v6 packet format that otherwise acts like v4 and carries over the old /32s.

It wasn't a whole redesign though? It has an identical network model to v4, routing and address assignment work the same way, it works over the same L2 links as v4, and L4 protocols like TCP and UDP all work the same. DNS is the same. The socket API is the same. Link-local addresses exist in v4 too, and v4 even had router advertisements already before v6 was even out. How is it a whole redesign?

> Maybe a compromise will be reached in v7, like v6 packet format that otherwise acts like v4 and carries over the old /32s.

This is, of course, impossible, because v4 only has 32 bits of space for src/dst addresses. You can't cram more than 32 bits into 32 bits. If it was possible we wouldn't have needed v6 in the first place.

Oh my god are we back to trying to cram 8 bytes of data into a 4 byte field? You’d think people on a site called Hacker News would understand basic arithmetic.
No, it's not my job to file bug reports and wait for $randomcorp to fix it. I'll just use v4, thank you very much.
If this isn’t your job to build networks or networked services then this comment isn’t aimed at you. If that is your job then you are neglecting a part of your job.

This is like an electrician saying it isn’t my job to install ground circuits because appliances shouldn’t get ground faults. Or a consumer saying it isn’t my job to install ground circuits because I am not an electrician.

If token ring worked, was easier to set up, had better compatibility, and had negligible downsides, then yes I would run a cluster on it without a second thought.
Apparently HackerNews was v4-only until 2024. Wonder if there was a particular reason.
The bell curve of engineering skill dictates that most don't want any new ideas that are outside their bubble.
If something takes 10x the effort for 0x the return most will not do it.
I agree there is definitely more work required to get something working with IPv6 (though not 10x). However to say that doing this is "0 x the return". You're ignoring a solid third to half of the broad internet, which is not nothing. Plus if you're trying to sell to me then I'm definitely not going to adopt your product if you've made no effort on IPv6.
if the Internet actually managed to move to v6 the end of NAT and CGNAT would be a huge win.

Also, look at the price of every v4 address you have to rent, and compare it to v6 and tell me there's no return.

I've practically built an entire career out of finding ways for customers to use fewer v4 addresses and the demand is there because v4 addresses are expensive as shit due to their scarcity.

It takes as much or less effort than IPv4. And sorry if you set up networks and don’t know how to do that with IPv6, you shouldn’t be doing what you are doing. If it takes you 10x as much effort to set up something that is actively simpler, you need an education or a career change.
my ISP gives me native v6 and a /56. I had sooo much trouble, I gave up and just disabled v6 in the kernel.

For example some sites might resolve a v6 address which is unreachable and the fallback takes ages. Some sites would resolve, connect but never load. Some must have been routing issues, etc. I'm not going to individually hunt down the issues, disabling is easier.

Hehe, my ISP offers v6, but for an extra $5/mo they're providing a static IP. I went with the latter, life has been headache free.
Agree 100%. There is no excuse other than "v6 addressing and subnetting is haaaard". It makes most things a lot easier than its v4 counterparts. I'd go so far as to say not deploying v6 is actively negligent.
Just imagine the world was used to subnets and NAT would be the new thing to learn. Everyone would go "NAT breaks all the time" and "portforwarding is weird" and whatnot. IPv6 is not harder, people just confuse "harder" with "not being used to".
NAT is actually useful besides just avoiding address exhaustion. Many IPv6 networks are on NAT anyway, like pretty much every cell carrier, which maybe accounts for most ipv6 traffic.
> like pretty much every cell carrier

TMo US gives me a whole routed /64. Why build and staff v6 NAT devices for no reason? At least several years ago several cell carriers were all about v6 to reduce the volume of v4 traffic they carry, because v4 requires expensive addresses, expensive nat boxes, and expensive people to feed and care for the NAT boxes.

Honestly, I don't know why so many carriers do v6 with NAT, cause intuitively they wouldn't. Maybe someone else knows. I know why a home or office would do it, it's easier to reason about there.
> There is no excuse other than "v6 addressing and subnetting is haaaard".

This is just absurd on its face. There are very real human, political, engineering, and financial reasons to not want to upgrade things that are IPV4 only. _SHOULD_ one do this, absolutely, but there's a lot more to it than people pulling the "hard" card. There's a bevy of reasons it IS hard, and very few of them are just obstinate luddites.

When did the post that I was responding to say anything about upgrades? The comment was about greenfield projects. I reiterate my point: if in a -greenfield- project you're not building IPv6 native, you're negligent. Get up on your reading comprehension.

If there's no IPv6 support, be an engineer and -make- some: write the software that needs the support, use different vendors that don't break it just because they are actively lazy and can't be bothered to implement RFCs that are, at this point, decades old. IPv4 needs to go away yesterday.

> Get up on your reading comprehension.

The ad hominem, nice.

This item has no comments currently.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal