Internally I allocate /64 prefixes to interfaces, using that address pool:
Code: Select all
/ipv6 dhcp-client add add-default-route=yes interface=ether1-gateway pool-name=comcast-ipv6 request=prefix /ipv6 dhcp-client print Flags: D - dynamic, X - disabled, I - invalid # INTERFACE STATUS REQUEST PREFIX 0 ether1-gateway bound prefix 2603:1234:abcd:x000::/56, 3d56m56s /ipv6 pool print Flags: D - dynamic # NAME PREFIX PREFIX-LENGTH EXPIRES-AFTER 0 ULA-pool6 fd00::/64 64 1 D comcast-ipv6 2603:1234:abcd:x000::/56 64 3d54m17s
I recently suffered an outage from Comcast, had to reset the modem. The mikrotik router did not reset, it's been up for a while, possibly since my last RouterOS update.
Code: Select all
/ipv6 address add address=::1 advertise=no from-pool=comcast-ipv6 interface=ether1-gateway /ipv6 address add address=::1 from-pool=comcast-ipv6 interface=ether2 /ipv6 address add address=::1 from-pool=comcast-ipv6 interface=vlan2
When things came back to life again, the different interfaces had been allocated /64s in a different order. This was catastrophic to systems requiring a static assignment such as the authoritative nameserver, the domain controllers, firewall rules to allow inbound services, the DNS assignment to the router interfaces, all kinds of stuff like that.
IPv4 is NATed so I can use private addressing internally. If the IPv4 assignment changes most stuff will still work. However since IPv6 is not NATed I am dependant on Comcast's allocation for internal systems' IPv6 addresses.
Is there a method to provide allocations from a pool in a specific order? Any other recommendations that might help here? (static address assignments is perhaps the most obvious but that requires a significant )