1RACOON.CONF(5) BSD File Formats Manual RACOON.CONF(5)
2
4 racoon.conf — configuration file for racoon
5
7 racoon.conf is the configuration file for the racoon(8) ISAKMP daemon.
8 racoon(8) negotiates security associations for itself (ISAKMP SA, or
9 phase 1 SA) and for kernel IPsec (IPsec SA, or phase 2 SA). The file
10 consists of a sequence of directives and statements. Each directive is
11 composed by a tag and statements, enclosed by ‘{’ and ‘}’. Lines begin‐
12 ning with ‘#’ are comments.
13
14 Meta Syntax
15 Keywords and special characters that the parser expects exactly are dis‐
16 played using this font. Parameters are specified with this font. Square
17 brackets (‘[’ and ‘]’) are used to show optional keywords and parameters.
18 Note that you have to pay attention when this manual is describing port
19 numbers. The port number is always enclosed by ‘[’ and ‘]’. In this
20 case, the port number is not an optional keyword. If it is possible to
21 omit the port number, the expression becomes [[port]]. The vertical bar
22 (‘|’) is used to indicate a choice between optional parameters. Paren‐
23 theses (‘(’ and ‘)’) are used to group keywords and parameters when nec‐
24 essary. Major parameters are listed below.
25
26 number means a hexadecimal or a decimal number. The former must be
27 prefixed with ‘0x’.
28 string
29 path
30 file means any string enclosed in ‘"’ (double quotes).
31 address means IPv6 and/or IPv4 address.
32 port means a TCP/UDP port number. The port number is always
33 enclosed by ‘[’ and ‘]’.
34 timeunit is one of following: sec, secs, second, seconds, min, mins,
35 minute, minutes, hour, hours.
36
37 Privilege separation
38 privsep { statements }
39 specifies privilege separation parameters. When enabled, these
40 enable racoon(8) to operate with an unprivileged instance doing
41 most of the work, while a privileged instance takes care of per‐
42 forming the following operations as root: reading PSK and private
43 keys, launching hook scripts, and validating passwords against
44 system databases or against PAM.
45
46 user user;
47 The user to which the unprivileged instance of racoon(8),
48 should switch. This can be a quoted user name or a
49 numeric UID.
50 group group;
51 The group to which the unprivileged instance of
52 racoon(8), should switch. This can be a quoted group
53 name or a numeric GID.
54 chroot path;
55 A directory to which the unprivileged instance of
56 racoon(8) should chroot(2). This directory should hold a
57 tree where the following files must be reachable:
58 /dev/random
59 /dev/urandom
60 the certificates
61 the file containing the Xauth banner
62
63 The PSK file, the private keys, and the hook scripts are
64 accessed through the privileged instance of racoon(8) and
65 do not need to be reachable in the chroot(2)'ed tree.
66
67 Path Specification
68 This section specify various paths used by racoon. When running in priv‐
69 ilege separation mode, certificate and script paths are mandatory.
70 path include path;
71 specifies a path to include a file. See File Inclusion.
72 path pre_shared_key file;
73 specifies a file containing pre-shared key(s) for various ID(s).
74 See Pre-shared key File.
75 path certificate path;
76 racoon(8) will search this directory if a certificate or certifi‐
77 cate request is received. If you run with privilege separation,
78 racoon(8) will refuse to use a certificate stored outside of this
79 directory.
80 path backupsa file;
81 specifies a file to which SA information which is negotiated by
82 racoon should be stored. racoon(8) will install SA(s) from the
83 file when started with the -B flag. The file is growing because
84 racoon(8) simply adds SAs to it. You should maintain the file
85 manually.
86 path script path;
87 racoon(8) will search this directory for scripts hooks. If you
88 run with privilege separation, racoon(8) will refuse to execute a
89 script stored outside of this directory.
90 path pidfile file;
91 specifies file where to store PID of process. If path starts
92 with / it is treated as an absolute path, otherwise relative to
93 VARRUN directory specified at compilation time. Default is
94 racoon.pid.
95
96 File Inclusion
97 include file
98 other configuration files can be included.
99
100 Identifier Specification
101 is obsolete. It must be defined at each remote directive.
102
103 Timer Specification
104 timer { statements }
105 specifies various timer values.
106
107 counter number;
108 the maximum number of retries to send. The default is 5.
109 interval number timeunit;
110 the interval to resend, in seconds. The default time is
111 10 seconds.
112 persend number;
113 the number of packets per send. The default is 1.
114 phase1 number timeunit;
115 the maximum time it should take to complete phase 1. The
116 default time is 15 seconds.
117 phase2 number timeunit;
118 the maximum time it should take to complete phase 2. The
119 default time is 10 seconds.
120 natt_keepalive number timeunit;
121 interval between sending NAT-Traversal keep-alive pack‐
122 ets. The default time is 20 seconds. Set to 0s to dis‐
123 able keep-alive packets.
124
125 Listening Port Specification
126 listen { statements }
127 If no listen directive is specified, racoon(8) will listen on all
128 available interface addresses. The following is the list of
129 valid statements:
130
131 isakmp address [[port]];
132 If this is specified, racoon(8) will only listen on
133 address. The default port is 500, which is specified by
134 IANA. You can provide more than one address definition.
135 isakmp_natt address [port];
136 Same as isakmp but also sets the socket options to accept
137 UDP-encapsulated ESP traffic for NAT-Traversal. If you
138 plan to use NAT-T, you should provide at least one
139 address with port 4500, which is specified by IANA.
140 There is no default.
141 strict_address;
142 require that all addresses for ISAKMP must be bound.
143 This statement will be ignored if you do not specify any
144 address.
145 The listen section can also be used to specify the admin socket
146 mode and ownership, if racoon was built with support for admin
147 port.
148 adminsock path [owner group mode];
149 path, owner, and group are the socket path, owner, and
150 group; they must be quoted. Defaults are
151 /var/racoon/racoon.sock, UID 0, and GID 0. mode is the
152 access mode in octal, default is 0600.
153 adminsock disabled;
154 This directive tells racoon to not listen on the admin
155 socket.
156
157 Miscellaneous Global Parameters
158 gss_id_enc enctype;
159 Older versions of racoon(8) used ISO-Latin-1 as the encoding of
160 the GSS-API identifier attribute. For interoperability with Mi‐
161 crosoft Windows' GSS-API authentication scheme, the default
162 encoding has been changed to UTF-16LE. The gss_id_enc parameter
163 allows racoon(8) to be configured to use the old encoding for
164 compatibility with existing racoon(8) installations. The follow‐
165 ing are valid values for enctype:
166
167 utf-16le
168 Use UTF-16LE to encode the GSS-API identifier attribute.
169 This is the default encoding. This encoding is compati‐
170 ble with Microsoft Windows.
171 latin1 Use ISO-Latin-1 to encode the GSS-API identifier
172 attribute. This is the encoding used by older versions
173 of racoon(8).
174
175 Remote Nodes Specifications
176 remote (address | anonymous) [[port]] [inherit parent] { statements }
177 specifies the parameters for IKE phase 1 for each remote node.
178 The default port is 500. If anonymous is specified, the state‐
179 ments apply to all peers which do not match any other remote
180 directive.
181
182 Sections with inherit parent statements (where parent is either
183 address or a keyword anonymous) have all values predefined to
184 those of a given parent. In these sections it is enough to rede‐
185 fine only the changed parameters.
186
187 The following are valid statements.
188
189 exchange_mode (main | aggressive | base);
190 defines the exchange mode for phase 1 when racoon is the
191 initiator. It also means the acceptable exchange mode
192 when racoon is responder. More than one mode can be
193 specified by separating them with a comma. All of the
194 modes are acceptable. The first exchange mode is what
195 racoon uses when it is the initiator.
196 doi ipsec_doi;
197 means to use IPsec DOI as specified in RFC 2407. You can
198 omit this statement.
199 situation identity_only;
200 means to use SIT_IDENTITY_ONLY as specified in RFC 2407.
201 You can omit this statement.
202 identifier idtype;
203 is obsolete. Instead, use my_identifier.
204 my_identifier idtype ...;
205 specifies the identifier sent to the remote host and the
206 type to use in the phase 1 negotiation. address, fqdn,
207 user_fqdn, keyid, and asn1dn can be used as an idtype.
208 Use them in the following way:
209 my_identifier address [address];
210 the type is the IP address. This is the default
211 type if you do not specify an identifier to use.
212 my_identifier user_fqdn string;
213 the type is a USER_FQDN (user fully-qualified
214 domain name).
215 my_identifier fqdn string;
216 the type is a FQDN (fully-qualified domain name).
217 my_identifier keyid file;
218 the type is a KEY_ID.
219 my_identifier asn1dn [string];
220 the type is an ASN.1 distinguished name. If
221 string is omitted, racoon(8) will get the DN from
222 the Subject field in the certificate.
223 xauth_login [string];
224 specifies the login to use in client-side Hybrid authen‐
225 tication. It is available only if racoon(8) has been
226 built with this option. The associated password is
227 looked up in the pre-shared key files, using the login
228 string as the key id.
229 peers_identifier idtype ...;
230 specifies the peer's identifier to be received. If it is
231 not defined then racoon(8) will not verify the peer's
232 identifier in ID payload transmitted from the peer. If
233 it is defined, the behavior of the verification depends
234 on the flag of verify_identifier. The usage of idtype is
235 the same as my_identifier except that the individual com‐
236 ponent values of an asn1dn identifier may specified as *
237 to match any value (e.g. "C=XX, O=MyOrg, OU=*, CN=Mine").
238 Alternative acceptable peer identifiers may be specified
239 by repeating the peers_identifier statement.
240 verify_identifier (on | off);
241 If you want to verify the peer's identifier, set this to
242 on. In this case, if the value defined by
243 peers_identifier is not the same as the peer's identifier
244 in the ID payload, the negotiation will failed. The
245 default is off.
246 certificate_type certspec;
247 specifies a certificate specification. certspec is one
248 of followings:
249 x509 certfile privkeyfile;
250 certfile means a file name of a certificate.
251 privkeyfile means a file name of a secret key.
252 ca_type cacertspec;
253 specifies a root certificate authority specification.
254 cacertspec is one of followings:
255 x509 cacertfile;
256 cacertfile means a file name of the root certifi‐
257 cate authority. Default is /etc/openssl/cert.pem
258 mode_cfg (on | off);
259 Gather network information through ISAKMP mode configura‐
260 tion. Default is off.
261 peers_certfile (dnssec | certfile);
262 If dnssec is defined, racoon(8) will ignore the CERT pay‐
263 load from the peer, and try to get the peer's certificate
264 from DNS instead. If certfile is defined, racoon(8) will
265 ignore the CERT payload from the peer, and will use this
266 certificate as the peer's certificate.
267 script script phase1_up
268 script script phase1_down
269 Shell scripts that get executed when a phase 1 SA goes up
270 or down. Both scripts get either phase1_up or
271 phase1_down as first argument, and the following vari‐
272 ables are set in their environment:
273 LOCAL_ADDR
274 The local address of the phase 1 SA.
275 LOCAL_PORT
276 The local port used for IKE for the phase 1 SA.
277 REMOTE_ADDR
278 The remote address of the phase 1 SA.
279 REMOTE_PORT
280 The remote port used for IKE for the phase 1 SA.
281 The following variables are only set if mode_cfg was
282 enabled:
283 INTERNAL_ADDR4
284 An IPv4 internal address obtained by ISAKMP mode
285 config.
286 INTERNAL_NETMASK4
287 An IPv4 internal netmask obtained by ISAKMP mode
288 config.
289 INTERNAL_DNS4
290 Internal DNS server IPv4 address obtained by
291 ISAKMP mode config.
292 INTERNAL_NBNS4
293 Internal WINS server IPv4 address obtained by
294 ISAKMP mode config.
295 send_cert (on | off);
296 If you do not want to send a certificate for some reason,
297 set this to off. The default is on.
298 send_cr (on | off);
299 If you do not want to send a certificate request for some
300 reason, set this to off. The default is on.
301 verify_cert (on | off);
302 If you do not want to verify the peer's certificate for
303 some reason, set this to off. The default is on.
304 lifetime time number timeunit;
305 Define a lifetime of a certain time which will be pro‐
306 posed in the phase 1 negotiations. Any proposal will be
307 accepted, and the attribute(s) will be not proposed to
308 the peer if you do not specify it (them). They can be
309 individually specified in each proposal.
310 ike_frag (on | off);
311 Enable receiver-side IKE fragmentation, if racoon(8) has
312 been built with this feature. This extension is there to
313 work around broken firewalls that do not work with frag‐
314 mented UDP packets. IKE fragmentation is always enabled
315 on the sender-side, and it is used if the peer advertises
316 itself as IKE fragmentation capable.
317 esp_frag fraglen;
318 This option is only relevant if you use NAT traversal in
319 tunnel mode. Its purpose is to work around broken DSL
320 routers that reject UDP fragments, by fragmenting the IP
321 packets before ESP encapsulation. The result is ESP over
322 UDP of fragmented packets instead of fragmented ESP over
323 UDP packets (i.e., IP:UDP:ESP:frag(IP) instead of
324 frag(IP:UDP:ESP:IP)). fraglen is the maximum size of the
325 fragments. 552 should work anywhere, but the higher
326 fraglen is, the better is the performance.
327
328 Note that because PMTU discovery is broken on many sites,
329 you will have to use MSS clamping if you want TCP to work
330 correctly.
331 initial_contact (on | off);
332 enable this to send an INITIAL-CONTACT message. The
333 default value is on. This message is useful only when
334 the implementation of the responder chooses an old SA
335 when there are multiple SAs with different established
336 time, and the initiator reboots. If racoon did not send
337 the message, the responder would use an old SA even when
338 a new SA was established. The KAME stack has the switch
339 in the system wide value net.key.preferred_oldsa. when
340 the value is zero, the stack always uses a new SA.
341 passive (on | off);
342 If you do not want to initiate the negotiation, set this
343 to on. The default value is off. It is useful for a
344 server.
345 proposal_check level;
346 specifies the action of lifetime length and PFS of the
347 phase 2 selection on the responder side, and the action
348 of lifetime check in phase 1. The default level is
349 strict. If the level is:
350 obey the responder will obey the initiator anytime.
351 strict If the responder's length is longer than the ini‐
352 tiator's one, the responder uses the initiator's
353 one. Otherwise it rejects the proposal. If PFS
354 is not required by the responder, the responder
355 will obey the proposal. If PFS is required by
356 both sides and if the responder's group is not
357 equal to the initiator's one, then the responder
358 will reject the proposal.
359 claim If the responder's length is longer than the ini‐
360 tiator's one, the responder will use the initia‐
361 tor's one. If the responder's length is shorter
362 than the initiator's one, the responder uses its
363 own length AND sends a RESPONDER-LIFETIME notify
364 message to an initiator in the case of lifetime
365 (phase 2 only). For PFS, this directive behaves
366 the same as strict.
367 exact If the initiator's length is not equal to the
368 responder's one, the responder will reject the
369 proposal. If PFS is required by both sides and
370 if the responder's group is not equal to the ini‐
371 tiator's one, then the responder will reject the
372 proposal.
373 support_proxy (on | off);
374 If this value is set to on, then both values of ID pay‐
375 loads in the phase 2 exchange are always used as the
376 addresses of end-point of IPsec-SAs. The default is off.
377 generate_policy (on | off);
378 This directive is for the responder. Therefore you
379 should set passive to on in order that racoon(8) only
380 becomes a responder. If the responder does not have any
381 policy in SPD during phase 2 negotiation, and the direc‐
382 tive is set to on, then racoon(8) will choose the first
383 proposal in the SA payload from the initiator, and gener‐
384 ate policy entries from the proposal. It is useful to
385 negotiate with clients whose IP address is allocated
386 dynamically. Note that an inappropriate policy might be
387 installed into the responder's SPD by the initiator, so
388 other communications might fail if such policies are
389 installed due to a policy mismatch between the initiator
390 and the responder. This directive is ignored in the ini‐
391 tiator case. The default value is off.
392 nat_traversal (on | off | force);
393 This directive enables use of the NAT-Traversal IPsec
394 extension (NAT-T). NAT-T allows one or both peers to
395 reside behind a NAT gateway (i.e., doing address- or
396 port-translation). Presence of NAT gateways along the
397 path is discovered during phase 1 handshake and if found,
398 NAT-T is negotiated. When NAT-T is in charge, all ESP
399 and AH packets of a given connection are encapsulated
400 into UDP datagrams (port 4500, by default). Possible
401 values are:
402 on NAT-T is used when a NAT gateway is detected
403 between the peers.
404 off NAT-T is not proposed/accepted. This is the
405 default.
406 force NAT-T is used regardless if a NAT is detected
407 between the peers or not.
408 Please note that NAT-T support is a compile-time option.
409 Although it is enabled in the source distribution by
410 default, it may not be available in your particular
411 build. In that case you will get a warning when using
412 any NAT-T related config options.
413 dpd_delay delay;
414 This option activates the DPD and sets the time (in sec‐
415 onds) allowed between 2 proof of liveness requests. The
416 default value is 0, which disables DPD monitoring, but
417 still negotiates DPD support.
418 dpd_retry delay;
419 If dpd_delay is set, this sets the delay (in seconds) to
420 wait for a proof of liveness before considering it as
421 failed and send another request. The default value is 5.
422 dpd_maxfail number;
423 If dpd_delay is set, this sets the maximum number of
424 proof of liveness to request (without reply) before con‐
425 sidering the peer is dead. The default value is 5.
426 nonce_size number;
427 define the byte size of nonce value. Racoon can send any
428 value although RFC2409 specifies that the value MUST be
429 between 8 and 256 bytes. The default size is 16 bytes.
430 proposal { sub-substatements }
431 encryption_algorithm algorithm;
432 specify the encryption algorithm used for the
433 phase 1 negotiation. This directive must be
434 defined. algorithm is one of following: des,
435 3des, blowfish, cast128, aes for Oakley. For
436 other transforms, this statement should not be
437 used.
438 hash_algorithm algorithm;
439 define the hash algorithm used for the phase 1
440 negotiation. This directive must be defined.
441 algorithm is one of following: md5, sha1, sha256,
442 sha384, sha512 for Oakley.
443 authentication_method type;
444 defines the authentication method used for the
445 phase 1 negotiation. This directive must be
446 defined. type is one of: pre_shared_key, rsasig,
447 gssapi_krb, hybrid_rsa_server, or
448 hybrid_rsa_client.
449 dh_group group;
450 define the group used for the Diffie-Hellman
451 exponentiations. This directive must be defined.
452 group is one of following: modp768, modp1024,
453 modp1536, modp2048, modp3072, modp4096, modp6144,
454 modp8192. Or you can define 1, 2, 5, 14, 15, 16,
455 17, or 18 as the DH group number. When you want
456 to use aggressive mode, you must define the same
457 DH group in each proposal.
458 lifetime time number timeunit;
459 define lifetime of the phase 1 SA proposal.
460 Refer to the description of the lifetime direc‐
461 tive defined in the remote directive.
462 gss_id string;
463 define the GSS-API endpoint name, to be included
464 as an attribute in the SA, if the gssapi_krb
465 authentication method is used. If this is not
466 defined, the default value of ‘host/hostname’ is
467 used, where hostname is the value returned by the
468 hostname(1) command.
469
470 Policy Specifications
471 The policy directive is obsolete, policies are now in the SPD. racoon(8)
472 will obey the policy configured into the kernel by setkey(8), and will
473 construct phase 2 proposals by combining sainfo specifications in
474 racoon.conf, and policies in the kernel.
475
476 Sainfo Specifications
477 sainfo (source_id destination_id | anonymous) [from idtype [string]] {
478 statements }
479 defines the parameters of the IKE phase 2 (IPsec-SA establish‐
480 ment). source_id and destination_id are constructed like:
481
482 address address [/ prefix] [[port]] ul_proto
483
484 or
485
486 subnet address [/ prefix] [[port]] ul_proto
487
488 or
489
490 idtype string
491
492 It means exactly the content of ID payload. This is not like a
493 filter rule. For example, if you define 3ffe:501:4819::/48 as
494 source_id. 3ffe:501:4819:1000:/64 will not match.
495
496 In case of longest prefix (selecting single host) address
497 instructs to send ID type of ADDRESS, while subnet instructs to
498 send ID type of SUBNET. Otherwise these instructions are identi‐
499 cal.
500
501 pfs_group group;
502 define the group of Diffie-Hellman exponentiations. If
503 you do not require PFS then you can omit this directive.
504 Any proposal will be accepted if you do not specify one.
505 group is one of following: modp768, modp1024, modp1536,
506 modp2048, modp3072, modp4096, modp6144, modp8192. Or you
507 can define 1, 2, 5, 14, 15, 16, 17, or 18 as the DH group
508 number.
509 lifetime time number timeunit;
510 define how long an IPsec-SA will be used, in timeunits.
511 Any proposal will be accepted, and no attribute(s) will
512 be proposed to the peer if you do not specify it(them).
513 See the proposal_check directive.
514 my_identifier idtype ...;
515 is obsolete. It does not make sense to specify an iden‐
516 tifier in the phase 2.
517
518 racoon(8) does not have a list of security protocols to be nego‐
519 tiated. The list of security protocols are passed by SPD in the
520 kernel. Therefore you have to define all of the potential algo‐
521 rithms in the phase 2 proposals even if there are algorithms
522 which will not be used. These algorithms are define by using the
523 following three directives, with a single comma as the separator.
524 For algorithms that can take variable-length keys, algorithm
525 names can be followed by a key length, like “blowfish 448”.
526 racoon(8) will compute the actual phase 2 proposals by computing
527 the permutation of the specified algorithms, and then combining
528 them with the security protocol specified by the SPD. For exam‐
529 ple, if des, 3des, hmac_md5, and hmac_sha1 are specified as algo‐
530 rithms, we have four combinations for use with ESP, and two for
531 AH. Then, based on the SPD settings, racoon(8) will construct
532 the actual proposals. If the SPD entry asks for ESP only, there
533 will be 4 proposals. If it asks for both AH and ESP, there will
534 be 8 proposals. Note that the kernel may not support the algo‐
535 rithm you have specified.
536 encryption_algorithm algorithms;
537 des, 3des, des_iv64, des_iv32, rc5, rc4, idea, 3idea,
538 cast128, blowfish, null_enc, twofish, rijndael, aes (used
539 with ESP)
540 authentication_algorithm algorithms;
541 des, 3des, des_iv64, des_iv32, hmac_md5, hmac_sha1,
542 hmac_sha256, hmac_sha384, hmac_sha512, non_auth (used
543 with ESP authentication and AH)
544 compression_algorithm algorithms;
545 deflate (used with IPComp)
546
547 Logging level
548 log level;
549 define logging level. level is one of following: notify, debug,
550 and debug2. The default is notify. If you set the logging level
551 too high on slower machines, IKE negotiation can fail due to tim‐
552 ing constraint changes.
553
554 Specifying the way to pad
555 padding { statements }
556 specified padding format. The following are valid statements:
557 randomize (on | off);
558 enable using a randomized value for padding. The default
559 is on.
560 randomize_length (on | off);
561 the pad length is random. The default is off.
562 maximum_length number;
563 define a maximum padding length. If randomize_length is
564 off, this is ignored. The default is 20 bytes.
565 exclusive_tail (on | off);
566 means to put the number of pad bytes minus one into the
567 last part of the padding. The default is on.
568 strict_check (on | off);
569 means to constrain the peer to set the number of pad
570 bytes. The default is off.
571
572 ISAKMP mode configuration settings
573 mode_cfg { statements }
574 Defines the information to return for remote hosts' ISAKMP mode
575 config requests. Also defines the authentication source for
576 remote peers authenticating through hybrid auth.
577
578 The following are valid statements:
579 auth_source (system | radius | pam);
580 Specify the source for authentication of users through
581 hybrid auth. system means to use the Unix user database.
582 This is the default. radius means to use a RADIUS
583 server. It works only if racoon(8) was built with libra‐
584 dius support, and the configuration is done in
585 radius.conf(5). pam means to use PAM. It works only if
586 racoon(8) was built with libpam support.
587 conf_source (local | radius);
588 Specify the source for IP addresses and netmask allocated
589 through ISAKMP mode config. local means to use the local
590 IP pool defined by the network4 and pool_size keywords.
591 This is the default. radius means to use a RADIUS
592 server. It works only if racoon(8) was built with libra‐
593 dius support, and the configuration is done in
594 radius.conf(5). RADIUS configuration requires RADIUS
595 authentication.
596 accounting (none | radius | pam);
597 Enable or disable accounting for Xauth logins and
598 logouts. Default is none, which disable accounting.
599 radius enable RADIUS accounting. It works only if
600 racoon(8) was built with libradius support, and the con‐
601 figuration is done in radius.conf(5). RADIUS accounting
602 require RADIUS authentication. pam enable PAM account‐
603 ing. It works only if racoon(8) was built with libpam
604 support. PAM accounting requires PAM authentication.
605 pool_size size
606 Specify the size of the IP address pool, either local or
607 allocated through RADIUS. conf_source selects the local
608 pool or the RADIUS configuration, but in both configura‐
609 tions, you cannot have more than size users connected at
610 the same time. The default is 255.
611 network4 address;
612 netmask4 address;
613 The local IP pool base address and network mask from
614 which dynamically allocated IPv4 addresses should be
615 taken. This is used if conf_source is set to local or if
616 the RADIUS server returned 255.255.255.254. Default is
617 0.0.0.0/0.0.0.0.
618 dns4 address;
619 The IPv4 address for a DNS server.
620 nbns4 address;
621 The IPv4 address for a WINS server.
622 banner path;
623 The path of a file displayed on the client at connection
624 time. Default is /etc/motd.
625 auth_throttle delay;
626 On each failed Xauth authentication attempt, refuse new
627 attempts for delay more seconds. This is to avoid dic‐
628 tionary attacks on Xauth passwords. Default is one sec‐
629 ond. Set to zero to disable authentication delay.
630 pfs_group group;
631 Sets the PFS group used in the client proposal (Cisco VPN
632 client only). Default is 0.
633 save_passwd (on | off);
634 Allow the client to save the Xauth password (Cisco VPN
635 client only). Default is off.
636
637 Special directives
638 complex_bundle (on | off);
639 defines the interpretation of proposal in the case of SA bundle.
640 Normally “IP AH ESP IP payload” is proposed as “AH tunnel and ESP
641 tunnel”. The interpretation is more common to other IKE imple‐
642 mentations, however, it allows very limited set of combinations
643 for proposals. With the option enabled, it will be proposed as
644 “AH transport and ESP tunnel”. The default value is off.
645
646 Pre-shared key File
647 The pre-shared key file defines pairs of identifiers and corresponding
648 shared secret keys which are used in the pre-shared key authentication
649 method in phase 1. The pair in each line is separated by some number of
650 blanks and/or tab characters like in the hosts(5) file. Key can include
651 blanks because everything after the first blanks is interpreted as the
652 secret key. Lines starting with ‘#’ are ignored. Keys which start with
653 ‘0x’ are interpreted as hexadecimal strings. Note that the file must be
654 owned by the user ID running racoon(8) (usually the privileged user), and
655 must not be accessible by others.
656
658 The following shows how the remote directive should be configured.
659
660 path pre_shared_key "/usr/local/v6/etc/psk.txt" ;
661 remote anonymous
662 {
663 exchange_mode aggressive,main,base;
664 lifetime time 24 hour;
665 proposal {
666 encryption_algorithm 3des;
667 hash_algorithm sha1;
668 authentication_method pre_shared_key;
669 dh_group 2;
670 }
671 }
672
673 sainfo anonymous
674 {
675 pfs_group 2;
676 lifetime time 12 hour ;
677 encryption_algorithm 3des, blowfish 448, twofish, rijndael ;
678 authentication_algorithm hmac_sha1, hmac_md5 ;
679 compression_algorithm deflate ;
680 }
681
682 The following is a sample for the pre-shared key file.
683
684 10.160.94.3 mekmitasdigoat
685 172.16.1.133 0x12345678
686 194.100.55.1 whatcertificatereally
687 3ffe:501:410:ffff:200:86ff:fe05:80fa mekmitasdigoat
688 3ffe:501:410:ffff:210:4bff:fea2:8baa mekmitasdigoat
689 foo@kame.net mekmitasdigoat
690 foo.kame.net hoge
691
693 racoon(8), racoonctl(8), setkey(8)
694
696 The racoon.conf configuration file first appeared in the “YIPS” Yokogawa
697 IPsec implementation.
698
700 Some statements may not be handled by racoon(8) yet.
701
702 Diffie-Hellman computation can take a very long time, and may cause
703 unwanted timeouts, specifically when a large D-H group is used.
704
706 The use of IKE phase 1 aggressive mode is not recommended, as described
707 in http://www.kb.cert.org/vuls/id/886601.
708
709BSD November 23, 2004 BSD