My ISP gives me only ::/64 IPv6 prefix - how do I create multiple subnets?

Without commenting on what I think of ISPs that give less than a /56 (or at least… one /60)…

You can still create “subnets” of /68, for example, but all addresses must be assigned statically by DHCP and not based on MAC/EUI64.


dead:beef:dead:beef:0000::/68 = dead:beef:dead:beef:0000:0000:0000:0000 … dead:beef:dead:beef:0fff:ffff:ffff:ffff
dead:beef:dead:beef:1000::/68 = dead:beef:dead:beef:1000:0000:0000:0000 … dead:beef:dead:beef:1fff:ffff:ffff:ffff
dead:beef:dead:beef:2000::/68 = dead:beef:dead:beef:2000:0000:0000:0000 … dead:beef:dead:beef:2fff:ffff:ffff:ffff
dead:beef:dead:beef:3000::/68 = dead:beef:dead:beef:3000:0000:0000:0000 … dead:beef:dead:beef:3fff:ffff:ffff:ffff
[…]
dead:beef:dead:beef:d000::/68 = dead:beef:dead:beef:d000:0000:0000:0000 … dead:beef:dead:beef:dfff:ffff:ffff:ffff
dead:beef:dead:beef:e000::/68 = dead:beef:dead:beef:e000:0000:0000:0000 … dead:beef:dead:beef:efff:ffff:ffff:ffff
dead:beef:dead:beef:f000::/68 = dead:beef:dead:beef:f000:0000:0000:0000 … dead:beef:dead:beef:ffff:ffff:ffff:ffff


Of course, VLANs & Co. need to be created, it’s not enough to assign different IPs…

Still possible use NATv6 for create internal IPv6 “subnets” and masquerade all with Router IPv6.
This is needed also if ISP change often dead:beef:dead:beef:: parts,
and you need to change everytime internals IPv6, or also for failover without reconfig internal IPv6 LAN…


for example you can assign fd00:dead:beef:10::/64 for VLAN 10, fd00:dead:beef:20::/64 for VLAN 20, etc. all work with SLAAC and EIU64,
then add a NATv6:
from fd00:dead:beef:10::/64 to real IPv6 dead:beef:dead:beef::10/128
from fd00:dead:beef:20::/64 to real IPv6 dead:beef:dead:beef::20/128
from fd00:dead:beef:30::/64 to real IPv6 dead:beef:dead:beef::30/128
and so on…