So what is IPv6 and why should you care? IPv6 is intended to be the successor of IPv4 and most people know it for the very large address space. However, it has many other benefits as well and is worth learning for self hosting purposes.

IPv6 features

Huge address space

With IPv6, you no long need to be concerned with the limited address space of IPv4. In IPv6 land devices can have many different IPv6 addresses. You can have a different IPv6 address for each service and with the privacy extensions you can have a different IPv6 addresses for each outgoing connection on your computer.

Simplified subnetting

In IPv6 land everything is done via prefixes. An IPv6 prefix is simply the first half of the address which is used in routing to send traffic where it needs to go. A prefix is typically assigned to a vlan and the prefix is then delegated to all devices in that vlan. Because each device can have multiple addresses you can have each device get a public address and also a private address. A prefix is a /64 and if you want multiple prefixes you can get something like a /56, /48 or /32. (CIDR notation) To get a prefix from an ISP you use something called DHCPv6-PD. This is a lot like normal DHCP but it requests one or more prefixes from your ISP.

SLAAC (Stateless address autoconfig)

With SLAAC, devices pick an address and then verify it isn’t duplicated. From there a router will send out a RA (router advertisement) which tells the device what prefix to use. The device then drops the link local prefix and replaces it will a public prefix. The major benefit of this is that you no longer need to keep track of DHCP leases. SLAAC allows networks to self assemble without much setup.

IPv6 security and privacy

IPv6 still needs a firewall to be secure. You should not expose things to the internet without properly securing them and anything that is publicly accessible can be compromised. IPv6 also can create major privacy issues since each device has a public IP. SLAAC and the privacy extensions help a lot as they randomize IPs which makes tracking harder. However, devices still share a public prefix so there still could be privacy issues.

NAT64 to eliminate IPv4

One of the technologies to help eliminate the need for IPv4 is NAT64. NAT64 works by mapping IPv4 address to IPv6 ones by setting a prefix that fills in the upper space of the address. To delicate this prefix to devices you can either use Pref64 or DHCPv6 opt 108. On the device applications see a working IPv4 address since the operating system translates IPv4 to IPv6 before it goes onto the network. You can absolutely keep using IPv4 and NAT64 is only for those who want to be IPv6 exclusive networks.

  • ryokimball@infosec.pub
    link
    fedilink
    English
    arrow-up
    47
    arrow-down
    1
    ·
    3 days ago

    Thanks for posting this. The idea of individual services having their own IP address had never occurred to me and would solve so many issues.

    • twinnie@feddit.uk
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      2
      ·
      3 days ago

      I always thought it’s kind of odd how frivolous we are with IPv6 addresses given the problems that gave us with IPv4. US DoD has like 200 million IPv4 addresses and they probably only use a tiny fraction of that. There’s also a bunch of old companies like HP, IBM, and Apple, that have entire /8s, so that’s 16 million IPs each. I know IPv6 is ridiculously bigger but we’re talking about giving IP addresses to our lightbulbs now at a time we’re also looking to inhabit other planets.

      • FaceDeer@fedia.io
        link
        fedilink
        arrow-up
        44
        arrow-down
        1
        ·
        3 days ago

        You may know IPv6 is ridiculously bigger, but you don’t know it.

        There are enough IPv6 addresses that you could give 10^17 addresses to every square millimeter of Earth’s surface. Or 5×10^28 addresses for every living human being. On a more cosmic scale, you could issue 4×10^15 addresses to every star in the observable universe.

        We’re not going to run out by giving them to lightbulbs.

        • Vikthor@lemmy.world
          link
          fedilink
          English
          arrow-up
          24
          ·
          3 days ago

          You may know IPv6 is ridiculously bigger, but you don’t know it.

          “Space is big. You just won’t believe how vastly, hugely, mind-bogglingly big it is. I mean, you may think it’s a long way down the road to the chemist’s, but that’s just peanuts to space.”

          No matter whether we are talking about real space or IPv6 address space, Douglas Adams’ quotes always come handy.

      • Harlehatschi@lemmy.ml
        link
        fedilink
        English
        arrow-up
        20
        ·
        3 days ago

        But it’s 2⁵² addresses for each star in the observable universe. Or in other words, if every star in the observable universe has a planet in the habitable zone, each of them got 2²⁰ more IPs than there are IPv4 addresses.

      • Melmi@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        16
        ·
        3 days ago

        Going to other planets would require a total re-architecting of our communications infrastructure anyway. There’s such distance too it’s not really viable to have a shared internet. Even Mars would have up to 22 minute latency at peak. So I don’t think it makes sense to plan our current internet around potential future space colonization.

        Even so, IPv6 is truly massive. We could give a /64 to every square centimeter of the Earth’s surface and still have IPs to spare. Frankly, I think the protocol itself will be obsolete before we run out.

        • iopq@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 days ago

          You thought so, but in year 2525 they will still be complaining about TCP congestion mechanisms