2020-01-31 22:06:07 +00:00
|
|
|
|
title: Announcing IPv6 networks without becoming the default router
|
2020-01-31 21:58:25 +00:00
|
|
|
|
---
|
|
|
|
|
pub_date: 2020-01-31
|
|
|
|
|
---
|
|
|
|
|
author: ungleich network team
|
|
|
|
|
---
|
|
|
|
|
twitter_handle: ungleich
|
|
|
|
|
---
|
|
|
|
|
_hidden: no
|
|
|
|
|
---
|
|
|
|
|
_discoverable: yes
|
|
|
|
|
---
|
|
|
|
|
abstract:
|
|
|
|
|
You can also announce prefixes without becoming the default router
|
|
|
|
|
---
|
|
|
|
|
body:
|
|
|
|
|
|
|
|
|
|
## TL;DR
|
|
|
|
|
|
2020-01-31 22:23:30 +00:00
|
|
|
|
Use **AdvDefaultLifetime 0** in your radvd.conf if you don't want the
|
|
|
|
|
router to become a default router.
|
2020-01-31 21:58:25 +00:00
|
|
|
|
|
|
|
|
|
## Background
|
|
|
|
|
|
|
|
|
|
Sometimes you have multiple routers in a network and you don't want a
|
|
|
|
|
router to become the default router for clients, but it should still
|
|
|
|
|
announce an IPv6 prefix.
|
|
|
|
|
|
|
|
|
|
## radvd
|
|
|
|
|
|
|
|
|
|
Luckily radvd supports an option to notify the clients of this. From the manpage of radvd.conf(5):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
AdvDefaultLifetime seconds
|
|
|
|
|
|
|
|
|
|
The lifetime associated with the default router in units of seconds. The
|
|
|
|
|
maximum value corresponds to 18.2 hours. A lifetime of 0 indicates that
|
|
|
|
|
the router is not a default router and should not appear on the default
|
|
|
|
|
router list. The router lifetime applies only to the router's usefulness
|
|
|
|
|
as a default router; it does not apply to information contained in other
|
|
|
|
|
message fields or options. Options that need time limits for their infor‐
|
|
|
|
|
mation include their own lifetime fields.
|
|
|
|
|
|
|
|
|
|
Must be either zero or between MaxRtrAdvInterval and 9000 seconds.
|
|
|
|
|
|
|
|
|
|
Default: 3 * MaxRtrAdvInterval (Minimum 1 second).
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Sample configuration
|
|
|
|
|
|
|
|
|
|
A configuration from one of our test sites looks as follows:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
interface eth0
|
|
|
|
|
{
|
|
|
|
|
AdvSendAdvert on;
|
|
|
|
|
MinRtrAdvInterval 3;
|
|
|
|
|
MaxRtrAdvInterval 5;
|
|
|
|
|
|
|
|
|
|
AdvDefaultLifetime 0;
|
|
|
|
|
|
|
|
|
|
prefix 2a0a:e5c1:111:10c::/64 { };
|
|
|
|
|
};
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Client in this test network assign themselves an additional IPv6
|
|
|
|
|
address from this prefix.
|
2020-01-31 22:50:15 +00:00
|
|
|
|
|
|
|
|
|
## Note
|
|
|
|
|
|
|
|
|
|
While clients won't select this router as the default router, they
|
|
|
|
|
might still choose to use an IPv6 address from this prefix as their
|
|
|
|
|
**source address**. More details about it can be found in the
|
|
|
|
|
[RFC 6724](https://tools.ietf.org/html/rfc6724).
|