duskwuff 4 days ago

I wouldn't be surprised if a lot of the hardware under management (e.g. IP cameras, NVRs, cable modems) lacks support for IPv6, and/or the customer networks that it's resident on don't have working IPv6 transit.

  • zokier 4 days ago

    The solution is to run ipv6 on the overlay and have the customer site gateway thing they have to translate it to target ipv4. Conveniently you can do the translation it more or less statefully and very easily because you can just embed the ipv4 addr in ipv6. For example you could grab a /64 prefix, assign 32 bits to customer/gateway id and other 32 bits to target ipv4 addr.

    • wmf 4 days ago

      Basically Teredo.

      • eqvinox 3 days ago

        Basically NAT64. (Teredo requires the IPv4 hosts to have awareness of it, this doesn't.)

  • reactordev 4 days ago

    It’s definitely on the software side… The human side.

    • eqvinox 4 days ago

      The squishy side.

      Coincidentally I think that's an overestimation on the number of devices that don't support IPv6. At this point, vendors have to go out of their way to disable IPv6, and they lose out on some government/enterprise tenders that require IPv6 even if they're not running it (yet).

      • reactordev 4 days ago

        Right, IPv6 is baked into the NIC, so it’s up to developers to use it.

pcarroll 4 days ago

IPv6 is very badly supported at the low end of the market. Cheap webcams, doorbells, etc. And that not counting already old equipment... If we had a nuclear war, we could start over. But for now, we are stuck. Blame it on Cisco for inventing NAT.

  • tryauuum 4 days ago

    man this sounds so realistic, a system administrator saying "yes! Now we can migrate to the IPv6" after the 99.9 percent of the world population is killed

qhwudbebd 4 days ago

Yes, I was going to suggest nat64 encapsulating the customer's v4 network on the wireguard overlay, but their embedded device is presumably a little linux board, and mainline linux still lacks any siit/clat/nat64 in netfilter. So I guess they'd end up in a world of pain with out-of-tree modules like jool or inefficient funnelling through taptun tayga-style.

lxgr 4 days ago

IPv6 solves the addressing problem, not the reachability problem. Good luck opening ports in the stateful IPv6 firewalls in the scenarios outlined in TFA:

> And that assumes a single NAT. Many sites have a security firewall behind the ISP modem, or a cellular modem in front of it. Double or triple NAT means configuring port forwarding on two or three devices in series, any of which can be reset or replaced independently.

  • zamadatix 4 days ago

    The article's proposed solution for IPv4 is a combination of VPN+NAT. The solution in IPv6 can be just VPN, sans NAT.

    • bandrami 4 days ago

      It can be sans NAT, but there's no guarantee it will be, and if a remote site chooses to NAT their IPV6 you still have to support it

  • bigstrat2003 4 days ago

    I'm not really seeing a reason why it would be impossible to open firewalls in that scenario. More work, sure, but by no means impossible. In any case TFA says right up front that it is trying to solve the problem of overlapping subnets, which IPv6 solves nicely.

    • throwway120385 4 days ago

      Then you've probably never worked in any serious networked embedded systems space. Getting people to open ports on the firewall and making the firewall configuration palatable to the end customer is like a quarter of what I think about when my team makes new features.

    • mschuster91 4 days ago

      > I'm not really seeing a reason why it would be impossible to open firewalls in that scenario.

      Cheap ass ISP-managed routers. Got to be lucky for these rubbish bins to even somewhat reliably provide IPv6 connectivity to clients at all, or you run into bullshit like new /64's being assigned every 24 hours, or they may provide IPv6 but not provide any firewall control...

      • themafia 4 days ago

        > or you run into bullshit like new /64's being assigned every 24 hours

        It'd be nice if DNS servers supported this. Save the 64 host bits in the zone and just use whatever 64 prefix bits happen to be issued right now.

        Otherwise it makes a strong case for the continued use of "private networks" and the IPv6 ULA mechanism.

    • lxgr 4 days ago

      It's completely impossible if you simply don't have the necessary access. Not everybody can administer all firewalls upstream from them.

      Nor can everyone control whether their connection supports v6, unfortunately.

      • pcarroll 4 days ago

        Hole punching actually works most of the time. A lot more often than you might think. But enterprise firewalls usually don't allow it. And some home routers fail when you check all the anti-intrusion options. But it's the same for other VPNs. In the residential and small-business space, it's pretty rare. You might need to point it out to the network guy. If the customer wants the service, they should be open to it.

        • lxgr 4 days ago

          The problem isn’t that it doesn’t work (and it does often not work – one “symmetric NAT” in the old/deprecated terminology is enough), it’s that it’s orders of magnitude more complex than it needs to be.

          I’ve also never seen it work for TCP in practice, and not everybody should have to roll their own UDP wrapper for their TCP-expecting application.

      • digiown 4 days ago

        Hole punching is a thing. Ports are not normally completely blocked. They allow replies, which can be exploited to do make a connection. Obviously this requires an out of band signaling mechanism. Tailscale does this, so does WebRTC, iirc.

        See: https://tailscale.com/blog/how-nat-traversal-works

    • pmontra 4 days ago

      Companies with an IT department, maybe. Companies without IT, not much. People, nope.

      I can't see my neighbors opening ports on their switch. What's a switch, to start with. And what happens when they change provider and switch next month?

      It's much easier to tell them: I install two boxes. One is the camera (or whatever), the other one is necessary to make the camera work properly, keep it online, don't switch it off.

  • 1970-01-01 4 days ago

    With IPv6 you don’t forward ports at all. The device already has a public address.

    • lxgr 4 days ago

      That's why I said "open ports", not "forward ports".

      Stateful firewalls are very much a thing on v6. Many mobile ISPs don't allow incoming connections by default, for example.

      Many CPEs (home routers) also come with a v6 firewall (I'd guess it's probably more common than not?), and not everybody has admin access to theirs.

    • jlokier 4 days ago

      That's the addressing problem, although I have some bad news on that: NAT is used with IPv6 in some places.

      The reachability problem is, even with public addresses, sometimes you have to do the same thing to "configure port forwarding" with stateful IPv6 firewalls as with double or triple NAT IPv4.

    • bandrami 4 days ago

      You don't have to forward ports with IPv6 but you certainly can, and that means some remote sites you have to interact with will.