install-notes-20040723
[openafs.git] / doc / txt / winnotes / afs-install-notes.txt
1 OpenAFS for Windows 1.3.70 Installation Notes
2 ---------------------------------------------
3
4 The OpenAFS for Windows product was very poorly maintained throughout the 
5 1.2.x release cycle.  While the Unix version was being enhanced and its 
6 quality was improving the Windows version stagnated.  The IBM AFS 3.6 product 
7 was not designed for the Windows 2000/XP/2003 operating system nor was it 
8 architected with highly disconnected environments in mind.
9
10 The 1.3.x series of releases not only fixes a large number of bugs in the 1.2 
11 series but also attempts to enhance the functionality of the product to better 
12 fit the usage model of today's users.  Several items standout.  
13
14 1. The Kerberos 4 infrastructure on which the 1.2 series is reliant is no 
15 longer secure.  Cross-realm Kerberos is very important in the AFS context and 
16 most sites have or are migrating to Kerberos 5 environments.  The 1.3 series 
17 integrates with the MIT Kerberos for Windows 2.6.x product to provide Kerberos 
18 5 functionality including the ability to auto-renew credentials and obtain 
19 single sign-on capabilities with the Microsoft Windows Kerberos Logon Service.
20
21 The 1.3.65 OpenAFS client will directly use Kerberos 5 tickets as tokens if 
22 KFW is installed.  It requires that all of the AFS Servers which it 
23 communicates support Kerberos 5 tickets.  This requires that all servers 
24 be running OpenAFS release 1.2.8 or higher.  Transarc servers do not support
25 Kerberos 5 tickets as tokens.
26
27 When using a Microsoft Windows Active Directory as your KDC for the AFS cell 
28 extremely large tickets may be issued.  If this is your situation you either 
29 must modify your 1.2.x servers to support tokens larger than a few hundred 
30 bytes; or install the 1.3.64 or higher release on your servers.
31
32 2. The AFS Client Service does not provide robust behavior in an environment 
33 with a plug-n-play network environment.  Changes to the number of network 
34 adapters or the assigned IP addresses will cause the client to panic.  The 
35 recommended work around for this problem is to install on the machine the 
36 Microsoft Loopback Adapter.  When the MLA is installed with a static IP 
37 address the AFS Client Service will bind only to the loopback and not be 
38 affected by changes to state of other network adapters installed on the 
39 system.  
40
41 Starting in the 1.3.65 release the installers provided by OpenAFS.org will 
42 install the Microsoft Loopback Adapter for you with a name of "AFS" and a 
43 pre-assigned IP address in the 10.x.x.x range.
44
45 One of the benefits of using the MLA is that the NETBIOS names used for the 
46 AFS Client's SMB server do not have to be published on any adapter other than 
47 the MLA.  This means that the names no longer need to be unique.  When the MLA 
48 is in use, the NETBIOS name associated with the AFS Client Service is simply 
49 "AFS".  When the MLA is not in use the NETBIOS name is "MACHINE-AFS".
50
51 With the MLA installed, UNC paths of the form \\AFS\cellname\path may be used.
52
53 3. When the AFS Client Service starts it must be able to contact the root.afs 
54 volume of the default cell.  If the root.afs volume is not accessible when the 
55 client service is started, the service will panic.  Since many users now use 
56 laptops or otherwise operate in disconnected environments in which a VPN may 
57 be needed to access the cell's servers, it is often the case that the root.afs 
58 volume for the default cell will not be reachable and the client service 
59 cannot successfully start. 
60  
61 In the 1.3.65 release there is support for a fake root.afs volume which is 
62 dynamically constructed when the afs client service starts. This is called 
63 Freelance mode.  Freelance mode is turned on by default in the OpenAFS.org 
64 installers.  
65
66 A couple of notes about Freelance mode.  First, since the fake root.afs volume 
67 is constructed on the fly, when it is first used the only mount points will
68 be for the default afs cell.  Do not be concerned.  Any attempt to access a 
69 valid cell name will automatically result in a new read-only mount point 
70 being created in the fake root.afs volume.  These mount points are preserved 
71 between service starts in the HKLM\SOFTWARE\OpenAFS\Client\Freelance registry
72 key.
73
74 As of 1.3.70, Freelance mode supports read-write mount points in the fake
75 root.afs volume.  In addition, if the mount point list is empty, mount points
76 for "cellname" (ro) and ".cellname" (rw) will be automatically generated.
77
78 4. The OpenAFS for Windows client will make use of AFSDB DNS records to 
79 discover cell information when it is not located in the local CellServDB file 
80 (\Program Files\OpenAFS\Client\CellServDB).
81
82 5. OpenAFS for Windows 1.3.65 only supports Windows 2000, Windows XP, and 
83 Windows 2003.  Windows NT 4.0 and the entire Windows 9x/Me line are not 
84 supported.  If OpenAFS for Windows runs on those platforms it is by sheer 
85 luck.
86
87 6. OpenAFS for Windows installs a Network Provider for use in supporting an 
88 Integrated Logon (Single Sign-on) functionality. Integrated Logon can be used 
89 when the Windows username and password match the username and password 
90 associated with the default cell's Kerberos realm.  For example, if the 
91 windows username is "jaltman" and the default cell is "athena.mit.edu", then 
92 Integrated Logon can be successfully used if the windows password matches the 
93 password used for the Kerberos principal "jaltman@ATHENA.MIT.EDU".
94
95 Integrated Logon is required if you desire the ability to store roaming user 
96 profiles within the AFS file system.  OpenAFS does not provide tools for 
97 synchronizing the Windows and Kerberos user accounts and passwords.
98
99 If KFW is installed, the Integrated Logon will use Kerberos 5 to obtain 
100 tokens.  Otherwise, Kerberos 4 is used.
101
102 There is a High Security mode for use with Integrated Logon when multiple 
103 users will share a single machine.  There are known problems with this mode.  
104 In particular, if you are using this mode it is crucial that new AFS tokens 
105 not be obtained after the logon session starts except via the AFS Systray tool 
106 as started by the AFS Network Provider.  If the AFS Systray tool is stopped 
107 you must log off to obtain new tokens.  Do not use external tools such as 
108 "aklog.exe" if High Security mode is turned on. As of 1.3.70, OpenAFS supports 
109 Authenticated SMB connections which removes the need for High Security mode. 
110 DO NOT USE IT!!!!! 
111
112 7. The AFS Systray tool (afscreds.exe) supports several new command line 
113 options: 
114
115     -A = autoinit 
116     -M = renew drive maps 
117     -N = ip address change detection 
118     -Z = unmap drives
119
120 autoinit will result in automated attempts to acquire AFS tokens when 
121 afscreds.exe is started.  When used in combination with ip address change 
122 detection, afscreds.exe will attempt to acquire AFS tokens whenever a new IP 
123 address is added to the system.
124
125 The renew drive maps option is used to ensure that the user drive maps 
126 constructs via the AFS tools (not NET USE) are re-constructed at afscreds.exe 
127 start time.
128
129 By default afscreds.exe is configured by the OpenAFS.org installers to use -A 
130 -N -M as startup options.  Currently, there is no UI to change this selection 
131 after install time although these options may be set via the registry either 
132 per machine or per user.
133
134 8. Some attempts in the 1.3.65 release have been made to restrict the behavior 
135 of users with regards to their ability to alter the state of the AFS Client 
136 Service.  For example, the following fs.exe commands are now restricted to 
137 Administrator:
138
139     - checkservers with a non-zero timer value
140     - setcachesize
141     - newcell
142     - sysname with a new sysname list
143     - exportafs
144     - setcell
145     - setserverprefs
146     - storebehind
147     - setcrypt
148     - cscpolicy
149     - trace
150
151 setting the default sysname for a machine should be done via the registry and 
152 not via "fs sysname".
153
154 Some of the AFS Client Configuration Control Panel options are also restricted 
155 to use by the "Administrator" account.
156
157 9. As of 1.3.65, the AFS Client should support UNC paths everywhere.
158
159 10. The AFS Client ships with its own version of aklog.exe which should be 
160 used in preference to those obtained by third party sources.
161
162 Usage: aklog [-d] [[-cell | -c] cell [-k krb_realm]]
163              [[-p | -path] pathname]
164              [-noprdb] [-force]
165              [-5 | -4]
166
167    -d gives debugging information.
168    krb_realm is the kerberos realm of a cell.
169    pathname is the name of a directory to which you wish to authenticate.
170    -noprdb means don't try to determine AFS ID.
171    -5 or -4 selects whether to use Kerberos V or Kerberos IV.
172       (default is Kerberos V)
173    No commandline arguments means authenticate to the local cell.
174
175 11. The AFS Server functionality provided with OpenAFS 1.3.65 does work but 
176 should be considered experimental.  It has not been thoroughly tested.
177
178 12. The OpenAFS for Windows installers now include Symbol information which 
179 should be installed if you are experiencing problems and need to send crash 
180 reports.
181
182 13. OpenAFS for Windows does not support files larger than 2GB.
183
184 14. There are known problems running the AFS Client on Hyperthreaded 
185 Pentium 4 machines.  As of 1.3.70, a registry entry may be created to specify
186 that the AFS Client Service should only use a single processor.  If you have
187 a hyperthreaded system it is strongly advised that this registry value be set.
188 See "registry.txt" for details on the MaxCPUs value. 
189
190 15. OpenAFS for Windows currently requires the use of TCP based RPC. If the 
191 machine is restricted to Local RPC only, you will be unable to store tokens.
192 As of 1.3.70, Local RPC is used as the default RPC mechanism for setting 
193 tokens.  TCP RPC is still used for debugging and other functions.
194
195 16. As of 1.3.70, OpenAFS for Windows automatically open ports in the Windows 
196 Internet Connection Firewall.
197
198 17. The OpenAFS for Windows installer by default activates a weak form of 
199 encrypted data transfer between the AFS client and the AFS servers.  This
200 is often referred to as "crypt" mode.
201
202 18. OpenAFS 1.3.70 adds support for authenticated SMB connections using 
203 either NTLM or GSS SPNEGO (NTLM, Kerberos 5, ...).  In previous versions
204 of OpenAFS the SMB connections were unauthenticated which left open the
205 door for several security holes which could be used to obtain access to
206 the use of other user's tokens on shared machines.  With the introduction
207 of authenticated SMB connections the so called High Security mode should
208 no longer be used.  
209
210 When GSS SPNEGO results in a Kerberos 5 authentication, the Windows SMB
211 client will attempt to retrieve service tickets for "cifs/afs@REALM" (if 
212 the loopback adapter is in use) or "cifs/machine-afs@REALM" (if the loopback
213 adapter is not being used).  It is extremely important that this service 
214 principal not exist in the KDC database.   If the request for this ticket
215 fails, a subsequent request for "cifs/HOST$@REALM" will be issued.  This 
216 service principal should exist in the KDC database.  The key associated 
217 with this service principal must match the key assigned to 
218 "host/machine@REALM".  If the local machine is part of a Windows Domain
219 this will all be taken care of for you.  If the local machine is using
220 a non-MS KDC for authentication, then your KDC administrator will have to
221 add these service principals to the list of principals to be maintained
222 for each host.
223
224 SMB Authentication will fail in the following situation.  If you have
225 configured the Windows machine to authenticate to a non-Windows realm
226 (MIT or Heimdal KDC) and you are using account mapping to map the 
227 Kerberos principal to local account name.  If the password for the 
228 Kerberos principal and the local machine account are not the same,
229 SMB Authentication will fail.  To make AFS accessible to the user one
230 of three things must be done:
231
232 (1) The user must synchronize the local Windows password with the Kerberos
233     password
234
235 (2) The user must login with the local Windows account
236
237 (3) The user must attach to the AFS server using the local account credentials.
238     The user can do this either by browsing \\AFS in the Windows Explorer and
239     specify "remember my password" to avoid the need to perform this operation
240     in the future; or the following commands may be executed from the command
241     line:
242
243     NET USE \\AFS /USER:<local-account-name> <password>
244     NET USE \\AFS /SAVECRED
245
246 (4) SMB Authentication for OpenAFS must be disabled.  (see registry.txt 
247     for information on how to set the SMBAuthType to NONE.
248
249
250 19. As of 1.3.70, INI files are no longer used for the storage of AFS 
251 configuration data.  No longer are there any AFS related files stored in the
252 %WINDIR% directory.  The CellServDB file is no longer called "afsdsbmt.ini"
253 and it is stored in the OpenAFS\Client directory.  The afs_freelance.ini
254 and afsdsbmt.ini file data has been moved to the registry.  
255
256 IMPORTANT: while the CellServDB file location and freelance mountpoint
257 data will be automatically migrated; there is no mechanism for automatic
258 migration of Submounts, Drive Mappings, Active Maps, and CSCPolicy data.
259
260 20. As of 1.3.70, the OpenAFS Client is compatible with Windows XP SP2
261 and Windows 2003 SP1.  The Internet Connection Firewall will be 
262 automatically adjusted to allow the receipt of incoming callback messages 
263 from the AFS file server.  In addition, the appropriate Back Connection 
264 entries are added to the registry to allow SMB authentication to be 
265 performed across the loopback connection.
266
267 21. As of 1.3.70, the OpenAFS Client Service supports the CIFS Remote
268 Admin Protocol which provides browsing of server and share information.
269 This significantly enhances the functionality of AFS volumes within the
270 Explorer Shell.
271
272 22. OpenAFS will now automatically forget a user's tokens upon Logoff
273 unless the user's profile was loaded from an AFS volume.  In this situation
274 there is no mechanism to determine when the profile has been successfully
275 written back to the network.  It is therefore unsafe to release the user's
276 tokens.
277
278 ------------------------------------------------------------------------
279
280 Reporting Bugs:
281
282 Bug reports should be sent to openafs-bugs@openafs.org.  Please include as 
283 much information as possible about the issue.  If you are reporting a crash, 
284 please install the debugging symbols by re-running the installer.  If a dump 
285 file is available for the problem include it along with the AFS Client Trace 
286 file  %WINDIR%\TEMP\afsd.log.  The AFS Client startup log is 
287 %WINDIR%\TEMP\afsd_init.log.  Send the last continuous block of log 
288 information from this file.
289
290 ------------------------------------------------------------------------
291
292 How to Contribute to the Development of OpenAFS for Windows:
293
294 Contributions to the development of OpenAFS for Windows are needed. 
295 Contributions may take many forms including cash donations, support contracts, 
296 donated developer time, and even donated tech writer time.
297
298 If you wish to be involved in OpenAFS for Windows development please join the 
299 openafs-win32-devel@openafs.org mailing list.
300
301   https://lists.openafs.org/mailman/listinfo/openafs-win32-devel
302
303 User questions should be sent to the openafs-info@openafs.org mailing list.  
304
305   https://lists.openafs.org/mailman/listinfo/openafs-info
306
307 You must join mailing lists if you wish to post to the list without incurring 
308 a moderation delay.
309