summaryrefslogtreecommitdiff
path: root/docs/configuration/service/router-advert.md
blob: b81dddc793f3200c74cdd9228b0c46c7e503bb1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
(router-advert)=

# Router Advertisements

{abbr}`RAs (Router advertisements)` are described in {rfc}`4861#section-4.6.2`.
They are part of what is known as {abbr}`SLAAC (Stateless Address
Autoconfiguration)`.

Supported interface types:

> - bonding
> - bridge
> - ethernet
> - geneve
> - l2tpv3
> - openvpn
> - pseudo-ethernet
> - tunnel
> - vxlan
> - wireguard
> - wireless
> - wwan

## Configuration

```{cfgcmd} set service router-advert interface \<interface\> ...
```

```{eval-rst}
.. csv-table::
   :header: "Field", "VyOS Option", "Description"
   :widths: 10, 10, 20

   "Cur Hop Limit", "hop-limit", "Hop count field of the outgoing RA packets"
   """Managed address configuration"" flag", "managed-flag", "Tell hosts to use the administered stateful protocol (i.e. DHCP) for autoconfiguration"
   """Other configuration"" flag", "other-config-flag", "Tell hosts to use the administered (stateful) protocol (i.e. DHCP) for autoconfiguration of other (non-address) information"
   "MTU","link-mtu","Link MTU value placed in RAs, excluded in RAs if unset"
   "Router Lifetime","default-lifetime","Lifetime associated with the default router in units of seconds"
   "Reachable Time","reachable-time","Time, in milliseconds, that a node assumes a neighbor is reachable after having received a reachability confirmation"
   "Retransmit Timer","retrans-timer","Time in milliseconds between retransmitted Neighbor Solicitation messages"
   "Default Router Preference","default-preference","Preference associated with the default router"
   "Interval", "interval", "Min and max intervals between unsolicited multicast RAs"
   "DNSSL", "dnssl", "DNS search list to advertise"
   "Name Server", "name-server", "Advertise DNS server per https://tools.ietf.org/html/rfc6106"
   "Auto Ignore Prefix", "auto-ignore", "Exclude a prefix from being advertised when the wildcard ::/64 prefix is used"
   "Captive Portal", "captive-portal", "Advertise a URL pointing to an RFC 8908-compliant API to tell hosts that they are behind a captive portal"
```

### Advertising a Prefix

```{cfgcmd} set service router-advert interface \<interface\> prefix \<prefix/mask\>

:::{note}
You can also opt for using ::/64 as prefix for your {abbr}`RAs (Router
Advertisements)`. This is a special wildcard prefix that will emit {abbr}`RAs (Router Advertisements)` for every prefix assigned to the interface.
This comes in handy when using dynamically obtained prefixes from DHCPv6-PD.
:::
```
```{eval-rst}
.. csv-table::
    :header: "VyOS Field", "Description"
    :widths: 10,30

    "decrement-lifetime", "Lifetime is decremented by the number of seconds since the last RA - use in conjunction with a DHCPv6-PD prefix"
    "deprecate-prefix", "Upon shutdown, this option will deprecate the prefix by announcing it in the shutdown RA"
    "no-autonomous-flag","Prefix can not be used for stateless address auto-configuration"
    "no-on-link-flag","Prefix can not be used for on-link determination"
    "preferred-lifetime","Time in seconds that the prefix will remain preferred (default 4 hours)"
    "valid-lifetime","Time in seconds that the prefix will remain valid (default: 30 days)"
```

### Advertising a NAT64 Prefix

```{cfgcmd} set service router-advert interface \<interface\> nat64prefix \<prefix/mask\>

Enable PREF64 option as outlined in {rfc}`8781`.

NAT64 prefix mask must be one of: /32, /40, /48, /56, /64 or 96.

:::{note}
The well known NAT64 prefix is ``64:ff9b::/96``
:::
```
```{eval-rst}
.. csv-table::
    :header: "VyOS Field", "Description"
    :widths: 10,30

    "valid-lifetime","Time in seconds that the prefix will remain valid (default: 65528 seconds)"
```

### Disabling Advertisements

To disable advertisements without deleting the configuration:

```{cfgcmd} set service router-advert interface \<interface\> no-send-advert

If set, the router will no longer send periodic router advertisements and
will not respond to router solicitations.
```

```{cfgcmd} set service router-advert interface \<interface\> no-send-interval

Advertisement Interval Option (specified by Mobile IPv6) is always included in
Router Advertisements unless this option is set.
```

## Example

Your LAN connected on eth0 uses prefix `2001:db8:beef:2::/64` with the router
being `2001:db8:beef:2::1`

```none
set interfaces ethernet eth0 address 2001:db8:beef:2::1/64

set service router-advert interface eth0 default-preference 'high'
set service router-advert interface eth0 name-server '2001:db8::1'
set service router-advert interface eth0 name-server '2001:db8::2'
set service router-advert interface eth0 other-config-flag
set service router-advert interface eth0 prefix 2001:db8:beef:2::/64
```