top | item 42607934

IPv6-only Network based on Jool

82 points| unclet | 1 year ago |taoshu.in

35 comments

order

throw0101a|1 year ago

The UK IPv6 Council has a bunch of videos on running IPv6-mostly/only networks:

* https://www.youtube.com/@ukipv6council468/videos

This includes at academic institutions where it's basically all BYOD so they have to deal with a more 'random' assortment of systems:

* https://www.youtube.com/watch?v=2B-liebzcOM

And enterprise networks, like Jen Linkova at Google:

* https://www.youtube.com/watch?v=hb98hAb5_W8

Jen also had a presentation recently (2024-11) at RIPE87, "Mission Possible: How Google Plans to Turn Off IPv4!", where they've managed to reclaim 300K IPv4 addresses:

* https://www.youtube.com/watch?v=UTRsi6mbAWM

She's currently co-chair of the IETF IPv6 Maintenance (6man) working group.

sgjohnson|1 year ago

NAT64 covers most of the cases. However, in my homelab experiements I very quickly found out that IPv4 literal addresses are a bit problematic for me.

There are ways to fix that with 464XLAT/CLAT, but I never got around to deploying it.

These days I'm just running dual-stack, with no NAT64. I hate NAT with a burning passion, so adding another layer of stateful NAT is a bit of a net negative in my eyes.

Someday I'll go full IPv6 on my home network with 464XLAT. And then I'll realize that some stupid IoT device or something is not CLAT aware. Obviously there are solutions around that too, but they require an intermediate device.

ay|1 year ago

If you have NAT64, DNS64 and use “IPv6-mostly” option 108 on DHCP, then CLAT will be activated on supporting devices automatically - and then you can turn the dhcpv4 off when you see no leases on it :-)

By now there is a fair amount of material, eg:

https://indico.cern.ch/event/1274792/contributions/5444353/a...

idatum|1 year ago

I resigned myself to the fact that IoT crappy devices will always exist and I isolated these to their own VLAN with IPv4-only (maybe I'll go dual-stack at some point).

Yes, VLANs add complexity -- even the obligatory IoT VLAN -- but I generally want to keep these IoT devices isolated anyway.

rendaw|1 year ago

I used Jool! It worked great, but with some caveats.

My ISP does DS-lite which is some abomination where the shared (split by port) IPv4 address is calculated based on the IPv6 address? Using a fixed mapping table? Which is both very popular here and has zero linux support.

They had another option to do PPPoE IPv4 + SLAAC IPv6, but for this option they didn't support DHCP prefix delegation. So I had to use this, and to work around that I needed to make my IPv6 network bridged.

The problem is Jool hooks into the linux routing table, and in the bridged network none of the outbound packets reach that table. So I had to 1. rewrite their RAs with my own DNS64 server and 2. mangle NAT64 packets to look as if they're sent to the router directly so they hit the routing table (and get processed by Jool): https://github.com/andrewbaxter/portalino/blob/main/source/o...

Then I hit random MTU issues. MTU should be auto configured (and fixed when there's issues) but I saw problems with Chrome/Firefox refusing to load pages until I tried again at least 30s later until I forced the MTU lower.

So close, but still so far.

soupbowl|1 year ago

I've bumped into ds-lite alot for my Japanese friends living in Tokyo. I really don't like it to say the least.

eqvinox|1 year ago

It should be noted in-network DNS64 is a fallback for situations where end devices don't have native support for NAT64 (either with a CLAT or with local DNS64). (Network side DNS64 breaks DNSsec)

RedHat is working to get CLAT on regular Linux hosts, where it has been direly missing.

rendaw|1 year ago

I guess this is because sometimes hosts use bare IPv4 address and don't go through DNS and thus DNS64 doesn't work for them? And if the host supports translating the addresses itself (CLAT) why use DNS64 at all?

But this is the first time I've heard of that. Do any devices support it at all? I'm still struggling with IPv6 issues on my iphone.

fulafel|1 year ago

It's not immediately clear from the page but this is a NAT style hack for people who don't have normal IPv6 connectivity, and NAT'ed connectivity is inferior to native.

eqvinox|1 year ago

You either mistyped IPv4 as IPv6 or misunderstood the setup. There is native ("normal") IPv6, but no IPv4 except on the NAT64 host. Since IPv4 is almost always NATed for end hosts, it's not inferior in any way.

ipython|1 year ago

I have to admit, at first read I thought the headline was referring to the e-cig Juul and I was scratching my head wondering how one could build an ipv6 mesh network out of vapes.

evanjrowley|1 year ago

I would love to do something like this except Verizon only provides IPv4 in my area. Some of the. Workarounds, like IPv6 tunnels, seem to have big drawbacks like being blocked by major providers.

I wish it were possible to force major operating systems to prefer IPv4 over IPv6, which might be a viable workaround to a less reliable IPv6 workaround, but such a configuration appears to be unfeasible for mobile phones, Windows, and perhaps MacOS too.

gertrunde|1 year ago

Not sure I entirely agree with :

"Here is the classical topology of home network." ... "And all the LAN hosts have one /64 IPv6 prefix."

Are people really deploying IPv6 like this? Rather than a /64 to a vlan?

(Personally, in the home, I'm just using DHCPv6-PD to delegate a different /64 to each VLAN).

tsimionescu|1 year ago

Who has multiple VLANs in a home network??

rfoo|1 year ago

Or maybe a "classical" (I assume author meant "typical"?) home network does not have multiple VLANs.

NewJazz|1 year ago

Doesn't openbsd do this without out of tree kernel modules? I'm kind of allergic to dkms and friends.

j16sdiz|1 year ago

OpenBSD do stateless NAT64. You can do the same on linux using Tundra in userspace.