I read several posts and still don't understand if I'm doing something wrong or simply this feature is not implemented in current ROS 7.x version
Question: how in earth do you assign /64 addresses (subnets) to different interfaces when having a /56 dynamic prefix delivered to a pool by dhcp-client?
My curren provider delegates to me a /56 address pool, so I've got 8 bits to play for subnetting, for then delivering a standard /64 per interface. That means I could potentially create 256 differet subnets from that pool. However, when trying to setup this, I always fall into the same problem: no matter how you specify the address into /ipv6/address add command, that as soon as you indicate the flag "from-pool=pool", it will start picking up any free /64 from that pool, but not allowing you to specify which one you want to use.
Let's put a real example: pool = 2a02:9141:ab90::/56 (essentially 2a02:9141:ab90:00XX::/64, been that XX the subnets I want to play with). Well, I have tried the following three approaches, and everyone has its counterpart:
- Option 1: specify the full /64 address you want to give per interface. Ej:
Problem: in reality, the addresses are not specifying the subnet to pick up from the pool. These look like this in the export:Code: Select all
/ipv6 address add interface=home from-pool=pool address=2a02:9141:ab90::/64 add interface=guest from-pool=pool address=2a02:9141:ab90:1::/64 add interface=guestfriends from-pool=pool address=2a02:9141:ab90:2::/64
What does it means? That once you restart the router, your subnet per vlan will change, because the router process the interface by alphabetical order (I guess) so your setup will change. Subnet 0 will be given to guest, rather than home, 1 will be given to guestfriends, and 2 will be given to home vlan interface.Code: Select all/ipv6 address add interface=home from-pool=pool add interface=guest from-pool=pool add interface=guestfriends from-pool=pool
- Option 2: following the official documentation, specify just part of the address to be constructed from pool, to allow the pool to form the complete address in this manner: <prefix_from_pool><rest of the address>
Problem: the address created reported an error ;;; address pool error: bad preferred prefix! (1). I tried several different formats I found in different posts, but all lead me to the same: I can only specify the second /64 part of the address, but nothing changes the first /64 part, where the hex bytes for the subnets are.Code: Select all
/ipv6 address add interface=home from-pool=pool address=::/64 add interface=guest from-pool=pool address=1::/64 add interface=guestfriends from-pool=pool=2::/64
- Option 3: forget about the pool and provide the address manually
Problem: my provider is delivering prefixes that are not static. These can change at any point, to I'm basically going wild with this approach. I know 99% of the time could be the same prefix, but they clarify to me that this could potentially change at any point, reason why this is delivered by a DHCP client prefix delegation.Code: Select all
/ipv6 address add address=2a02:9141:ab90:: interface=home add address=2a02:9141:ab90:1:: interface=guest add address=2a02:9141:ab90:2:: interface=guestfriends
Am I missing something? Is this simply not implemented? Or is it that I'm doing something very weird nobody has done before? (which I really don't think so).
Thanks!