TTR Networks

Beginner · IPv6 on VyOS: setup and routing · section 3 of 8

Router Advertisements and SLAAC

✓ Lab-tested 17 October 2026 on VyOS 2026.10.16-0024-rolling

Turn on Router Advertisements on LAN1. VyOS needs two things: the prefix to advertise, and (optionally, but you almost always want it) a DNS server, sent as a Recursive DNS Server (RDNSS) option. There's no DNS server in this lab, so 2001:db8:f000::53 just shows how it's delivered.

rdisc6 on the client asks for an RA and prints exactly what R1 sends:

  • The prefix, with the On-link and Autonomous address conf. flags set: "this /64 is directly reachable here, and you may build your own address from it."
  • Router lifetime 1800 s: "use me as a default router for 30 minutes, unless I tell you otherwise." Routers re-advertise regularly.
  • Stateful address conf. No: no DHCPv6 needed for addresses (that's the "M" flag).
  • The DNS server.

The client builds its address from the prefix plus an interface identifier. Here that's derived from its MAC address (EUI-64), which is why the same c8e8:1bff:fef2:b85d ending appears on both its global and link-local addresses. Many desktop operating systems use random identifiers and temporary addresses instead, for privacy; the mechanism is the same.

Note the client's default route: via fe80::5054:ff:fe01:101, R1's link-local address, not its global one. That's normal in IPv6, and it means renumbering the LAN never breaks the default route.

The client can now reach the internet: one hop to R1, one to the ISP, then the server.

R1: Router Advertisements on LAN1
set service router-advert interface eth1 prefix 2001:db8:1000:1::/64
set service router-advert interface eth1 name-server '2001:db8:f000::53'
  • Line 1: Advertise LAN1's /64 for SLAAC.
  • Line 2: And a DNS server (RDNSS).
client1 after the first RA (real output)
root@client1:~# rdisc6 eth0
Soliciting ff02::2 (ff02::2) on eth0...

Hop limit                 :           64 (      0x40)
Stateful address conf.    :           No
Stateful other conf.      :           No
Mobile home agent         :           No
Router preference         :       medium
Neighbor discovery proxy  :           No
Router lifetime           :         1800 (0x00000708) seconds
Reachable time            :  unspecified (0x00000000)
Retransmit time           :  unspecified (0x00000000)
 Prefix                   : 2001:db8:1000:1::/64
  On-link                 :          Yes
  Autonomous address conf.:          Yes
  Valid time              :      2592000 (0x00278d00) seconds
  Pref. time              :        14400 (0x00003840) seconds
 Recursive DNS server     : 2001:db8:f000::53
  DNS server lifetime     :         1800 (0x00000708) seconds
 Source link-layer address: 52:54:00:01:01:01
 from fe80::5054:ff:fe01:101
root@client1:~# ip -6 addr show dev eth0
2: eth0@if613: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default  link-netnsid 0
    inet6 2001:db8:1000:1:c8e8:1bff:fef2:b85d/64 scope global dynamic mngtmpaddr
       valid_lft 2591996sec preferred_lft 14396sec
    inet6 fe80::c8e8:1bff:fef2:b85d/64 scope link
       valid_lft forever preferred_lft forever
root@client1:~# ip -6 route
2001:db8:1000:1::/64 dev eth0 proto kernel metric 256 expires 2591995sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::5054:ff:fe01:101 dev eth0 proto ra metric 1024 expires 1795sec hoplimit 64 pref medium
root@client1:~# ping -6 -c 2 2001:db8:f000::10
PING 2001:db8:f000::10(2001:db8:f000::10) 56 data bytes
64 bytes from 2001:db8:f000::10: icmp_seq=1 ttl=62 time=4.73 ms
64 bytes from 2001:db8:f000::10: icmp_seq=2 ttl=62 time=2.49 ms

--- 2001:db8:f000::10 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1011ms
rtt min/avg/max/mdev = 2.487/3.608/4.730/1.121 ms
root@client1:~# traceroute -6 -n 2001:db8:f000::10
traceroute to 2001:db8:f000::10 (2001:db8:f000::10), 30 hops max, 80 byte packets
 1  2001:db8:1000:1::1  5.156 ms  5.698 ms  8.066 ms
 2  2001:db8:ffff:1::1  8.363 ms  8.353 ms  8.334 ms
 3  2001:db8:f000::10  8.831 ms  9.018 ms  9.027 ms
  • Line 10: R1 offers itself as a default router for 30 minutes.
  • Lines 13–17: The prefix, with on-link and autonomous (SLAAC) flags set.
  • Lines 18–19: The DNS server.
  • Line 21: The RA comes from R1's link-local address.
  • Line 24: client1's own address: prefix + interface ID from its MAC.
  • Line 31: Default route via R1's link-local address, learnt from the RA (proto ra).
  • Lines 42–44: R1, the ISP, then the server.

Check your understanding

client1's default route points at fe80::5054:ff:fe01:101. What is that?

  • R1's link-local address on LAN1
  • The ISP's router
  • A DNS server
  • client1's own address