IPv6 basic setup

I have IPv6 connectivity provided by my ISP. I have a CCR1009-7G-1C-PC between my PC and my ISP. Both ISP and my PC are connected via Ethernet and the router is doing DHCP+NAT for IPv4. I am running Windows 10 on my PC.

How do I configure IPv6? The examples/guides in the wiki appear to all be for specialized scenarios (6to4, static routing) which are not relevant to me - I just want it to work as automatically as DHCP+NAT does for IPv4, without any hardcoded settings or behavior - just to have it follow my ISP systems’ instructions and communicate natively with automatic configuration.

What I got so far:

  • I add a DHCPv6 client and request a prefix. This successfully creates a pool and obtains a /56 prefix from my ISP.
  • I see dynamic link-local addresses assigned to both upstream and downstream interfaces.
  • I can assign an address from the pool to an interface but this does not seem to produce any change in behavior anywhere, so not sure if I need to.

And that’s, really. It does not seem to be enough to make things work, as IPv6 traffic from my PC does not appear to get anywhere (ping says “General failure”). I also tried fiddling with the DHCPv6 Server settings but this did not produce any meaningful results that I could see.

Here is the core of what I am missing:

  • How do I tell my PC to use IPv6 DNS servers that I configure in the router statically? I see no place to add them in DHCPv6 Server (if I even need to use that?). Do I just put them in IP->DHCP Client?
  • How do I tell my PC to use IPv6 DNS servers that I get from my ISP via DHCP? I see them listed in IP->DHCP Client but am not sure if I need to say “tell my PC to use these”, as well.
  • How do I make my PC communicate using IPv6 addresses with the prefix that I get from my ISP? I see the prefixes in the pool but my PC just tells me it has a link-local address.
  • How do I set up routing properly so my PC can speak to the internet? Right now “ping google.com” results in a “General failure” error when it resolves to an IPv6 address.

I request guidance on setting up the basics.

What you have done so far looks OK.
In the address you assign to the LAN side (from the pool you requested with DHCPv6) you should set the Advertise option.
That will advertise this network on the LAN and it will make the PC select an address from that range using SLAAC.
Depending on what OS you run on the PC it may be required to advertise the DNS settings via DHCP in addition to the SLAAC advertisement.
This is done by adding a DHCPv6 server to the LAN without address pool.

Windows OS do not understand DNS option in RA of IPv6. And there is no correctly working dhcpv6 server in ROS for now.

For Windows you have to set ipv6 DNS servers statically. IOS in IPhones do understand DNS options in RA. That’s confirmed.

See more here http://forum.mikrotik.com/t/cant-get-dnsv6-from-slaac/118864/1

Thanks for the hints! Assigning an address to LAN and checking the Advertise box made the traffic flow correctly.

I also confirm that I observe no IPv6 DNS entries being obtained. I suppose static DNS addresses will have to do for now.

Ok… I have no Windows so I don’t know what Microsoft is doing.
The systems I have tried obtain everything they need from RA.
However, unless you want to go IPv6-only it isn’t really required to have IPv6 addresses for DNS.
When you have the usual DHCP setup for IPv4 the PC will obtain IPv4 addresses for DNS that way, and you can set the DNS address in IPv4 DNS server to the address of your router, and use the IP DNS resolver.
When you set the IPv6 DNS resolver addresses of your ISP (or others that you are allowed to use) in the IP DNS dialog, the router will still make DNS requests over IPv6.
And IPv6 addresses can be requested from DNS no matter if you use IPv4 or IPv6 for the requests.