IPv6 prefix delegation DHCP-Server & DHCP-Client

IPv6 prefix delegation DHCP-Server & DHCP-Client

Grrr - There is a serious lack of Mikrotik documentation showing good-clear-working procedures which show step-by-step instructions to configure the following :

#1, Mikrotik IPv6 Prefix delegation server.
– Settings that an ISP/WISP might use in their “IPv6 DHCP-Server” settings to assign a /64 or /60 or /56 prefix to WISP managed customer Mikrotik IPv6 routers.

#2, Mikrotik IPv6 DHCP-Client settings
– Settings a Mikrotik IPv6 client might use to get a prefix from the ISP’s Mikrotik prefix server - then use that prefix to assign IPv6 address to devices on the customer LAN ( other PC computers ).

What in the heck am I doing wrong ?
I know how to configure IPv6 static routes between devices all day long.
I know how to configure a PfSense IPv6 DHCP server ( something I don’t think Mikrotik directly supports).

I’m frustrated trying to find Mikrotik instructions that actually work. I am closely following the instructions & step by step procedures I have been finding - but almost every time there is a missing setting or error or messing step in the on-line documentation ( sometimes years old and out-of-date).

I would like to ask here in this Mikrotik group , will somebody please post a Mikrotik IPv6 prefix delegation configuration and a Mikrotik client IPv6 configuration.

Thank you
North Idaho Tom Jones
(( I am also going to post this in another Facebook WISP related group in hopes of getting some working information/examples ))

I don’t know anything about DHCPv6 server (from what I gathered from this forum it’s very incomplete, but I might be entirely wrong here).

DHCPv6 client works to extent I need: it can receive prefix and fills it in a IPv6 address pool. I can then assign IPv6 addresses from his pool to router’s interfaces. With RA enabled, this allows SLAAC and client devices can auto-configure IPv6 addresses within correct prefix which then enables them to use IPv6.
From what I gathered it can request an address as well and it assigns it to the interface used. Probably it’s needed when ISP runs IPoE (mine runs PPPoE).

My config:

/ipv6 dhcp-client
add add-default-route=yes interface=pppoe-out1 pool-name=pool-ipv6 request=prefix
# With above configuration pppoe-out1 interface gets a LL IPv6 address but that's fine
/ipv6 address
add address=XXXX:YYY:ZZZ:42::1:0 interface=vlan-42
# The first one because my prefix size is /56 and without setting address statically I couldn't set the '42' in it.
add address=::b869:f4ff:fe20:a549 eui-64=yes from-pool=pool-ipv6 interface=vlan-41
add address=::b869:f4ff:fe20:a549 eui-64=yes from-pool=pool-ipv6 interface=vlan-40
# I probably made up the least significant 64 bits of address while the 64 MSB get assigned from pool.
# ROS is intelligent enough to assign different prefixes to different interfaces

And the above is about it. Default setting /ipv6 settings forward=yes takes care about sending RAs I guess.

It results in something like this:

/ipv6 pool> print
Flags: D - dynamic
 #   NAME                                                         PREFIX                                      PREFIX-LENGTH EXPIRES-AFTER
 0 D pool-ipv6                                                    XXXX:YYY:ZZZ::/56                                      64 11m40s

/ipv6 address> print
Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local
 #    ADDRESS                                     FROM-POOL INTERFACE                                                                  ADVERTISE
 1  G XXXX:YYY:ZZZ:42::1:0/64                               vlan-42                                                                    yes
 2  G XXXX:YYY:ZZZ:1:b869:f4ff:fe20:a549/64       pool-ipv6 vlan-41                                                                    yes
 3  G XXXX:YYY:ZZZ:0:b869:f4ff:fe20:a549/64       pool-ipv6 vlan-40                                                                    yes
 4 DL fe80::b869:f4ff:fe20:a549/64                          vlan-99                                                                    no
 5 DL fe80::b869:f4ff:fe20:a549/64                          vlan-40                                                                    no
 6 DL fe80::b869:f4ff:fe20:a549/64                          bridge                                                                     no
 7 DL fe80::b869:f4ff:fe20:a549/64                          vlan-41                                                                    no
 8 DL fe80::b869:f4ff:fe20:a549/64                          vlan-42                                                                    no
 9 DL fe80::b869:f4ff:fe20:a549/64                          vlan-2                                                                     no
10 DL fe80::e/64                                            pppoe-out1                                                                 no

/ipv6 route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, o - ospf, b - bgp, U - unreachable
 #      DST-ADDRESS              GATEWAY                  DISTANCE
 0 ADS  ::/0                     pppoe-out1                      1
 1  DS  ::/0                     fe80::2e1:ff:fe07:66%...        1
 2 ADSU XXXX:YYY:ZZZ::/56                                        1
 3 ADC  XXXX:YYY:ZZZ::/64        vlan-40                         0
 4 ADC  XXXX:YYY:ZZZ:1::/64      vlan-41                         0
 5 ADC  XXXX:YYY:ZZZ:42::/64     vlan-42                         0

mkx - thanks , I will look at what you posted.

To me , it is strange that a Mikrotik can ask and get an IPv6 address from a PfSense prefix-server and dhcp-server - however a Mikrotik can not ask for a DHCP address from another Mikrotik because Mikrotik does not have a IPv6 DHCP server … But it does have a prefix delegation server which I am trying to get a grasp on.

mkx - hmmmmmmm

I think I may of thought of a reason I have been failing in my almost 100 attempts this year to get a Mikrotik router to issue IPv6 prefixes to a client Mikrotik router.

I need to test this - but I think it might come down to this:

I was testing using a Mikrotik CHR on a VmWare ESXi hyper-visor server. My client Mikrotiks were physical Mikrotik routers.
I think there is a set of IPv6 prefix discovery protocols which might not be making it through the VmWare ESXi hyper-visor virtual ethernet ports and virtual switches.
A few days ago, I experienced the same think with a virtual PfSense IPv6 prefix server. It did not work until I configured the virtual IPv6 PfSense router to also be an IPv6 DHCP server. When I did, the the external DHCP Mikrotik client instantly got an IPv6 DHCP address then a few seconds later the same Mikrotik also got a prefix deligation from the PfSense router.

Mikrotik does not have a IPv6 DHCP server , it only has a IPv6 prefix delegation server. Thus my external Mikrotiks would never get a IPv6 DHCP address then also get a IPv6 prefix delegation.

Sooo , there are three possible configurations for me to consider:
1 - Hope and wait for Mikrotik to come out with an IPv6 DHCP server ( yeaa right , like that’s gonna happen ).
2 - Use external physical Mikrotiks that do not pass through a hyper-visor ( that sucks … )
3 - Try putting all network interfaces and virtaul switches in my hypervisor in promiscuous mode ( pass everything mode ) and see if that works.

Has anybody else had any similar IPv6 prefix deligation issues when a server or client is a virtual device ?

North Idaho Tom Jones