../guides
This is how we deployed IPv6 in a small office with ADSL internet access environment catering for all mainstream BYODs.
Typically a SOHO type internet connection will be assigned from 1 to 6 (a /29 perhaps) IPv4 addresses and should receive a /48 (65536 /64 subnets) allocation (see RFC3177).
In the example below the IAP is aaisp and is assigned 1 IPv4 and a /48 IPv6. Subnets of /64 can each be assigned in a control panel to be routed onto the connection.
A /48 seems wastefull, but never the less that is what you should end up with.
This solution uses VLANs and multiple SSIDs to provide for 2 networks.
One (VLAN10) provides stateful autoconfiguration using DHCP v4 and v6 and radvd, this should be considered the default.
One (VLAN11) provides stateful autoconfiguration using DHCP v4 and stateless autoconfiguration using only radvd for IPv6.
Certain elements (not related specifically to this article) have been removed / anonymised in the configs included below.
interface eth0.10 { AdvSendAdvert on; AdvManagedFlag on; AdvOtherConfigFlag on; MinRtrAdvInterval 200; MaxRtrAdvInterval 600; prefix 2001:db8:0000:ca10::/64 { AdvOnLink on; AdvAutonomous off; AdvRouterAddr on; }; RDNSS 2001:db8::2021 2001:db8::2020 { }; }; ## Android devices are in VLAN.11 interface eth0.11 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 60; prefix 2001:db8:0000:ca11::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; RDNSS 2001:db8::2021 2001:db8::2020 { }; };
ddns-update-style none;
log-facility local7;
authoritative;
option dhcp6.name-servers 2001:db8::2021, 2001:db8::2020;
option dhcp6.domain-search "local.local";
option dhcp6.server-id 00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
subnet6 2001:db8:0000:ca10:0000:0000:0000:0000/64 {
range6 2001:db8:0000:ca10:0000:0000:0001:0000 2001:db8:0000:ca12:0000:0000:0001:ffff;
range6 2001:db8:0000:ca10:: temporary;
default-lease-time 3600;
max-lease-time 7200;
}
ddns-update-style none;
log-facility local7;
authoritative;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option domain-name-servers 8.8.8.8;
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
default-lease-time 3600;
max-lease-time 7200;
}
subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.100 192.168.11.200;
option domain-name-servers 8.8.8.8;
option routers 192.168.11.1;
option broadcast-address 192.168.11.255;
default-lease-time 3600;
max-lease-time 7200;
}
If you have any comment or would like help, please contact us. IPv6 is quite new and there are few experts. We have been deploying hosted services with dual stack IPv6 as well as implementing dual stack in an office environment since 2014.
This is a technical document, you might be more interested in WHY you should do this.
Support a reasonable SOHO setup - VoIP phones and a ecclectic collection of BYOD devices connected via Wired and Wireless to a typical ADSL (copper) internet connection with QoS.
No Guest Subnet was required (or set up), but this could have been included.
We do want to be able to VPN into the site to access any LAN connected devices that might be being worked on for whatever reason.
This Techrepublic article on Android's lack of DHCPv6 will explain the "Android Problem". Android does not configure stateful IPv6.
Stateful configuration is important for any situation where liability may need to be determined it provides a constant connection between an IP address and a device. Specifically stateful configuration allows audit, tracking and management capabilities.
Never-the-less, A stateless configuration will need to be provided for Android devices. This complicates network set up, but should still be possible without massive expense.
RFC asks IPv6 admins to quiet routers so mobile devices don't have to wake up quite so often