IPv6 Protocol · Topic 1 of 3
IPv6 Address Configuration on RouterOS
Learn the ways a RouterOS device gets IPv6 addresses: manual entries, EUI-64, address pools, SLAAC and DHCPv6, and how to read the address list.
- 5 min
- IPv6 addresses are added with
/ipv6 address add address=... interface=.... - An interface can have a link local address and several global addresses at once.
eui-64=yesbuilds the interface ID from the MAC address.
What it is
An IPv6 interface can hold several addresses at once, and RouterOS can obtain them in several ways.
Every IPv6 interface has a link local address. It can also have one or more global or unique local addresses. This is normal and does not cause a conflict.
The ways to get an address are manual entry, EUI-64, SLAAC from a neighbouring router, DHCPv6, and an address built from a prefix pool.
How it works
RouterOS keeps all IPv6 addresses in one list that you manage under the /ipv6 address menu.
Manual addresses
You give a full address with its prefix length, and you name the interface.
/ipv6 address add address=2001:db8:1::1/64 interface=ether2
/ipv6 address print
Any address inside the prefix works. A manual global address on a LAN interface is the normal setup for a router that serves clients.
An address entry also has an advertise setting. When it is yes, RouterOS includes the prefix in Router Advertisements on that interface, so that hosts can build their own addresses by SLAAC. When it is no, the prefix stays private to the router.
EUI-64 addresses
You can ask RouterOS to build the interface ID from the MAC address of the interface.
/ipv6 address add address=2001:db8:1::/64 interface=ether2 eui-64=yes
Give only the prefix, and RouterOS adds the EUI-64 interface ID. The result is stable, but it exposes the MAC address.
Addresses from a pool
When an ISP delegates a prefix, you do not type the prefix. You store it in an IPv6 pool and refer to the pool in the address entry.
/ipv6 address add from-pool=isp-pool interface=bridge-lan
The address is built from the pool prefix, and it changes if the ISP changes the delegated prefix. This is covered in detail in the Interoperability chapter.
Addresses learned automatically
A router can accept a prefix from another router. The setting is under /ipv6 settings and is called accept-router-advertisements.
| Value | Effect |
|---|---|
no | Ignore Router Advertisements |
yes | Accept them and build addresses and a default route |
yes-if-forwarding-disabled | Accept them only when the device is not forwarding |
The last value keeps a router from learning its routes from a random neighbour, while still letting a host style device configure itself. Check the default on your RouterOS version before relying on it.
A WAN port can also run a DHCPv6 client to get an address or a prefix.
/ipv6 dhcp-client add interface=ether1 request=address,prefix pool-name=isp-pool
Reading the address list
The /ipv6 address print output shows flags in front of each entry.
| Flag | Meaning |
|---|---|
G | Global address |
L | Link local address |
D | Dynamic, created by RouterOS or a client |
X | Disabled |
I | Invalid, for example when the pool prefix has gone |
A link local address appears automatically for each interface, and you do not add it yourself. Dynamic entries come from SLAAC or from a DHCPv6 client.
Duplicate address checks
When an address is added, the router checks that no other host on the link already uses it. This is Duplicate Address Detection, and it uses Neighbor Discovery messages. A duplicate address is not used.
Put the global address on the bridge or VLAN interface that clients use, not on an individual bridge port. Ports that belong to a bridge do not carry their own IP addresses.
What to remember for the exam
Seven facts cover most questions on this topic.
- IPv6 addresses are added with
/ipv6 address add address=... interface=.... - An interface can have a link local address and several global addresses at once.
eui-64=yesbuilds the interface ID from the MAC address.from-poolbuilds an address from a stored prefix, often from DHCPv6 prefix delegation.advertise=yesputs the prefix in Router Advertisements so hosts can use SLAAC.accept-router-advertisementscontrols whether the router learns addresses and routes from others.- In
/ipv6 address print,Gmeans global,Lmeans link local andDmeans dynamic.
A router that accepts Router Advertisements on a LAN port can be misled by a rogue device. Turn the setting off where you do not need it.
Common mistakes
These four mistakes appear often.
Adding the address to a bridge port. Put it on the bridge interface, because a port inside a bridge does not take its own address.
Typing the host address for an EUI-64 entry. Give only the prefix part, then set eui-64=yes.
Expecting SLAAC without advertise=yes. Clients cannot learn the prefix if the router does not announce it.
Forgetting that v6 needs the package. In RouterOS v6 the ipv6 package must be enabled. In v7 IPv6 is built in.
Check yourself
Work through these three questions.
Which command adds a manual IPv6 address to an interface?
Use
/ipv6 address add address=2001:db8:1::1/64 interface=ether2, changing the address and interface to suit.What does
advertise=yesdo on an address entry?It includes the prefix in Router Advertisements so hosts on the link can build addresses by SLAAC.
What do the flags
G,LandDmean in the address list?Gis a global address,Lis a link local address andDis a dynamic entry.
Topic 1 of 3 in IPv6 Protocol
Test yourself on IPv6 Protocol
The full MikroTik MTCIPv6E question bank has 486 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by MikroTik. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.