Lorenzo Colitti | 313379e | 2013-07-11 01:07:11 +0900 | [diff] [blame] | 1 | <refentry id="rdisc"> |
| 2 | |
| 3 | <refmeta> |
| 4 | <refentrytitle>rdisc</refentrytitle> |
| 5 | <manvolnum>8</manvolnum> |
| 6 | <refmiscinfo>iputils-&snapshot;</refmiscinfo> |
| 7 | </refmeta> |
| 8 | |
| 9 | <refnamediv> |
| 10 | <refname>rdisc</refname> |
| 11 | <refpurpose>network router discovery daemon</refpurpose> |
| 12 | </refnamediv> |
| 13 | |
| 14 | <refsynopsisdiv> |
| 15 | <cmdsynopsis> |
| 16 | <command>rdisc</command> |
| 17 | <arg choice="opt"><option>-abdfrstvV</option></arg> |
| 18 | <arg choice="opt">-p <replaceable/preference/</arg> |
| 19 | <arg choice="opt">-T <replaceable/max_interval/</arg> |
| 20 | <arg choice="opt"><replaceable/send_address/</arg> |
| 21 | <arg choice="opt"><replaceable/receive_address/</arg> |
| 22 | </cmdsynopsis> |
| 23 | </refsynopsisdiv> |
| 24 | |
| 25 | <refsect1><title>DESCRIPTION</title> |
| 26 | <para> |
| 27 | <command/rdisc/ implements client side of the ICMP router discover protocol. |
| 28 | <command/rdisc/ is invoked at boot time to populate the network |
| 29 | routing tables with default routes. |
| 30 | </para> |
| 31 | |
| 32 | <para> |
| 33 | <command/rdisc/ listens on the ALL_HOSTS (224.0.0.1) multicast address |
| 34 | (or <replaceable/receive_address/ provided it is given) |
| 35 | for ROUTER_ADVERTISE messages from routers. The received |
| 36 | messages are handled by first ignoring those listed router addresses |
| 37 | with which the host does not share a network. Among the remaining addresses |
| 38 | the ones with the highest preference are selected as default routers |
| 39 | and a default route is entered in the kernel routing table |
| 40 | for each one of them. |
| 41 | </para> |
| 42 | |
| 43 | <para> |
| 44 | Optionally, <command/rdisc/ can avoid waiting for routers to announce |
| 45 | themselves by sending out a few ROUTER_SOLICITATION messages |
| 46 | to the ALL_ROUTERS (224.0.0.2) multicast address |
| 47 | (or <replaceable/send_address/ provided it is given) |
| 48 | when it is started. |
| 49 | </para> |
| 50 | |
| 51 | <para> |
| 52 | A timer is associated with each router address and the address will |
| 53 | no longer be considered for inclusion in the the routing tables if the |
| 54 | timer expires before a new |
| 55 | <emphasis/advertise/ message is received from the router. |
| 56 | The address will also be excluded from consideration if the host receives an |
| 57 | <emphasis/advertise/ |
| 58 | message with the preference being maximally negative. |
| 59 | </para> |
| 60 | |
| 61 | <para> |
| 62 | Server side of router discovery protocol is supported by Cisco IOS |
| 63 | and by any more or less complete UNIX routing daemon, f.e <command/gated/. |
| 64 | Or, <command/rdisc/ can act as responder, if compiled with -DRDISC_SERVER. |
| 65 | </para> |
| 66 | |
| 67 | </refsect1> |
| 68 | |
| 69 | <refsect1><title>OPTIONS</title> |
| 70 | |
| 71 | <variablelist> |
| 72 | <varlistentry> |
| 73 | <term><option/-a/</term> |
| 74 | <listitem><para> |
| 75 | Accept all routers independently of the preference they have in their |
| 76 | <emphasis/advertise/ messages. |
| 77 | Normally <command/rdisc/ only accepts (and enters in the kernel routing |
| 78 | tables) the router or routers with the highest preference. |
| 79 | </para></listitem> |
| 80 | </varlistentry> |
| 81 | <varlistentry> |
| 82 | <term><option/-b/</term> |
| 83 | <listitem><para> |
| 84 | Opposite to <option/-a/, i.e. install only router with the best |
| 85 | preference value. It is default behaviour. |
| 86 | </para></listitem> |
| 87 | </varlistentry> |
| 88 | <varlistentry> |
| 89 | <term><option/-d/</term> |
| 90 | <listitem><para> |
| 91 | Send debugging messages to syslog. |
| 92 | </para></listitem> |
| 93 | </varlistentry> |
| 94 | <varlistentry> |
| 95 | <term><option/-f/</term> |
| 96 | <listitem><para> |
| 97 | Run <command/rdisc/ forever even if no routers are found. |
| 98 | Normally <command/rdisc/ gives up if it has not received any |
| 99 | <emphasis/advertise/ message after after soliciting three times, |
| 100 | in which case it exits with a non-zero exit code. |
| 101 | If <option/-f/ is not specified in the first form then |
| 102 | <option/-s/ must be specified. |
| 103 | </para></listitem> |
| 104 | </varlistentry> |
| 105 | |
| 106 | <varlistentry> |
| 107 | <term><option/-r/</term> |
| 108 | <listitem><para> |
| 109 | Responder mode, available only if compiled with -DRDISC_SERVER. |
| 110 | </para></listitem> |
| 111 | </varlistentry> |
| 112 | |
| 113 | <varlistentry> |
| 114 | <term><option/-s/</term> |
| 115 | <listitem><para> |
| 116 | Send three <emphasis/solicitation/ messages initially to quickly discover |
| 117 | the routers when the system is booted. |
| 118 | When <option/-s/ is specified <command/rdisc/ |
| 119 | exits with a non-zero exit code if it can not find any routers. |
| 120 | This can be overridden with the <option/-f/ option. |
| 121 | </para></listitem> |
| 122 | </varlistentry> |
| 123 | |
| 124 | <varlistentry> |
| 125 | <term><option>-p <replaceable/preference/</option></term> |
| 126 | <listitem><para> |
| 127 | Set preference in advertisement. |
| 128 | Available only with -r option. |
| 129 | </para></listitem> |
| 130 | </varlistentry> |
| 131 | |
| 132 | <varlistentry> |
| 133 | <term><option>-T <replaceable/max_interval/</option></term> |
| 134 | <listitem><para> |
| 135 | Set maximum advertisement interval in seconds. Default is 600 secs. |
| 136 | Available only with -r option. |
| 137 | </para></listitem> |
| 138 | </varlistentry> |
| 139 | |
| 140 | <varlistentry> |
| 141 | <term><option/-t/</term> |
| 142 | <listitem><para> |
| 143 | Test mode. Do not go to background. |
| 144 | </para></listitem> |
| 145 | </varlistentry> |
| 146 | |
| 147 | <varlistentry> |
| 148 | <term><option/-v/</term> |
| 149 | <listitem><para> |
| 150 | Be verbose i.e. send lots of debugging messages to syslog. |
| 151 | </para></listitem> |
| 152 | </varlistentry> |
| 153 | |
| 154 | <varlistentry> |
| 155 | <term><option/-V/</term> |
| 156 | <listitem><para> |
| 157 | Print version and exit. |
| 158 | </para></listitem> |
| 159 | </varlistentry> |
| 160 | </variablelist> |
| 161 | </refsect1> |
| 162 | |
| 163 | <refsect1><title>HISTORY</title> |
| 164 | <para> |
| 165 | This program was developed by Sun Microsystems (see copyright |
| 166 | notice in source file). It was ported to Linux by |
| 167 | <ulink url="mailto:kuznet@ms2.inr.ac.ru">Alexey Kuznetsov |
| 168 | <kuznet@ms2.inr.ac.ru></ulink>. |
| 169 | It is now maintained by |
| 170 | <ulink url="mailto:yoshfuji@skbuff.net">YOSHIFUJI Hideaki |
| 171 | <yoshfuji@skbuff.net></ulink>. |
| 172 | </para> |
| 173 | </refsect1> |
| 174 | |
| 175 | |
| 176 | <refsect1><title>SEE ALSO</title> |
| 177 | <para> |
| 178 | <citerefentry><refentrytitle/icmp/<manvolnum/7/</citerefentry>, |
| 179 | <citerefentry><refentrytitle/inet/<manvolnum/7/</citerefentry>, |
| 180 | <link linkend="ping"> |
| 181 | <citerefentry><refentrytitle/ping/<manvolnum/8/</citerefentry></link>. |
| 182 | </para> |
| 183 | </refsect1> |
| 184 | |
| 185 | <refsect1><title>REFERENCES</title> |
| 186 | <para> |
| 187 | Deering, S.E.,ed "ICMP Router Discovery Messages", |
| 188 | <ulink url="http://tools.ietf.org/rfc/rfc1256.txt"> |
| 189 | RFC1256</ulink>, Network Information Center, SRI International, |
| 190 | Menlo Park, Calif., September 1991. |
| 191 | </para> |
| 192 | </refsect1> |
| 193 | |
| 194 | <refsect1><title>SECURITY</title> |
| 195 | <para> |
| 196 | <command/rdisc/ requires <constant/CAP_NET_RAW/ to listen |
| 197 | and send ICMP messages and capability <constant/CAP_NET_ADMIN/ |
| 198 | to update routing tables. |
| 199 | </para> |
| 200 | </refsect1> |
| 201 | |
| 202 | <refsect1><title>AVAILABILITY</title> |
| 203 | <para> |
| 204 | <command/rdisc/ is part of <filename/iputils/ package |
| 205 | and the latest versions are available in source form at |
| 206 | <ulink url="http://www.skbuff.net/iputils/iputils-current.tar.bz2"> |
| 207 | http://www.skbuff.net/iputils/iputils-current.tar.bz2</ulink>. |
| 208 | </para> |
| 209 | </refsect1> |
| 210 | |
| 211 | <![IGNORE[ |
| 212 | <refsect1><title>COPYING</title> |
| 213 | <para> |
| 214 | <literallayout> |
| 215 | Rdisc (this program) was developed by Sun Microsystems, Inc. and is |
| 216 | provided for unrestricted use provided that this legend is included on |
| 217 | all tape media and as a part of the software program in whole or part. |
| 218 | Users may copy or modify Rdisc without charge, and they may freely |
| 219 | distribute it. |
| 220 | |
| 221 | RDISC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE |
| 222 | WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR |
| 223 | PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. |
| 224 | |
| 225 | Rdisc is provided with no support and without any obligation on the |
| 226 | part of Sun Microsystems, Inc. to assist in its use, correction, |
| 227 | modification or enhancement. |
| 228 | |
| 229 | SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE |
| 230 | INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY RDISC |
| 231 | OR ANY PART THEREOF. |
| 232 | |
| 233 | In no event will Sun Microsystems, Inc. be liable for any lost revenue |
| 234 | or profits or other special, indirect and consequential damages, even if |
| 235 | Sun has been advised of the possibility of such damages. |
| 236 | |
| 237 | Sun Microsystems, Inc. |
| 238 | 2550 Garcia Avenue |
| 239 | Mountain View, California 94043 |
| 240 | </literallayout> |
| 241 | </para> |
| 242 | </refsect1> |
| 243 | ]]> |
| 244 | |
| 245 | |
| 246 | </refentry> |