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 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 99.2beta8 (1.46)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>28. Network File System, NFS</TITLE>
<META NAME="description" CONTENT="28. Network File System, NFS">
<META NAME="keywords" CONTENT="rute">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v99.2beta8">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="rute.css">
<LINK REL="next" HREF="node32.html">
<LINK REL="previous" HREF="node30.html">
<LINK REL="up" HREF="rute.html">
<LINK REL="next" HREF="node32.html">
</HEAD>
<BODY BGCOLOR=#FFFFFF >
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
<TR><TD align=left bgcolor="#000000">
<FONT COLOR=white>
<A HREF="http://www.icon.co.za/~psheer/rute-purchase.html"><FONT COLOR=white>Purchase</FONT></A>
</FONT>
</TD><TD align=center bgcolor="#000000">
<FONT COLOR=white>
Copyright © 2002 Paul Sheer. <A HREF="copying.html"><FONT COLOR=white>Click here for copying permissions.</FONT></A>
</FONT>
</TD><TD align=right bgcolor="#000000">
<FONT COLOR=white>
<A HREF="http://www.icon.co.za/~psheer/rute-home.html"><FONT COLOR=white>Home</FONT></A>
</FONT>
</TD></TR>
<TR><TD colspan=2 align=left bgcolor="#ECEBF4">
<IMG SRC="va-btn-small-light-60.png">
</TD><TD align=right bgcolor="#ECEBF4">
<IMG SRC="sflogo2-steel-60.png">
</TD></TR>
</TABLE><BR>
<!--Navigation Panel-->
<A NAME="tex2html2335"
HREF="node32.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2331"
HREF="rute.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2325"
HREF="node30.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2333"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2336"
HREF="node32.html">29. Services Running Under</A>
<B> Up:</B> <A NAME="tex2html2332"
HREF="rute.html">rute</A>
<B> Previous:</B> <A NAME="tex2html2326"
HREF="node30.html">27. DNS and Name</A>
  <B> <A NAME="tex2html2334"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html2337"
HREF="#SECTION003110000000000000000">28.1 Software</A>
<LI><A NAME="tex2html2338"
HREF="#SECTION003120000000000000000">28.2 Configuration Example</A>
<LI><A NAME="tex2html2339"
HREF="#SECTION003130000000000000000">28.3 Access Permissions</A>
<LI><A NAME="tex2html2340"
HREF="#SECTION003140000000000000000">28.4 Security</A>
<LI><A NAME="tex2html2341"
HREF="#SECTION003150000000000000000">28.5 Kernel NFS</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H1><A NAME="SECTION003100000000000000000">
28. Network File System, NFS</A>
</H1>
<P>
<A NAME="chap:nfs"></A>
<P>
This chapter covers NFS, the file-sharing capabilities of U<SMALL>NIX</SMALL>,
and describes how to set up directories shareable to other U<SMALL>NIX</SMALL>
machines.
<P>
As soon as one thinks of high-speed
Ethernet, the logical possibility of <I>sharing</I> a file system
across a network comes to mind. MS-DOS, OS/2, Apple Macintosh,
and Windows have their own file-sharing schemes
(IPX, SMB etc.), and NFS is the U<SMALL>NIX</SMALL> equivalent.
<P>
Consider your hard drive with its 10,000 or so files. Ethernet is fast
enough that you should be able to entirely use the hard drive of another
machine, transferring needed data as network packets as required; or
you should be able to make a directory tree visible to several computers. Doing this
efficiently is a complex task. NFS is a standard, a protocol, and (on
L<SMALL>INUX</SMALL>) a software suite that accomplishes this task in an efficient
manner. It is really easy to configure as well. Unlike some other sharing
protocols, NFS merely shares files and does not facilitate printing or
messaging.
<P>
<H1><A NAME="SECTION003110000000000000000">
28.1 Software</A>
</H1>
<P>
Depending on your distribution, the following programs may be located in any
of the <TT>
<FONT COLOR="#0000ff">bin</FONT></TT> or <TT>
<FONT COLOR="#0000ff">sbin</FONT></TT> directories. These are all daemon
processes. To get NFS working, they should be started in the order given here.
<P>
<DL>
<DT><STRONG><TT>
<FONT COLOR="#0000ff">portmap</FONT></TT></STRONG></DT>
<DD>(also sometimes called <TT>
<FONT COLOR="#0000ff">rpc.portmap</FONT></TT>) This
maps service names to ports. Client and server processes may request a
TCP port number based on a service name, and <TT>
<FONT COLOR="#0000ff">portmap</FONT></TT> handles
these requests. It is basically a network version of your <TT>
<FONT COLOR="#0000ff">/etc/services</FONT></TT>
file.
</DD>
<DT><STRONG><TT>
<FONT COLOR="#0000ff">rpc.mountd</FONT></TT></STRONG></DT>
<DD>(also sometimes called <TT>
<FONT COLOR="#0000ff">mountd</FONT></TT>) This handles
the initial incoming request from a client to <TT>
<FONT COLOR="#0000ff">mount</FONT></TT> a file system
and check that the request is allowable.
</DD>
<DT><STRONG><TT>
<FONT COLOR="#0000ff">rpc.nfsd</FONT></TT></STRONG></DT>
<DD>(also sometimes called <TT>
<FONT COLOR="#0000ff">nfsd</FONT></TT>) This is the
core--the file-server program itself.
</DD>
<DT><STRONG><TT>
<FONT COLOR="#0000ff">rpc.lockd</FONT></TT></STRONG></DT>
<DD>(also sometimes called <TT>
<FONT COLOR="#0000ff">lockd</FONT></TT>) This handles
shared locks between different machines on the same file over the network.
</DD>
</DL>
<P>
The acronym RPC stands for <I>Remote Procedure Call</I>. RPC was
developed along with NFS by Sun Microsystems. It is an efficient way for
a program to call a function on another machine and can be used by any
service that needs to have efficient distributed processing. These days,
its not really used for much except NFS, having been superseded by
technologies like CORBA. <FONT COLOR="#ffa500">[The ``Object-Oriented'' version of
RPC]</FONT> You can however, still write distributed applications with L<SMALL>INUX</SMALL>'s
RPC implementation.
<P>
<H1><A NAME="SECTION003120000000000000000">
28.2 Configuration Example</A>
</H1>
<P>
Sharing a directory with a remote machine requires that forward and
reverse
DNS lookups be working for the server machine as well as all
client machines. DNS is covered in Chapter <A HREF="node30.html#chap:dnsclient">27</A> and
Chapter <A HREF="node43.html#chap:name">40</A>. If you are just testing NFS and you are
sharing directories to your local machine (which we do now), you
<I>may</I> find NFS to still work without a proper DNS setup. You
should at least have proper entries in your <TT>
<FONT COLOR="#0000ff">/etc/hosts</FONT></TT> file
for your local machine (see page <A HREF="node30.html#page:etchostsexample"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" SRC="crossref.png"></A>).
<P>
The first step is deciding on the directory you would like to share. A
useful trick is to share your CD-ROM to your whole LAN. This is perfectly
safe considering that CDs are read-only. Create an <TT>
<FONT COLOR="#0000ff">/etc/exports</FONT></TT>
file with the following in it:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>/mnt/cdrom 192.168.1.0/24(ro) localhost(ro)</code><br>
</FONT></TD></TR></TABLE><P>
You can immediately see that the format of the <TT>
<FONT COLOR="#0000ff">/etc/exports</FONT></TT>
file is simply a line for each shareable directory. Next to each directory
name goes a list of hosts that are allowed to connect. In this case, those
allowed access are all IP addresses having the upper 24 bits matching
<TT>
<FONT COLOR="#0000ff">192.168.1</FONT></TT>, as well as the <TT>
<FONT COLOR="#0000ff">localhost</FONT></TT>.
<P>
Next, mount your CD-ROM as usual with
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>mkdir -p /mnt/cdrom</code><br>
<code>mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom</code><br>
</FONT></TD></TR></TABLE><P>
<P>
Now start each of the NFS processes in sequence:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>portmap</code><br>
<code>rpc.mountd</code><br>
<code>rpc.nfsd</code><br>
<code>rpc.lockd</code><br>
</FONT></TD></TR></TABLE><P>
Whenever you make changes to your <TT>
<FONT COLOR="#0000ff">/etc/exports</FONT></TT>
file you should also follow by running
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>exportfs -r</code><br>
</FONT></TD></TR></TABLE><P>
which causes a rereading of the <TT>
<FONT COLOR="#0000ff">/etc/exports</FONT></TT> file.
Entering the <TT>
<FONT COLOR="#0000ff">exportfs</FONT></TT> command with no options should then
show
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>/mnt/cdrom 192.168.1.0/24</code><br>
<code>/mnt/cdrom localhost.localdomain</code><br>
</FONT></TD></TR></TABLE><P>
which lists directories and hosts allowed to access them.
<P>
It is useful to test mounts from your local machine before
testing from a remote machine. Here we perform the NFS mounting
operation proper:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>mkdir /mnt/nfs</code><br>
<code>mount -t nfs localhost:/mnt/cdrom /mnt/nfs</code><br>
</FONT></TD></TR></TABLE><P>
You can see that the <TT>
<FONT COLOR="#0000ff">mount</FONT></TT> command sees the remote
machine's directory as a ``device'' of sorts, although the <TT>
<FONT COLOR="#0000ff">t</FONT></TT>ype
is <TT>
<FONT COLOR="#0000ff">nfs</FONT></TT> instead of <TT>
<FONT COLOR="#0000ff">ext2</FONT></TT>,
<TT>
<FONT COLOR="#0000ff">vfat</FONT></TT>, or <TT>
<FONT COLOR="#0000ff">iso9660</FONT></TT>. The
remote host name is followed by a colon followed by the directory on that
remote machine <I>relative to the root directory</I>. This syntax is unlike
that for other kinds of services that name all files relative to some
``top level'' directory (eg., FTP and web servers). The acid test now
is to run <TT>
<FONT COLOR="#0000ff">ls</FONT></TT> on the <TT>
<FONT COLOR="#0000ff">/mnt/nfs</FONT></TT> directory to verify that its
contents are indeed the same as <TT>
<FONT COLOR="#0000ff">/mnt/cdrom</FONT></TT>. Supposing our server is
called <TT>
<FONT COLOR="#0000ff">cdromserver</FONT></TT>, we can run the same command on all client
machines:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>mkdir /mnt/nfs</code><br>
<code>mount -t nfs cdromserver:/mnt/cdrom /mnt/nfs</code><br>
</FONT></TD></TR></TABLE><P>
<P>
If anything went wrong, you might like to search your process
list for all processes with an <TT>
<FONT COLOR="#0000ff">rpc</FONT></TT>, <TT>
<FONT COLOR="#0000ff">mount</FONT></TT>, <TT>
<FONT COLOR="#0000ff">nfs</FONT></TT>, or
<TT>
<FONT COLOR="#0000ff">portmap</FONT></TT> in them. Completely stopping NFS means clearing all of
these processes (if you really want to start from scratch). It is useful
to also keep
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>tail -f /var/log/messages</code><br>
<code>tail -f /var/log/syslog</code><br>
</FONT></TD></TR></TABLE><P>
running in a
separate console to watch for any error (or success)
messages (actually true of any configuration you are doing). Note that
it is not always obvious that NFS is failing because of a forward or
reverse DNS lookup, so double-check beforehand that these are
working--<TT>
<FONT COLOR="#0000ff">mount</FONT></TT> will not usually be more eloquent than the classic NFS
error message: ``<TT>
<FONT COLOR="#0000ff">mount: <xyz> failed, reason given by server: Permission denied</FONT></TT>.''
A faulty DNS is also indicated by whole-minute pauses in operation.
<P>
Most distributions will not require you to manually start
and stop the daemon processes above. Like most services, RedHat's NFS
implementation can be invoked simply with:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>/etc/init.d/nfs start</code><br>
<code>/etc/init.d/nfslock start</code><br>
</FONT></TD></TR></TABLE><P>
(or <TT>
<FONT COLOR="#0000ff">/etc/rc.d/init.d/</FONT></TT>). On Debian, similarly,
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>/etc/init.d/nfs-common start</code><br>
<code>/etc/init.d/nfs-kernel-server start</code><br>
</FONT></TD></TR></TABLE><P>
<P>
<H1><A NAME="SECTION003130000000000000000">
28.3 Access Permissions</A>
</H1>
<P>
Above, we used <TT>
<FONT COLOR="#0000ff">192.168.1.0/24(ro)</FONT></TT> to specify that we want to
give <TT>
<FONT COLOR="#0000ff">r</FONT></TT>ead-<TT>
<FONT COLOR="#0000ff">o</FONT></TT>nly access to a range of IP addresses. You can
actually put host names with wildcards also; for example:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>/mnt/cdrom *.mynet.mydomain.co.za(ro)</code><br>
</FONT></TD></TR></TABLE><P>
<P>
Then also allow <TT>
<FONT COLOR="#0000ff">r</FONT></TT>ead-<TT>
<FONT COLOR="#0000ff">w</FONT></TT>rite access with, say:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>/home *.mynet.mydomain.co.za(rw)</code><br>
</FONT></TD></TR></TABLE><P>
<P>
One further option, <TT>
<FONT COLOR="#0000ff">no_root_squash</FONT></TT>, disables NFS's
special treatment of <TT>
<FONT COLOR="#0000ff">root</FONT></TT>-owned files. This option is useful if you are
finding certain files strangely inaccessible. <TT>
<FONT COLOR="#0000ff">no_root_squash</FONT></TT> is really only for
systems (like diskless workstations) that need full <TT>
<FONT COLOR="#0000ff">root</FONT></TT> access
to a file system. An example is:
<P><TABLE nowrap="1" width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD valign="top" class="source" width="2%"><FONT color=red>
<code> </code><br>
</FONT></TD><TD valign="top" class="source" bgcolor="#FFE0C0"><FONT color=blue>
<code>/ *.very.trusted.net(rw,no_root_squash)</code><br>
</FONT></TD></TR></TABLE><P>
<P>
The man page for <TT>
<FONT COLOR="#0000ff">/etc/exports</FONT></TT>, <TT>
<FONT COLOR="#0000ff">exports</FONT></TT>(5), contains an
exhaustive list of options.
<P>
<H1><A NAME="SECTION003140000000000000000">
28.4 Security</A>
</H1>
<P>
NFS requires that a number of services be running that have no use anywhere else.
Many naive administrators create directory exports with
impunity, thus exposing those machines to opportunistic hackers. An NFS
server should be well hidden behind a firewall, and any Internet server
exposed to the Internet should <I>never</I> run the <TT>
<FONT COLOR="#0000ff">portmap</FONT></TT> or RPC
services. Preferably uninstall all of these services if you are not
actually running an NFS server.
<P>
<H1><A NAME="SECTION003150000000000000000">
28.5 Kernel NFS</A>
</H1>
<P>
There are actually two versions of the NFS implementation for L<SMALL>INUX</SMALL>.
Although this is a technical caveat, it is worth understanding that the
NFS server was originally implemented by an ordinary daemon process
before the L<SMALL>INUX</SMALL> kernel itself supported NFS. Debian supports both
implementations in two packages, <TT>
<FONT COLOR="#0000ff">nfs-server</FONT></TT> and
<TT>
<FONT COLOR="#0000ff">nfs-kernel-server</FONT></TT>, although the configuration should be
identical. Depending on the versions of these implementations and the
performance you require, one or the other may be better. You are advised
to at least check the status of the kernel NFS implementation on the
kernel web pages. Of course, NFS as a <I>client</I> must necessarily be
supported by the kernel as a regular file system type in order to be
able to mount anything.
<P>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html2335"
HREF="node32.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2331"
HREF="rute.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2325"
HREF="node30.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2333"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2336"
HREF="node32.html">29. Services Running Under</A>
<B> Up:</B> <A NAME="tex2html2332"
HREF="rute.html">rute</A>
<B> Previous:</B> <A NAME="tex2html2326"
HREF="node30.html">27. DNS and Name</A>
  <B> <A NAME="tex2html2334"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
</BODY>
</HTML>
|