Cox offers IPv6 home service but with not much of a knowledge base for setting it up. In the simple case, DHCP6 does all that is needed. If you have a Cox provided or supported router, Cox will do all you need. If, like Dismal Manor, you have Ubiquity UniFi software defined networking, some additional configuration is possible.
IPv6 was designed to solve the network address exhaustion issue and make routing simpler. It does this by providing an explicit network number and a separate host address field. IPv6 allows the local network to partition the host space into slices using several of the high order bits of the IPv6 host address. In this article, I’ll explain how they are used here. This setup requires visits to several UniFi SDN configuration pages. Find the proper page and setting using the search tool.
Ubiquity continues to work on the UniFi SDN configuration capabilities and is delaying release of a UniFi SDN user guide until they reach some internal milestone. Keep an eye on UI.COM support to see if this has happened.
- 2021-06-21 Add ipv6-test.com reference and a short section on testing.
Our local access separation scheme
In most things, IPv6 is simpler than IPv4 as the IPv6 designers have taken aboard the lessons learned with IPv4. The first thing they did was to make addresses “humongous”. IPv6 addresses have 2 parts, a network number and a host address. The 64 bit network number is sufficiently big to allow each Internet service delivery point to have a unique network number. Classes A, B, C, and D are gone.
Most home installations will not need to partition the local IPv6 network. I have elected to do so here to keep my things and my guests away from the family network, particularly my backup servers, media, and photos. I do this using the IPv6 “prefix delegation” capability. This, as we shall see, is a brilliant example of bad naming. But Ubiquity has to be able to match stuff up with the RFC’s and IP datagram fields.
IPv6 allows a delivery point network to divide the host address field into two parts, a prefix and a host address. The local network routers use the prefix to make routing decisions within the network. The prefix part identifies a group of hosts sharing a common logical relationship. The remaining address bits identify the hosts within the group.
Our Logical Networks
Here at Dismal Manor, the network has 4 logical zones, one for the denizens of Dismal Manor, one for low bandwidth things, one for guests, and a catchall for the legacy WiFi devices I was too lazy to reconfigure, mostly Nest Protects.
Each group has an individual DHCP server, some pre-assigned hosts, and a group of dynamically configured hosts.
In setting up the IPv6 configuration, I intended to keep a similar partitioning.
Here at Dismal Manor, we have a lot of fruit about the place so it is important that Multi-Cast DNS be supported inside the lifelines.
Partitioning the IPv6 Network
I’ve partitioned the 64 bit IPv6 host address into a 4 bit field and a 60 bit field. The Prefix Delegation value contains the length of the host address portion, here 60 bits. The 4 bit part is the local network number for lack of a better term. This arrangement is a common one that allows division of the local network into as many as 16 parts.
In a UniFi USG environment (or Dream Machine), this is configured on the Internet page as shown below.
Mapping a local subnet
Each of the 4 networks, Dismal Manor, Dismal Things, Dismal Guests, and Greydogs must be mapped to one of the established IPv6 local address delegation ranges. Today, Ubiquity UniFi SDN lets us do this on the Networks page as shown below.
Proofing the Pudding
So, does it work? You can use https://ipv6-test.com/ to check your work and your web host’s work. I found that this site was lacking IPv6 DNS records. Home does support IPv6 communications.
Work in Progress
The UniFi Dream Machine UI is a work in progress. Ubiquity keeps adding new UI access to increasing features with each update. At this time (June 2021), the UniFi Software Defined Networking user guide has not been completed and released. So far, Ubiquity has been careful to release a capability to production after it has been carefully reviewed. When a capability is released, its upper enabling option will become active and activating the capability will expose any additional choices initialized to appropriate defaults.