IPv6 command reference

IPv6 controlling commands (from /ipv6 tree) are not described in RouterOS 3 reference manual (on http://www.mikrotik.com/testdocs/ros/3.0/ page).

Some people says, that IPv6 in RouterOS works fine for they, then I hope these commands are described anywhere.

I want to activate sending “router advertising” on some interfaces with IPv6 subnets (without OSPF or BGP) but I failed when I tried it.

Can anyone advise where is configuration description of IPv6 or some samples?

I too am just getting started with this and am pretty confused : ) ipv6 isnt just bigger IP addresses, there’s all kinds of new things going on inside of those 128 bits.

We have been assigned a /48 from ARIN. I believe we only need to use 1-2 sites within this larger block for now, can someone give me an example of what we should assign to the following?

ipv6 Mikrotik #1 ← ipv4 PPP → ipv6 Mikrotik #2

2620:0000:0830:0000:0000:0000:0000:0000 - 2620:0000:0830:FFFF:FFFF:FFFF:FFFF:FFFF

I don’t quite know where I should start my router IPs, and how to take advantage of 6in4 tunneling.

Should I assign mikrotik #1 (site 1): 2620::0830:1::::1
and Mikrotik #2 (site 2): 2620::0830:2::::1

A clear example of how to network 2 mikrotiks using ipv6 would be awesome. Once I start figuring this out I will post more in the wiki for all to share.

Also, I think we have so many addresses if anyone wants to experiment as well I can dole you out a subnet and a tunnel so we can try things out.

Sam

We have been assigned a /48 from ARIN. I believe we only need to use 1-2 sites within this larger block for now, can someone give me an example of what we should assign to the following?

NIC usually gives a 48 bit long prefix to ordinary customer (not ISP, big company or so). For one subnet use a 64 bit subnet preffix is suggested. From original 48 bit space this allows 65535 subnets per 2^64 end addresses.

I don’t quite know where I should start my router IPs, and how to take advantage of 6in4 tunneling.
Should I assign mikrotik #1 (site 1): 2620::0830:1::::1
and Mikrotik #2 (site 2): 2620::0830:2::::1

OK. If you obtained f.e. 2620:0000:0830::/48 prefix, for local subnets you should use 2620:0000:0830::/64, 2620:0000:0830:1::/64, 2620:0000:0830:2::/64 and so on to 2620:0000:0830:ffff::/64. End addresses then will be f.e. 2620:0000:0830::1/64 or 2620:0000:0830::2256/64 (from the same subnet).

AFAIK (and as I tested): If you install “ipv6” package RouterOS will automatically set unique, but not global addresses which will begin with prefix fe80:: on its interfaces. These addresses are “link local” and cannot be routed outside the local subnet. Addresses described above are “global unique” and need to be set manually.
Example:
/ipv6 address
add address=2001:1508:3018::5/64 advertise=no disabled=no eui-64=no interface=ether1
add address=2001:1508:3018:2::1/64 advertise=yes disabled=no eui-64=no interface=ether2

I don’t know what is advertise=yes/no or eui-64. I didn’t found description in reference manual.
I am sure that advertise=yes is not the same as if I start radvd (router advertising) daemon (on linux) on particular interface.

A 6in4 tunneling mechanismus is named “sit” on linux. In the meantime I didn’t found it in RouterOS ;(

Eh, I forgot about it - IPv6 hasn’t default route such as IPv4. Sufficiently general route to use it such as default route seems like this:
/ipv6 route
add disabled=no distance=1 dst-address=2000::/3 gateway=2001:1508:3018::1 scope=255 target-scope=10

DNS resolving seems not to be functional but if you submit address in numerical form this enough.

/ping 2001:718:801:230::cd
2001:718:801:230::cd 64 byte ping: ttl=58 time=12 ms
2001:718:801:230::cd 64 byte ping: ttl=58 time=13 ms
2001:718:801:230::cd 64 byte ping: ttl=58 time=12 ms
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 12/12.3/13 ms

Note: Mikrotik on which I testing this is on network with native IPv6 connectivity but “stateless configuration” seems to be not working on its interfaces which are connected to segments where other router distributes “router advertising”.

eui-64 - include interface MAC address in the lower 64 bits of IPv6 address
advertise - enable to advertise current address prefix to the network

/interface 6to4 add local-address=10.0.0.254

IMHO Mikrotik can act only as a router - it shouldn’t take advertised prefixes from other routers.

eui-64 - include interface MAC address in the lower 64 bits of IPv6 address
advertise - enable to advertise current address prefix to the network

Thanks :wink:

/interface 6to4 add local-address=10.0.0.254

once again … BTW where are things related to IPv6 and RouterOS described?

IMHO Mikrotik can act only as a router - it shouldn’t take advertised prefixes from other routers.

I don’t expect, that Routeros should advertise prefixes that are behind other routers without acting as OSPFv3 router too. I think machine with IPv6 stack on subnet connected to RouterOS router can set self global unique address from appropriate subnet on that basis, that it get IPv6 router advertisement packet(s). On ordinary *nix this is sent by the radvd daemon or some daemon related to zebra/quagga. I’am not sure if address prefix advertisement from RouterOS be enough to other machine do it. Or in other words: I tried it with configuration of ether2 as descibed above without success.

Router advertisement packets may by sent by RouterOS with OSPFv3 or BGP active. I’am really not sure and I didn’t testing it till now.

Can someone say where the configuration point of OSPFv3 for IPv6 is?

It is not yet there - there are RIPng (RIP New Generation) and BGP support for IPv6, OSPFv3 is coming soon (at least that was answer 2 weeks ago)

"/ipv6 export" returns (among others) following lines:

/ipv6 nd
add advertise-mac-address=yes disabled=no hop-limit=unspecified interface=all mtu=unspecified ra-delay=3s ra-interval=3m20s-10m ra-lifetime=30m
reachable-time=unspecified retransmit-interval=unspecified

It seems like "neighbor discovery" ... I would like to know if "ra-delay", "ra-interval" and "ra-lifetime" deals with router advertising feature of ipv6. If yes, I'm interested in making configuration which can work similar as radvd daemon on linux or *bsd.
Manual configuration of ipv6 on leaf-pc is nerve-wracking :wink: (especially on Windows)

If i am not wrong, ROS is based on zebra/quagga.
JR.

you are wrong. it’s based on nothing, routing parts are made by ourselves (I’m talking about latest versions)

Many thanks, Normis!
Wow! now we’re using something that’s based on “nothing” :open_mouth:

Would have liked a quagga based MT route server, anyway great start.
JR.

OK. But where can one find a description of recent add-ons? Official ROS 3x manual is somewhat stingy on explanation. For example: ipv6 seems work (i tried it succesfully and using it slightly uncomfortably) on ROS 3, but configuration is practically not described in manual, which makes it very tricky.

I’am sad for it because I can’t use ipv6 functionality although it is (in most part) implemented yet. Can someone from Mikrotik describe it on forum at least at a glance?

I posted some details on how to setup a ipv6 tunnel with a tunnel broker here:

[url][http://forum.mikrotik.com/t/ipv6/6120/1)]

Kind regards

Andrew

we are working on a new manual, it is not published anywhere yet.

In my opinion ipv6 is usable if it is supported on routers (at least in kind of routing capability) and workstations (or other devices) which have to (at least) assign ipv6 addressses to its interfaces, discover somehow (at lest) default route and discover somehow address of DNS server.

RouterOS can assign ipv6 addresses to its interfaces and route traffic between them. Up to there OK.

I can set up ipv6 address and routing on win, linux or *BSD workstation behind RouterOS router manually. This works.

Addresses of DNS servers perhaps can be set manually.

But it is very uncomfortable and unusable on mass scale. Workstation can set up these things automatically and from point of view of network administrator it is only acceptable possibility. I can't imagine a situation when all workstations must be set manually. Satisfactorilly functionable DHCPv6 implementation is not available at all, its only a couple of drafts of standards. In networks where routers are based on BSD or linux is possible run radvd (router advertising daemon) on some interfaces and workstation "hear" this advertising and can designate its ipv6 address from this information and can point to the source of this advertisement and use it as default router. This model is AFAIK only functional model of automated ipv6 configuration on all workstation platforms in view. This model can in very limited range substitute a dynamic routing. But it functionality IMO badly miss in RouterOS.

I didn't found a way how to set up router advertising capability on RouterOS (3.x). If anybody (f.e. from Mikrotik team) knows it please, PLEASE post some explanation or link here. Demand of ipv6 increases and I can respond only with a bunch of work-arounds up to now.

P.S.: radvd is a quite small daemon and its porting to ROS should be simple.

-rwxr-xr-x 1 root root 53724 Jul 17 2007 /usr/sbin/radvd

I’m finally understood how to activate router advertising on ipv6 networks.

Following configuration seems working for me … (tested with openSUSE 11 and WinXP workstations)
Example:

/ipv6 address
add address=2001:xxxx:yyyy::1/64 advertise=yes disabled=no eui-64=no interface=ether1
add address=2001:xxxx:yyyy:2::1/64 advertise=yes disabled=no eui-64=no interface=ether2

advertise=yes should be set here. This will propagate prefixes belonging to adresses set here.

/ipv6 nd
add advertise-mac-address=yes disabled=no hop-limit=unspecified interface=all mtu=unspecified ra-delay=3s ra-interval=3m20s-10m ra-lifetime=30m reachable-time=2m retransmit-interval=5s

reachable-time and retransmit-interval parameters are empty by default. It should be set to non-zero values to begin sending router advertising via the interface specified in interface= (‘all’ here).
Router advertising is sent every 5 seconds and allows using this router as default gateway (roughly sayed) for next 2 minutes by this example.