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