IPv6 hosts configure default route with router’s link-local address

ipv6link-localndpradvd

I have recently added IPv6 to our network as per the instructions at http://www.chronos-tachyon.net/reference/debian-ipv6-and-hurricane-electric.

However, the hosts on the network automatically configure the default route to the link-local address of the router instead of the global address.

The article at http://ipvsix.me/?p=88 says:

You will find that on the LAN host, their default route and gateway
point to the Link-Local address of eth1 on the Linux machine acting as
the IPv6 gateway/router. This is entirely normal and expected.

My problem is that the router (running a derivation of Debian) does not respond to NDP requests for its link-local address because it has a global address configured.

Is there any way to either:

  • Get the hosts to automatically use the global address of the router for the default host, or
  • Get the router to reply to NDP requests for its link-local address.

/etc/radvd.conf on the router:

interface eth0 {
    AdvSendAdvert on;
    AdvLinkMTU 1480;
    MinRtrAdvInterval 60;
    MaxRtrAdvInterval 180;
    prefix 2001:xxxx:xxxx:xxxx::1/64 {
        AdvRouterAddr on;
        AdvPreferredLifetime 600;
        AdvValidLifetime 3600;
    };
    route ::/0 {
    };
    RDNSS 2001:xxxx:xxxx:xxxx::2 {};
};

Best Answer

IPv6 back-to-back routing is entirely based on link-local addresses as a consequence it is normal to see the router considering the gateway link-local.

Even if you use IPv6 global addresses, devices will do layer2 resolution using Network Discovery to get the link-local addresses.

Related Topic