forked from radvd-project/radvd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INTRO.html
142 lines (116 loc) · 4.31 KB
/
INTRO.html
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<!-- $Id: INTRO.html,v 1.5 2008/03/31 09:18:15 psavola Exp $ -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>RADVD Introduction</title>
</head>
<body>
<h1>RADVD Introduction</h1>
<p>
by <a href="mailto:[email protected]">Lars Fenneberg</a> et al. Updated
2002-01-12.
</p>
<p>
<a href="http://www.ietf.org/rfc/rfc2460.txt">IPv6</a> has a lot more
support for autoconfiguration than
<a href="http://www.ietf.org/rfc/rfc791.txt">IPv4</a>. But for this
autoconfiguration to work on the hosts of a network, the <em>routers</em>
of the local network have to run a program which answers the
autoconfiguration requests of the hosts.
</p>
<p>
On Linux this program is called
<a href="http://v6web.litech.org/radvd/">radvd</a>, which stands for
Router ADVertisement Daemon. This daemon listens to Router Solicitations
(RS) and answers with Router Advertisement (RA). Furthermore unsolicited
RAs are also send from time to time.
<a href="http://www.ietf.org/rfc/rfc4861.txt">RFC 4861</a> defines most
functions of radvd.
</p>
<p>
Router Advertisements contain information, which is used by hosts to
configure their interfaces. This information includes address prefixes,
the MTU of the link and information about default routers.
</p>
<p>
Of course the routers can't autoconfigure themselves, so the information
on the routers has to be provided by the administrator of the system.
This is done by manually configuring the interfaces and routes and by
configuring the router advertisement daemon.
</p>
<p>
A small and simple configuration file for radvd might look like this:
</p>
<p>
<pre>
interface eth0
{
AdvSendAdvert on;
prefix 2001:db8:0:1::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
</pre>
<p>
It says that radvd should advertise (AdvSendAdvert on) the prefix
2001:db8:0:1:: which has a lenght of 64 on the interface eth0.
Also the prefix is marked as autonomous (AdvAutonomous on) and as on-link
(AdvOnLink on). The both currently default to enabled but are included
here for introductory purposes; it isn't necessary to define them.
All the other options are left on their default values.
</p>
<p>
Autonomous means that the prefix can be used for automatic address
configuration and on-link means that the hosts can assume that all the hosts
which use this prefix are reachable via the interface on which the host
received this RA.
</p>
<p>
The prefix must be 64 bits long (apart from very few exceptions), as dictated by
<a href="http://www.ietf.org/rfc/rfc2464.txt">RFC 2464</a> and other
standards for different link-layer technologies. For more
details, see <a href="http://www.ietf.org/rfc/rfc4862.txt">RFC 4862</a>
(IPv6 Stateless Address Autoconfiguration) and
<a href="http://www.ietf.org/rfc/rfc2464.txt">RFC 2464</a>
(Transmission of IPv6 Packets over Ethernet Networks). For more information
on configuring radvd please look at the manual pages which are included in
the radvd distribution.
</p>
<p>
So, when an interface on a host is UPed and a RA is received, the host
can configure an address on the interface by using the prefix and
appending the EUI-64 identifier derived from the hardware address
(also called link-layer token). The EUI-64 identifier is simply appended
after the prefix. For example:
</p>
<p>
<pre>
Announced prefix: 2001:db8:0:1::
MAC address: 00:07:E9:7B:02:59
EUI-64 identifier: 0207:e9ff:fe7b:259
Configured address: 2001:db8:0:1:207:e9ff:fe7b:259
</pre>
<p>
The host can also choose a default router by examining the RA.
The rest works automatically.
</p>
<p>
So now we've configured radvd, but we still need to configure the interfaces
and set the routes (on the router). There's a lot of good material on
setting up IPv6, and the reader is encouraged to have a look
at it; for example:
</p>
<p>
<ul>
<li><a href="http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO.html">http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO.html</a></li>
<li><a href="http://people.debian.org/~csmall/ipv6/setup.html">http://people.debian.org/~csmall/ipv6/setup.html</a> (for non-Debian too)</li>
</ul>
<hr>
<p>
Copyright © 1997 <a href="mailto:[email protected]">Lars Fenneberg</a>
</p>
</body>
</html>