]>
Commit | Line | Data |
---|---|---|
ac2f15b3 | 1 | .\" $KAME: racoon.conf.5,v 1.102 2003/04/07 00:46:19 itojun Exp $ |
7ba0088d A |
2 | .\" |
3 | .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. | |
4 | .\" All rights reserved. | |
5 | .\" | |
6 | .\" Redistribution and use in source and binary forms, with or without | |
7 | .\" modification, are permitted provided that the following conditions | |
8 | .\" are met: | |
9 | .\" 1. Redistributions of source code must retain the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer. | |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer in the | |
13 | .\" documentation and/or other materials provided with the distribution. | |
14 | .\" 3. Neither the name of the project nor the names of its contributors | |
15 | .\" may be used to endorse or promote products derived from this software | |
16 | .\" without specific prior written permission. | |
17 | .\" | |
18 | .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND | |
19 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
20 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
21 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE | |
22 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
23 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
24 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
25 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
26 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
28 | .\" SUCH DAMAGE. | |
29 | .\" | |
30 | .Dd November 20, 2000 | |
31 | .Dt RACOON.CONF 5 | |
32 | .Os KAME | |
33 | .\" | |
34 | .Sh NAME | |
35 | .Nm racoon.conf | |
36 | .Nd configuration file for racoon | |
37 | .\" | |
38 | .\" .Sh SYNOPSIS | |
39 | .\" | |
40 | .Sh DESCRIPTION | |
41 | .Nm | |
42 | is the configuration file for the | |
43 | .Xr racoon 8 | |
44 | ISAKMP daemon. | |
45 | .Xr racoon 8 | |
46 | negotiates security associations for itself (ISAKMP SA, or phase 1 SA) | |
47 | and for kernel IPsec (IPsec SA, or phase 2 SA). | |
48 | The file consists of a sequence of directives and statements. | |
49 | Each directive is composed by a tag, and statements are enclosed by | |
50 | .Ql { | |
51 | and | |
52 | .Ql } . | |
53 | Lines beginning with | |
54 | .Ql # | |
55 | are comments. | |
56 | .\" | |
57 | .Ss Meta Syntax | |
58 | Keywords and special characters that the parser expects exactly are | |
59 | displayed using | |
60 | .Ic this | |
61 | font. | |
62 | Parameters are specified with | |
63 | .Ar this | |
64 | font. | |
65 | Square brackets | |
66 | .Po | |
67 | .Ql \*(lB | |
68 | and | |
69 | .Ql \*(rB | |
70 | .Pc | |
71 | are used to show optional keywords and parameters. | |
72 | Note that | |
73 | you have to pay attention when this manual is describing | |
74 | .Ar port | |
75 | numbers. | |
76 | The | |
77 | .Ar port | |
78 | number is always enclosed by | |
79 | .Ql \*(lB | |
80 | and | |
81 | .Ql \*(rB . | |
82 | In this case, the port number is not an optional keyword. | |
83 | If it is possible to omit | |
84 | .Ar port | |
85 | number, | |
86 | the expression becomes | |
87 | .Bq Ic Bq Ar port . | |
88 | The vertical bar | |
89 | .Pq Ql \*(Ba | |
90 | is used to indicate | |
91 | a choice between optional parameters. | |
92 | Parentheses | |
93 | .Po | |
94 | .Ql \*(lP | |
95 | and | |
96 | .Ql \*(rP | |
97 | .Pc | |
98 | are used to group keywords and parameters when necessary. | |
99 | Major parameters are listed below. | |
100 | .Pp | |
101 | .Bl -tag -width addressx -compact | |
102 | .It Ar number | |
103 | means a hexadecimal or a decimal number. | |
104 | The former must be prefixed with | |
105 | .Ql Li 0x . | |
106 | .It Ar string | |
107 | .It Ar path | |
108 | .It Ar file | |
109 | means any string enclosed in | |
110 | .Ql \&" | |
111 | .Pq double quote . | |
112 | .It Ar address | |
113 | means IPv6 and/or IPv4 address. | |
114 | .It Ar port | |
115 | means a TCP/UDP port number. | |
116 | The port number is always enclosed by | |
117 | .Ql \*(lB | |
118 | and | |
119 | .Ql \*(rB . | |
120 | .It Ar timeunit | |
121 | is one of following: | |
122 | .Ic sec , secs , second , seconds , | |
123 | .Ic min , mins , minute , minutes , | |
124 | .Ic hour , hours . | |
125 | .El | |
126 | .\" | |
127 | .Ss Path Specification | |
128 | .Bl -tag -width Ds -compact | |
129 | .It Ic path include Ar path ; | |
130 | specifies a path to include a file. | |
131 | See | |
132 | .Sx File Inclusion . | |
133 | .It Ic path pre_shared_key Ar file ; | |
134 | specifies a file containing pre-shared key(s) for various ID(s). | |
135 | See | |
136 | .Sx Pre-shared key File . | |
137 | .It Ic path certificate Ar path ; | |
138 | .Xr racoon 8 | |
139 | will search this directory if a certificate or certificate request is received. | |
140 | .It Ic path backupsa Ar file ; | |
141 | specifies a file to be stored a SA information which is negotiated by racoon. | |
142 | .Xr racoon 8 | |
143 | will install SA(s) from the file with a boot option | |
144 | .Fl B . | |
145 | The file is increasing because | |
146 | .Xr racoon 8 | |
147 | simply add a SA to the file at the moment. | |
148 | You should maintain the file manually. | |
149 | .El | |
150 | .\" | |
151 | .Ss File Inclusion | |
152 | .Bl -tag -width Ds -compact | |
153 | .It Ic include Ar file | |
154 | other configuration files can be included. | |
155 | .El | |
156 | .\" | |
157 | .Ss Identifier Specification | |
158 | is obsolete. | |
159 | It must be defined at each | |
160 | .Ic remote | |
161 | directive. | |
162 | .\" | |
163 | .Ss Timer Specification | |
164 | .Bl -tag -width Ds -compact | |
165 | .It Ic timer { Ar statements Ic } | |
166 | specifies various timer values. | |
167 | .Pp | |
168 | .Bl -tag -width Ds -compact | |
169 | .It Ic counter Ar number ; | |
170 | the maximum number of retries to send. | |
171 | The default is 5. | |
172 | .It Ic interval Ar number Ar timeunit ; | |
173 | the interval to resend, in seconds. | |
174 | The default time is 10 seconds. | |
175 | .It Ic persend Ar number ; | |
176 | the number of packets per send. | |
177 | The default is 1. | |
178 | .It Ic phase1 Ar number Ar timeunit ; | |
179 | the maximum time it should take to complete phase 1. | |
180 | The default time is 15 seconds. | |
181 | .It Ic phase2 Ar number Ar timeunit ; | |
182 | the maximum time it should take to complete phase 2. | |
183 | The default time is 10 seconds. | |
184 | .El | |
185 | .El | |
186 | .\" | |
187 | .Ss Listening Port Specification | |
188 | .Bl -tag -width Ds -compact | |
189 | .It Ic listen { Ar statements Ic } | |
190 | If no | |
191 | .Ar listen | |
192 | directive is specified, | |
193 | .Xr racoon 8 | |
194 | will listen on all of the available interface addresses. | |
195 | The following is the list of valid statements: | |
196 | .Pp | |
197 | .Bl -tag -width Ds -compact | |
198 | .\" How do I express bold brackets; `[' and `]' . | |
199 | .\" Is the "Bq Ic [ Ar port ] ;" buggy ? | |
200 | .It Ic isakmp Ar address Bq Bq Ar port ; | |
201 | If this is specified, | |
202 | .Xr racoon 8 | |
203 | will only listen on | |
204 | .Ar address . | |
205 | The default port is 500, which is specified by IANA. | |
206 | You can provide more than one address definition. | |
207 | .It Ic strict_address ; | |
208 | require that all addresses for ISAKMP must be bound. | |
209 | This statement will be ignored if you do not specify any addresses. | |
210 | .El | |
211 | .El | |
212 | .\" | |
213 | .Ss Remote Nodes Specifications | |
214 | .Bl -tag -width Ds -compact | |
215 | .It Xo | |
216 | .Ic remote ( Ar address \*(Ba Ic anonymous ) | |
217 | .Bq Bq Ar port | |
218 | .Ic { Ar statements Ic } | |
219 | .Xc | |
220 | specifies the parameters for IKE phase 1 for each remote node. | |
221 | The default port is 500. | |
ac2f15b3 | 222 | If |
7ba0088d | 223 | .Ic anonymous |
ac2f15b3 | 224 | is specified, the statements apply to all peers which do not match |
7ba0088d A |
225 | any other |
226 | .Ic remote | |
227 | directive. | |
228 | .Pp | |
229 | The following are valid statements. | |
230 | .Pp | |
231 | .Bl -tag -width Ds -compact | |
232 | .\" | |
233 | .It Ic exchange_mode ( main \*(Ba aggressive \*(Ba base ) ; | |
234 | defines the exchange mode for phase 1 when racoon is the initiator. | |
235 | Also it means the acceptable exchange mode when racoon is responder. | |
236 | More than one mode can be specified by separating them with a comma. | |
237 | All of the modes are acceptable. | |
238 | The first exchange mode is what racoon uses when it is the initiator. | |
239 | .\" | |
240 | .It Ic doi Ic ipsec_doi ; | |
ac2f15b3 | 241 | means to use IPsec-DOI as specified RFC 2407. |
7ba0088d A |
242 | You can omit this statement. |
243 | .\" | |
244 | .It Ic situation Ic identity_only ; | |
245 | means to use SIT_IDENTITY_ONLY as specified RFC 2407. | |
246 | You can omit this statement. | |
247 | .\" | |
248 | .It Ic identifier Ar idtype ; | |
249 | is obsolete. | |
250 | Instead, use | |
251 | .Ic my_identifier . | |
252 | .\" | |
253 | .It Ic my_identifier Ar idtype ... ; | |
254 | specifies the identifier sent to the remote host | |
255 | and the type to use in the phase 1 negotiation. | |
256 | .Ic address, fqdn , user_fqdn , keyid and asn1dn | |
257 | can be used as an | |
258 | .Ar idtype . | |
259 | they are used like: | |
260 | .Bl -tag -width Ds -compact | |
261 | .It Ic my_identifier Ic address Bq Ar address ; | |
262 | the type is the IP address. | |
263 | This is the default type if you do not specify an identifier to use. | |
264 | .It Ic my_identifier Ic user_fqdn Ar string ; | |
265 | the type is a USER_FQDN (user fully-qualified domain name). | |
266 | .It Ic my_identifier Ic fqdn Ar string ; | |
267 | the type is a FQDN (fully-qualified domain name). | |
268 | .It Ic my_identifier Ic keyid Ar file ; | |
269 | the type is a KEY_ID. | |
270 | .It Ic my_identifier Ic asn1dn Bq Ar string ; | |
271 | the type is an ASN.1 distinguished name. | |
272 | If | |
273 | .Ar string | |
274 | is omitted, | |
275 | .Xr racoon 8 | |
276 | will get DN from Subject field in the certificate. | |
ac2f15b3 | 277 | .El |
7ba0088d A |
278 | .\" |
279 | .It Ic peers_identifier Ar idtype ... ; | |
280 | specifies the peer's identifier to be received. | |
281 | If it is not defined then | |
282 | .Xr racoon 8 | |
283 | will not verify the peer's identifier in ID payload transmitted from the peer. | |
284 | If it is defined, the behavior of the verification depends on the flag of | |
285 | .Ic verify_identifier . | |
286 | The usage of | |
287 | .Ar idtype | |
288 | is same to | |
289 | .Ic my_identifier . | |
290 | .\" | |
291 | .It Ic verify_identifier (on \(ba off) ; | |
292 | If you want to verify the peer's identifier, | |
293 | set this to on. | |
294 | In this case, if the value defined by | |
295 | .Ic peers_identifier | |
296 | is not same to the peer's identifier in the ID payload, | |
297 | the negotiation will failed. | |
298 | The default is off. | |
299 | .\" | |
300 | .It Ic certificate_type Ar certspec ; | |
301 | specifies a certificate specification. | |
302 | .Ar certspec | |
303 | is one of followings: | |
304 | .Bl -tag -width Ds -compact | |
305 | .It Ic x509 Ar certfile Ar privkeyfile; | |
306 | .Ar certfile | |
307 | means a file name of certificate. | |
308 | .Ar privkeyfile | |
309 | means a file name of secret key. | |
310 | .El | |
311 | .\" | |
312 | .It Ic peers_certfile ( dnssec \*(Ba Ar certfile ) ; | |
313 | If | |
314 | .Ic dnssec | |
315 | is defined, | |
316 | .Xr racoon 8 | |
317 | will ignore the CERT payload from the peer, | |
318 | and try to get the peer's certificate from DNS instead. | |
319 | If | |
320 | .Ar certfile | |
321 | is defined, | |
322 | .Xr racoon 8 | |
323 | will ignore the CERT payload from the peer, | |
324 | and will use this certificate as the peer's certificate. | |
325 | .\" | |
326 | .It Ic send_cert (on \(ba off) ; | |
327 | If you do not want to send a certificate for some reason, set this to off. | |
328 | The default is on. | |
329 | .\" | |
330 | .It Ic send_cr (on \(ba off) ; | |
331 | If you do not want to send a certificate request for some reason, set this to off. | |
332 | The default is on. | |
333 | .\" | |
334 | .It Ic verify_cert (on \(ba off) ; | |
335 | If you do not want to verify the peer's certificate for some reason, | |
336 | set this to off. | |
337 | The default is on. | |
338 | .\" | |
339 | .It Ic lifetime time Ar number Ar timeunit ; | |
340 | define a lifetime of a certain time | |
341 | which will be proposed in the phase 1 negotiations. | |
342 | Any proposal will be accepted, and the attribute(s) will be not proposed to | |
343 | the peer if you do not specify it(them). | |
344 | They can be individually specified in each proposal. | |
345 | .\" | |
346 | .It Ic initial_contact (on \(ba off) ; | |
347 | enable this to send an INITIAL-CONTACT message. | |
348 | The default value is | |
349 | .Ic on . | |
350 | This message is useful only when | |
351 | the implementation of the responder choices an old SA when there are multiple | |
352 | SAs which are different established time, and the initiator reboots. | |
353 | If racoon did not use the message, | |
354 | the responder would use an old SA even when an new SA was established. | |
355 | The KAME stack has the switch in the system wide value, | |
356 | net.key.preferred_oldsa. | |
357 | when the value is zero, the stack always use an new SA. | |
358 | .\" | |
359 | .It Ic passive (on \(ba off) ; | |
360 | If you do not want to initiate the negotiation, set this to on. | |
361 | The default value is | |
362 | .Ic off . | |
363 | It is useful for a server. | |
364 | .\" | |
365 | .It Ic proposal_check Ar level ; | |
366 | specifies the action of lifetime length and PFS of the phase 2 | |
367 | selection on the responder side. | |
368 | The default level is | |
369 | .Ic strict . | |
370 | If the | |
371 | .Ar level | |
372 | is; | |
373 | .Bl -tag -width Ds -compact | |
374 | .It Ic obey | |
375 | the responder will obey the initiator anytime. | |
376 | .It Ic strict | |
377 | If the responder's length is longer than the initiator's one, the | |
378 | responder uses the initiator's one. | |
379 | Otherwise it rejects the proposal. | |
380 | If PFS is not required by the responder, the responder will obey the proposal. | |
381 | If PFS is required by both sides and if the responder's group is not equal to | |
382 | the initiator's one, then the responder will reject the proposal. | |
383 | .It Ic claim | |
384 | If the responder's length is longer than the initiator's one, the | |
385 | responder will use the initiator's one. | |
386 | If the responder's length is | |
387 | shorter than the initiator's one, the responder uses its own length | |
388 | AND sends a RESPONDER-LIFETIME notify message to an initiator in the | |
389 | case of lifetime. | |
390 | About PFS, this directive is same as | |
391 | .Ic strict . | |
392 | .It Ic exact | |
393 | If the initiator's length is not equal to the responder's one, the | |
394 | responder will reject the proposal. | |
395 | If PFS is required by both sides and if the responder's group is not equal to | |
396 | the initiator's one, then the responder will reject the proposal. | |
397 | .El | |
398 | .\" | |
399 | .It Ic support_mip6 (on \(ba off) ; | |
400 | If this value is set on then both values of ID payloads in phase 2 exchange | |
401 | are always used as the addresses of end-point of IPsec-SAs. | |
402 | The default is off. | |
403 | .\" | |
404 | .It Ic generate_policy (on \(ba off) ; | |
405 | This directive is for the responder. | |
406 | Therefore you should set | |
407 | .Ic passive | |
408 | on in order that | |
409 | .Xr racoon 8 | |
410 | only becomes a responder. | |
411 | If the responder does not have any policy in SPD during phase 2 negotiation, | |
412 | and the directive is set on, then | |
413 | .Xr racoon 8 | |
414 | will choice the first proposal in the | |
415 | SA payload from the initiator, and generate policy entries from the proposal. | |
416 | It is useful to negotiate with the client which is allocated IP address | |
417 | dynamically. | |
ac2f15b3 A |
418 | Note that inappropriate policy might be installed into the responder's SPD |
419 | by the initiator. | |
420 | So that other communication might fail if such policies installed | |
421 | due to some policy mismatches between the initiator and the responder. | |
7ba0088d A |
422 | This directive is ignored in the initiator case. |
423 | The default value is | |
424 | .Ic off . | |
425 | .\" | |
426 | .It Ic nonce_size Ar number ; | |
427 | define the byte size of nonce value. | |
428 | Racoon can send any value although | |
429 | RFC2409 specifies that the value MUST be between 8 and 256 bytes. | |
430 | The default size is 16 bytes. | |
431 | .\" | |
432 | .It Xo | |
433 | .Ic proposal { Ar sub-substatements Ic } | |
434 | .Xc | |
435 | .Bl -tag -width Ds -compact | |
436 | .\" | |
437 | .It Ic encryption_algorithm Ar algorithm ; | |
438 | specify the encryption algorithm used for the phase 1 negotiation. | |
439 | This directive must be defined. | |
440 | .Ar algorithm | |
441 | is one of following: | |
442 | .Ic des , 3des , blowfish , cast128 | |
443 | .\".Ic rc5 , idea | |
444 | for oakley. | |
445 | For other transforms, this statement should not be used. | |
446 | .\" | |
447 | .It Ic hash_algorithm Ar algorithm; | |
448 | define the hash algorithm used for the phase 1 negotiation. | |
449 | This directive must be defined. | |
450 | .Ar algorithm | |
451 | is one of following: | |
452 | .Ic md5, sha1 | |
453 | for oakley. | |
454 | .\" | |
455 | .It Ic authentication_method Ar type ; | |
456 | defines the authentication method used for the phase 1 negotiation. | |
457 | This directive must be defined. | |
458 | .Ar type | |
459 | is one of: | |
460 | .Ic pre_shared_key, rsasig , gssapi_krb . | |
461 | .\" | |
462 | .It Ic dh_group Ar group ; | |
463 | define the group used for the Diffie-Hellman exponentiations. | |
464 | This directive must be defined. | |
465 | .Ar group | |
466 | is one of following: | |
467 | .Ic modp768 , modp1024 , modp1536 . | |
468 | Or you can define 1, 2, or 5 as the DH group number. | |
469 | When you want to use aggressive mode, | |
470 | you must define same DH group in each proposal. | |
471 | .It Ic lifetime time Ar number Ar timeunit ; | |
472 | define lifetime of the phase 1 SA proposal. | |
473 | Refer to the description of | |
474 | .Ic lifetime | |
475 | directive immediately defined in | |
476 | .Ic remote | |
477 | directive. | |
478 | .It Ic gssapi_id Ar string ; | |
479 | define the GSS-API endpoint name, to be included as an attribute in the SA, | |
480 | if the | |
481 | .Ic gssapi_krb | |
482 | authentication method is used. If this is not defined, the default value of | |
483 | .Ql ike/hostname | |
484 | is used, where hostname is the FQDN of the interface being used. | |
485 | .El | |
486 | .El | |
487 | .El | |
488 | .\" | |
489 | .Ss Policy Specifications | |
490 | The policy directive is obsolete, policies are now in the SPD. | |
491 | .Xr racoon 8 | |
492 | will obey the policy configured into the kernel by | |
493 | .Xr setkey 8 , | |
494 | and will construct phase 2 proposals by combining | |
495 | .Ic sainfo | |
496 | specifications in | |
497 | .Nm Ns , | |
498 | and policies in the kernel. | |
499 | .\" | |
500 | .Ss Sainfo Specifications | |
501 | .Bl -tag -width Ds -compact | |
502 | .It Xo | |
503 | .Ic sainfo ( Ar source_id destination_id \*(Ba Ic anonymous ) | |
504 | .Ic { Ar statements Ic } | |
505 | .Xc | |
506 | defines the parameters of the IKE phase 2 (IPsec-SA establishment). | |
507 | .Ar source_id | |
508 | and | |
509 | .Ar destination_id | |
510 | are constructed like: | |
511 | .Pp | |
512 | .Ic address Ar address | |
513 | .Bq Ic / Ar prefix | |
514 | .Bq Ic [ Ar port ] | |
515 | .Ar ul_proto | |
516 | .Pp | |
517 | or | |
518 | .Pp | |
519 | .Ar idtype Ar string | |
520 | .Pp | |
521 | It means exactly the content of ID payload. | |
522 | This is not like a filter rule. | |
523 | For example, if you define 3ffe:501:4819::/48 as | |
524 | .Ar source_id . | |
525 | 3ffe:501:4819:1000:/64 will not match. | |
526 | .Pp | |
527 | .Bl -tag -width Ds -compact | |
528 | .\" | |
529 | .It Ic pfs_group Ar group ; | |
530 | define the group of Diffie-Hellman exponentiations. | |
531 | If you do not require PFS then you can omit this directive. | |
532 | Any proposal will be accepted if you do not specify one. | |
533 | .Ar group | |
534 | is one of following: | |
535 | .Ic modp768 , modp1024 , modp1536 . | |
536 | Or you can define 1, 2, or 5 as the DH group number. | |
537 | .\" | |
538 | .It Ic lifetime time Ar number Ar timeunit ; | |
539 | define the lifetime of amount of time | |
540 | which are to be used IPsec-SA. | |
541 | Any proposal will be accepted, and no attribute(s) will be proposed to | |
542 | the peer if you do not specify it(them). | |
543 | See the | |
544 | .Ic proposal_check | |
545 | directive. | |
546 | .\" | |
547 | .It Ic my_identifier Ar idtype ... ; | |
548 | is obsolete. | |
549 | It does not make sense to specify a identifier in the phase 2. | |
550 | .El | |
551 | .\" | |
552 | .Pp | |
553 | .Xr racoon 8 | |
554 | does not have the list of security protocols to be negotiated. | |
555 | The list of security protocols are passed by SPD in the kernel. | |
556 | Therefore you have to define all of the potential algorithms | |
557 | in the phase 2 proposals even if there is a algorithm which will not be used. | |
558 | These algorithms are define by using the following three directives, | |
559 | and they are lined with single comma as the separator. | |
560 | For algorithms that can take variable-length keys, algorithm names | |
561 | can be followed by a key length, like | |
562 | .Dq Li blowfish 448 . | |
563 | .Xr racoon 8 | |
564 | will compute the actual phase 2 proposals by computing | |
565 | the permutation of the specified algorithms, | |
566 | and then combining them with the security protocol specified by the SPD. | |
567 | For example, if | |
568 | .Ic des, 3des, hmac_md5, | |
569 | and | |
570 | .Ic hmac_sha1 | |
571 | are specified as algorithms, we have four combinations for use with ESP, | |
572 | and two for AH. | |
573 | Then, based on the SPD settings, | |
574 | .Xr racoon 8 | |
575 | will construct the actual proposals. | |
576 | If the SPD entry asks for ESP only, there will be 4 proposals. | |
577 | If it asks for both AH and ESP, there will be 8 proposals. | |
578 | Note that the kernel may not support the algorithm you have specified. | |
579 | .\" | |
580 | .Bl -tag -width Ds -compact | |
581 | .It Ic encryption_algorithm Ar algorithms ; | |
582 | .Ic des , 3des , des_iv64 , des_iv32 , | |
583 | .Ic rc5 , rc4 , idea , 3idea , | |
584 | .Ic cast128 , blowfish , null_enc , | |
585 | .Ic twofish , rijndael | |
586 | .Pq used with ESP | |
587 | .\" | |
588 | .It Ic authentication_algorithm Ar algorithms ; | |
589 | .Ic des , 3des , des_iv64 , des_iv32 , | |
590 | .Ic hmac_md5 , hmac_sha1 , non_auth | |
591 | .Pq used with ESP authentication and AH | |
592 | .\" | |
593 | .It Ic compression_algorithm Ar algorithms ; | |
594 | .Ic deflate | |
595 | .Pq used with IPComp | |
596 | .El | |
597 | .El | |
598 | .\" | |
599 | .Ss Logging level | |
600 | .Bl -tag -width Ds -compact | |
601 | .It Ic log Ar level ; | |
602 | define logging level. | |
603 | .Ar level | |
604 | is one of following: | |
605 | .Ic notify , debug | |
606 | and | |
607 | .Ic debug2 . | |
608 | The default is | |
609 | .Ic notify . | |
610 | If you put too high logging level on slower machines, | |
611 | IKE negotiation can fail due to timing constraint changes. | |
612 | .El | |
613 | .\" | |
614 | .Ss Specifying the way to pad | |
615 | .Bl -tag -width Ds -compact | |
616 | .It Ic padding { Ar statements Ic } | |
617 | specified padding format. | |
618 | The following are valid statements: | |
619 | .Bl -tag -width Ds -compact | |
620 | .It Ic randomize (on \(ba off) ; | |
621 | enable using a randomized value for padding. | |
622 | The default is on. | |
623 | .It Ic randomize_length (on \(ba off) ; | |
624 | the pad length is random. | |
625 | The default is off. | |
626 | .It Ic maximum_length Ar number ; | |
627 | define a maximum padding length. | |
628 | If | |
629 | .Ic randomize_length is off, this is ignored. | |
630 | The default is 20 bytes. | |
631 | .It Ic exclusive_tail (on \(ba off) ; | |
632 | means to put the number of pad bytes minus one into last part of the padding. | |
633 | The default is on. | |
634 | .It Ic strict_check (on \(ba off) ; | |
635 | means to be constrained the peer to set the number of pad bytes. | |
636 | The default is off. | |
637 | .El | |
638 | .El | |
639 | .Ss Special directives | |
640 | .Bl -tag -width Ds -compact | |
641 | .It Ic complex_bundle (on \(ba off) ; | |
642 | defines the interpretation of proposal in the case of SA bundle. | |
643 | Normally | |
644 | .Dq IP AH ESP IP payload | |
645 | is proposed as | |
646 | .Dq AH tunnel and ESP tunnel . | |
647 | The interpretation is more common to other IKE implementations, however, | |
648 | it allows very limited set of combinations for proposals. | |
649 | With the option enabled, it will be proposed as | |
650 | .Dq AH transport and ESP tunnel . | |
651 | The default value is | |
652 | .Ic off . | |
653 | .El | |
654 | .\" | |
655 | .Ss Pre-shared key File | |
656 | Pre-shared key file defines a pair of the identifier and the shared secret key | |
657 | which are used at Pre-shared key authentication method in phase 1. | |
658 | The pair in each lines are separated by some number of blanks and/or tab | |
659 | characters like | |
660 | .Xr hosts 5 . | |
661 | Key can be included any blanks because all of the words after 2nd column | |
662 | are interpreted as a secret key. | |
663 | Lines start with | |
664 | .Ql # | |
665 | are ignored. | |
666 | Keys which start with | |
667 | .Ql 0x | |
668 | are hexa-decimal strings. | |
669 | Note that the file must be owned by the user ID running | |
670 | .Xr racoon 8 | |
671 | .Pq usually the privileged user , | |
672 | and must not be accessible by others. | |
673 | .\" | |
ac2f15b3 | 674 | .Sh EXAMPLES |
7ba0088d A |
675 | The following shows how the remote directive should be configured. |
676 | .Bd -literal -offset | |
677 | path pre_shared_key "/usr/local/v6/etc/psk.txt" ; | |
678 | remote anonymous | |
679 | { | |
680 | exchange_mode aggressive,main,base; | |
681 | lifetime time 24 hour; | |
682 | proposal { | |
683 | encryption_algorithm 3des; | |
684 | hash_algorithm sha1; | |
685 | authentication_method pre_shared_key; | |
686 | dh_group 2; | |
687 | } | |
688 | } | |
689 | ||
690 | sainfo anonymous | |
691 | { | |
692 | pfs_group 2; | |
693 | lifetime time 12 hour ; | |
694 | encryption_algorithm 3des, blowfish 448, twofish, rijndael ; | |
695 | authentication_algorithm hmac_sha1, hmac_md5 ; | |
696 | compression_algorithm deflate ; | |
697 | } | |
698 | .Ed | |
ac2f15b3 | 699 | .Pp |
7ba0088d A |
700 | The following is a sample of the file defined pre-shared key. |
701 | .Bd -literal -offset | |
702 | 10.160.94.3 mekmitasdigoat | |
703 | 172.16.1.133 0x12345678 | |
704 | 194.100.55.1 whatcertificatereally | |
705 | 3ffe:501:410:ffff:200:86ff:fe05:80fa mekmitasdigoat | |
706 | 3ffe:501:410:ffff:210:4bff:fea2:8baa mekmitasdigoat | |
707 | foo@kame.net mekmitasdigoat | |
708 | foo.kame.net hoge | |
709 | .Ed | |
710 | .\" | |
711 | .Sh SEE ALSO | |
712 | .\".Xr racoonctl 8 , | |
713 | .Xr racoon 8 , | |
714 | .Xr setkey 8 | |
715 | .\" | |
716 | .Sh HISTORY | |
717 | The | |
718 | .Nm | |
719 | configuration file first appeared in | |
720 | .Dq YIPS | |
721 | Yokogawa IPsec implementation. | |
722 | .\" | |
723 | .Sh BUGS | |
724 | Some statements may not be handled by | |
725 | .Xr racoon 8 | |
726 | yet. |