But the IPv6 overlords in their infinite wisdom have decided that we can't just use a 192.168.0.* equivalent, oh no. All addresses must be publicly routeable.
Others mention private alternatives; I'll summarize them here:
Site-local addressing fec0::/10 , deprecated . This is deprecated, but I don't expect these addresses to be reused for other purposes in...ever, I guess. Just pick a network address beginning with fec0: through feff: and have fun.
Unique local addressing fc00::/7 . For various reasons described elsewhere IETF would prefer all addresses be unique even if they aren't globally routable. Pick your own /48 between fc00:0:0: through fcff:ffff:ffff: and have fun. Or you can go to SixXS and have one non-authoritatively registered to you.
6to4 2002::/8 . If you have a public static IPv4 address then you automatically have a /48 starting with 2002: and then your hex-encoded IPv4 address. If not, then there should be no harm in using a private IPv4 address to make your 6to4 /48. For example, if your NAT router is 192.168.1.1 then your 6to4 subnet could be anything from 2002:c0a8:0101:0::/64 through 2002:c0a8:0101:ffff::/64 . (If you want to be sure no private packets escape to the real internet then null route 2002:/8 or 2002:c0a8:/16 at your IPv6 router if you have one.)
Which is fine - after all, there should be plenty of addresses, right? So why is there nowhere that will give me, as a private individual, an IPv6 address (officially, I mean - I'm aware of that website that generates an address that should be ok to use)?
See the SixXS link above. There is no official ULA registry, but they're the only ones I know of that are trying so far. The ULA addresses are not publicly routable, so a collision is not really a problem unless your network needs to someday merge with a colliding network. I could see that happening with major corporations, but it's not likely a problem with the typical home LAN.
Helpful tinkerer hint: Whenever you get an IPv6 range you generally get a /48, but as you assign IPv6 networks and routes to your network you will want to use /64 subnets. You don't have to, but things generally tend to make more sense that way, and default settings tend to assume that setup.
Now if you want to be on the live global IPv6 network then you can go to a tunnel broker and request a tunnel and/or subnet, and then you get a live address range. I'm in North America and use the free SixXS.