IPv6 address "incrementing"?

I have a rb750gr3 running 7.21.2 (latest at time of writing) an I’m running into a really irritating issue with IPv6 I can’t seem to solve.

My internet comes in via PPPoE for ip4 connectivity; ipv6 is via a dhcp client, configured like so:

/ipv6 dhcp-server add interface=bridge name=LANPrivate-dhcp6-server prefix-pool=delegation

/ipv6 dhcp-client add add-default-route=yes custom-iana-id=0 custom-iapd-id=0 default-route-tables=main interface=WAN pool-name=delegation prefix-hint=::/56 request=prefix use-peer-dns=no

I receive a /56 delegation from my ISP. I then break it into /64s for each of my internal LANs. Currently, I have only one LAN (on the "bridge") so the address assigned like this:

/ipv6 address add address=0:0:0:0:: from-pool=delegation interface=bridge

This gives me an address like

2001:db8:abcd:400::/64

on my "bridge", and this set up has been working great for several years now.

But now, for a about 8 hours or so this works fine, then, the ipv6 address "increments", i.e. becomes

2001:db8:abcd:403::/64

If I remove this address manually, and attempt to re add 2001:db8:abcd:400::/64, It comes up with 2001:db8:abcd:404::/64(increments by one). This goes on forever.

I have tried everything from tweaking various settings to removing IPv6 completely, rebooting, waiting 1hr, the adding it back but it the above behaviour is still observed.

This is a rb750gr3, but i have observed similar behaviour on my rb5009 running 7.21.2 as well. It seems like something in Mikrotik’s IPv6 handling has changed? What is causing it, and how to resolve it?

I see this is a long standing issue.

Pinning the subnet id is supported in 7.21. You only have to remember to not use the subnet id 0. See:

In your case, assign the /ipv6 address entries for your interfaces like this:

  • 0:0:0:1::1/64 or ::1:0:0:0:1/64
  • 0:0:0:2::1/64 or ::2:0:0:0:1/64
  • ...
  • 0:0:0:f::1/64 or ::f:0:0:0:1/64
  • 0:0:0:10::1/64 or ::10:0:0:0:1/64
  • 0:0:0:11::1/64 or ::11:0:0:0:1/64
  • ...
  • 0:0:0:fe::1/64 or ::fe:0:0:0:1/64
  • 0:0:0:ff::1/64 or ::ff:0:0:0:1/64

Which means you assign 0000:0000:0000:00nm:xxxx:yyyy:zzzz:wwww with nm ≠ 00 and the subnet will not move. Just don't assign ::xxxx:yyyy:zzzz:wwww because the subnet-id will then be 00 and the assignment will be dynamic and jump around every time the DHCPv6 binding is renewed.

1 Like

Today I got a reply on my ticket that this subnet 0 problem “will be fixed in a future release” and my ticket was closed, of course we have to wait for that future release.

1 Like