An introduction to IPv6 on RouterOS

Here are some simple steps to start using IPv6 on RouterOS.

You need a provider who will allocate you an IPv6 block, this can be natively or via a 6in4 tunnel.

Lets deal with the first case of a block delivered over a PPPoE connection, which would be typical for an ADSL or cable provider.

First of all make sure that the IPv6 package is enabled on your routerboard, look in System -> Packages in winbox or run /system package print in a terminal session. If the package isn’t enabled, then first enable it and then reboot.

Once you have IPv6 enabled, the next time that your PPPoE client connects to your provider it should pick up an IPv6 link local address on the PPP interface, run /ipv6 address print to see the addresses. You should see an fe80 prefixed address assigned to the PPPoE interface.


3 DL fe80::8/64 PPPoE_Client1

Note that if you do not have ‘Add Default Route’ selected on the PPPoE Client you will need to add an IPv6 default route:

/ipv6 route add dst-address=::/0 gateway=PPPoE_Client1

Now you can add the allocated address range to one of your LAN interfaces, assuming your provider gives you a /64 block eg 2001:DB8:123:1::/64 you would allocate it to your LAN interface (using ether2 in this case) like this:

/ipv6 address
add address=2001:DB8:123:1::1/64 advertise=yes disabled=no eui-64=no interface=ether2

This will enable IPv6 RA (Router Advertisements) which will allow clients connected to ether2 to pick up your allocated prefix automatically and be able to assign themselves an IPv6 address from the block.

If you now look on a client device, which is connected to ether2 and configured to use automatic IPv6 addressing, you should see an address has been assigned to the interface.

The client should now have IPv6 access !

Leave a Reply