I have a theoretical question. Network topology is like this:
ISP <--- eth0 -> Router1 <- eth1 ----+--> VLAN1
'--> VLANx
For the sake of argument, let's assume that a Router1 is a Linux 3.2.x device.
Say that I wish to receive a single /56 range from my ISP. Which pieces of information my ISP has to provide me with, so that I can:
- have native IPv6 connectivity on Router1
- advertise a /64 segment of allocated address space on each VLAN, so that clients in LAN are able to autoconfigure themselves properly?
To explain further a bit, I am asking this question so that I could learn what exactly do I have to ask my ISP to provide me with, in order to be able to reach goals 1 and 2. From my understanding, when I am given only a single IP range (/64, /56 or /48) and a gateway address inside of that range, there is no way to route part of that range to physically separate network on the other side of router.
You're not going to get a gateway address inside the allocated /56 or whatever IPv6 block that's assigned to you and routed to your premises. If you somehow do, you politely ask the ISP to put someone on the phone who knows what they're doing. Or perhaps less than politely.
Usually, you don't have to worry about the upstream IPv6 address at all, as it will be autoconfigured as soon as you plug in your router. Most ISPs seem to be doing this with DHCPv6 (with prefix delegation), though it could also be done with straight up SLAAC if you have a statically assigned prefix.
Once the /56 comes into your network, you can subnet it however you like.
An example, with one possible (only partially fleshed out, and probably not very useful as-is) network design appears below. In any case, the IPv6 address of your upstream connection to your ISP is provided by the ISP and is outside your assigned prefix. You generally only need to worry about the inside interfaces. This example supposes you have an edge router with an integrated 4-port switch, such as many small business or SOHO routers.
Downstream in your core, you can further subnet these at core routers (or even layer 3 switches, more SOHO routers, etc.). I've also assumed every /64 will be on its own VLAN, though whether you do that is another detail you'll have to work out on your own.
You can also use DHCPv6 with prefix delegation to actually handle the addressing, which is probably easiest. Or you can go with SLAAC, which requires a bit more setup, or even assign manually, which I wouldn't generally recommend simply because it would be too labor intensive.
What you need them to do is route your IPv6 prefix to your router. That could be done through prefix delegation (likely on a home/small buisness connection). It could be done through a static route (likely if you are buying a leased-line or similar). It could be done through speaking a routing protcol to you (only likely if you have multiple prefixes, multiple uplinks or another complex situation that justifies it).
In order for them to route packets to you and you to route packets to them it is nessacery for there to be addresses on the link between you and them. They could use link local adresses for this, they could allocate a seperate block or they could use a subnet from the prefix they are giving you (in which case you won't be able to use that subnet for boxes behind your router).
What you DON'T want them to do is allocate your whole prefix as "on-link" for the connection between their router and your router. If you really can't convince them to do a more sensible setup there is a program called ndppd which can be used to grab the traffic into your router by faking ndp responses but I would consider this a last resort.
The ISP only has to provide you with your public IPv6 IP address and the gateway's IPv6 address.
After that you set up the default route on your router.
Give IPv6 IP to your router from each subnet you want to route. Assign it to its VLAN interface.
You can use RADVD to advertise the /64s, that will set up your subnets.