Merge from vendor branch HEIMDAL:
[dragonfly.git] / sbin / nfsd / nfsd.8
1 .\" Copyright (c) 1989, 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)nfsd.8      8.4 (Berkeley) 3/29/95
33 .\" $FreeBSD: src/sbin/nfsd/nfsd.8,v 1.12.2.3 2002/05/20 18:06:11 gordon Exp $
34 .\" $DragonFly: src/sbin/nfsd/nfsd.8,v 1.2 2003/06/17 04:27:34 dillon Exp $
35 .\"
36 .Dd March 29, 1995
37 .Dt NFSD 8
38 .Os
39 .Sh NAME
40 .Nm nfsd
41 .Nd remote
42 .Tn NFS
43 server
44 .Sh SYNOPSIS
45 .Nm
46 .Op Fl arut
47 .Op Fl n Ar num_servers
48 .Op Fl h Ar bindip
49 .Sh DESCRIPTION
50 .Nm Nfsd
51 runs on a server machine to service
52 .Tn NFS
53 requests from client machines.
54 At least one
55 .Nm
56 must be running for a machine to operate as a server.
57 .Pp
58 Unless otherwise specified, four servers for
59 .Tn UDP
60 transport are started.
61 .Pp
62 The following options are available:
63 .Bl -tag -width Ds
64 .It Fl r
65 Register the
66 .Tn NFS
67 service with
68 .Xr portmap 8
69 without creating any servers.
70 This option can be used along with the
71 .Fl u
72 or
73 .Fl t
74 options to re-register NFS if the portmap server is restarted.
75 .It Fl n
76 Specifies how many servers to create.
77 .It Fl h Ar bindip
78 Specifies which IP address or hostname to bind to on the local host.
79 This option is recommended when a host has multiple interfaces.
80 Multiple
81 .Fl h
82 options may be specified.
83 .It Fl a
84 Specifies that nfsd should bind to the wildcard IP address.
85 This is the default if no
86 .Fl h
87 options are given.  It may also be specified in addition to any
88 .Fl h
89 options given.  Note that NFS/UDP does not operate properly when
90 bound to the wildcard IP address whether you use -a or do not use -h.
91 .It Fl t
92 Serve
93 .Tn TCP NFS
94 clients.
95 .It Fl u
96 Serve
97 .Tn UDP NFS
98 clients.
99 .El
100 .Pp
101 For example,
102 .Dq Li "nfsd -u -t -n 6"
103 serves
104 .Tn UDP
105 and
106 .Tn TCP
107 transports using six daemons.
108 .Pp
109 A server should run enough daemons to handle
110 the maximum level of concurrency from its clients,
111 typically four to six.
112 .Pp
113 .Nm Nfsd
114 listens for service requests at the port indicated in the
115 .Tn NFS
116 server specification; see
117 .%T "Network File System Protocol Specification" ,
118 RFC1094 and
119 .%T "NFS: Network File System Version 3 Protocol Specification" .
120 .Pp
121 If
122 .Nm
123 detects that
124 .Tn NFS
125 is not loaded in the running kernel, it will attempt
126 to load a loadable kernel module containing
127 .Tn NFS
128 support using
129 .Xr kldload 8
130 by way of
131 .Xr vfsload 3 .
132 If this fails, or no
133 .Tn NFS
134 KLD is available,
135 .Nm
136 will exit with an error.
137 .Pp
138 If
139 .Nm
140 is to be run on a host with multiple interfaces or interface aliases, use
141 of the
142 .Fl h
143 option is recommended.  If you do not use the option NFS may not respond to
144 UDP packets from the same IP address they were sent to.  Use of this option
145 is also recommended when securing NFS exports on a firewalling machine such
146 that the NFS sockets can only be accessed by the inside interface.
147 .Nm Ipfw
148 would then be used to block nfs-related packets that come in on the outside
149 interface.
150 .Pp
151 .Nm
152 has to be terminated with
153 .Dv SIGUSR1
154 and cannot be killed with
155 .Dv SIGTERM
156 or
157 .Dv SIGQUIT .
158 .Nm
159 needs to ignore these signals in order to stay alive as long
160 as possible during a shutdown, otherwise loopback mounts will
161 not be able to unmount.
162 If you have to kill
163 .Nm
164 just do a
165 .Dq Li "kill -USR1 <PID of master nfsd>"
166 .Pp
167 The
168 .Nm
169 utility exits 0 on success, and >0 if an error occurs.
170 .Sh SEE ALSO
171 .Xr nfsstat 1 ,
172 .Xr nfssvc 2 ,
173 .Xr kldload 8 ,
174 .Xr mountd 8 ,
175 .Xr nfsiod 8 ,
176 .Xr portmap 8 ,
177 .Xr ipfw 8
178 .Sh HISTORY
179 The
180 .Nm
181 utility first appeared in
182 .Bx 4.4 .