Mikrotik IPv6 support in Fibra optical fibre network Sweden

Hi.

I have been invited to “test pilot” IPv6 in the city WAN called Fibra. Its a open optical fiber network where you can choose ISP freely.

According to the FIBRA network expert this is the prerequisites that I need to configure my Mikrotik for:

------------------------ start message from FIBRA (used google translate from Swedish :slight_smile:-------------------------------------
How fun that you are curious about IPv6 and what fun you want to test it on our network!

I have enabled a Dual stack IPv6 service on your port that supports both Prefix-Delegation and Non-temporary addresses (IA_PD & IA_NA), in addition to IPv4, of course.
The service is at the same rate as your regular service (usually, see “Known Issues” below).
Because this is a pilot / test, the unprotected service may work more or less badly and the prefixes allocated to your port may also change. So, configure nothing for advanced on the inside of your network if you do not want to change it later …

If you have any problems, questions or concerns about the service, please feel free to contact me.

Known Issues:
• Prefix Delegation works poorly against certain manufacturers’ equipment. TP link and technicolor work excellent, but for example Asus works badly
• The formatting of the IPv6 service (speed barrier) does little as it wants and sometimes forgets to block the speed of service. Slightly mixed speeds have been observed but often landing it in 1000 / 100Mbps (Oh no, )


After a lot of configuration and testing from my side, I could only get the WAN interface to receive a global IPv6 address.
I asked FIBRA again for help and i got this answer back:

Native Stateful should work, but SLAAC and stateless DHCPv6 we dont support yet.

I continue to try but no result, after some discussion I get the following advice:

Can you please try and force your router to NOT use Rapid Commit with DHCPv6?
We have some well known bugs with Rapid Commit that only use two packets for DHCP negotiation (Solicit → Advertise). If you NOT use Rapid Commit, it will then use four packets (Solicit → Advertise → Request → Reply) that has better support for us.

Do ANYONE here some advice for how, if possible, I can make my router and network support IPv6 with FIBRA?

Best regards
Conny

Hi, one more thing, I have tried to connect my PC with windows 10 directly and then i get IPv6 working 100%

At this time Im not sure if the problem is my configuration om Mikrotik, Mikrotik itself or my ISP equipment?

Please help me.

Have you tried using /ipv6 dhcp-client yet?

set request=address just to see if it works. Probably it will since Windows worked and I think it’s doing the same thing.

Maybe the translation isn’t so good, but in this case I think “native stateful” means DHCPv6 which MikroTik does. I’m not sure about the rapid commit comment.

Hi, Yes, it works when i use dhcp-client in IPv6, and it have worked all time, but i cant get it to work like I want.

As long as I get dynamic IPv6 to the clients on the inside of my Mikrotik, I dont care how to.

Anyone know how to make it work with dhcp-client and IPv6 address with this type of config? A couple of articles I read sugest that it is impossible to do it if I dont get two IPv6 prefix networks? Is that true?






topology.PNG

In the dhcpv6 client, you need to “Request:” both the address and prefix, so both checkboxes.
Also give a name to the pool.
Depending what pool prefix you want 1 network (or more), set Pool Prefix Length: 64 (one internal ipv6 network) or less.
don’t check dns, ipv4 dns is enough.
and add route
dhcpv6.jpg
Then you can use that pool by name to assign ipv6 to your lan.
addv6.jpg
And finally configure the nd to announce internal range:
ndv6.jpg
PS: you can ommit the MTU=1480, as you have native full size packets

The problem is that when i check the box “prefix” i don’t get anything with ipv6 dhcp-client.

I’m a command line guy, so here’s another way to look at it (with my omission paranoia):

[me@MikroTik] /ipv6 dhcp-client> print detail
Flags: D - dynamic, X - disabled, I - invalid 
 0    interface=ether1 status=bound duid="0x(long hex string)” 
      dhcp-server-v6=fe80::stuff:1 request=address,prefix 
      add-default-route=yes use-peer-dns=yes pool-name="ipv6-prefix" 
      pool-prefix-length=64 prefix-hint=::/56 
      prefix=2600:stuff:stuff:stuff::/56, 19h40m13s 
      address=2600:stuff:stuff:stuff:stuff:stuff:3494, 19h40m13s 

[me@MikroTik] /ipv6 address> export 
(stuff omitted)
add address=::1 from-pool=ipv6-prefix interface=ether2 <— internal interface (the rest of the options are default)

Maybe one of the things you are doing by checking “prefix” is something your ISP is warning you about, but I kinda doubt it. They should be handing you at least 1 ::/64 prefix.

You should do a packet sniffer trace with the working and non working config and look at it in Wireshark. It’s been a while since I looked at DHCPv6, but I’m pretty sure the router advertisement and/or DHCPv6 packets should show you the prefix length you’re getting.

I’ve recently come to the conclusion that a Mikrotik bug in DHCPv6 related to “rapid commit”, is the source of my IPv6 woes.

Rapid commit is intended to accelerate IPv6 address configuration on the client. Rather than a 4 packet process before an IP is usable, it only takes 2.

However Mikrotik seems to be buggy. It sets the “rapid commit” option flag in its outbound DHCPv6 requests, but does not make use of the provided IP/prefix when an advertise packet is received from a server. Instead, it continues to operate in 4 packet mode… and sends a follow up request to the server… which ignores it.

Eventually the client gives up and goes into an error state.