1 .\" $NetBSD: racoon.conf.5,v 1.34.4.2 2007/07/18 22:53:03 mgrooms Exp $
3 .\" Id: racoon.conf.5,v 1.54 2006/08/22 18:17:17 manubsd Exp
5 .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 .\" All rights reserved.
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\" notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\" notice, this list of conditions and the following disclaimer in the
15 .\" documentation and/or other materials provided with the distribution.
16 .\" 3. Neither the name of the project 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.
20 .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT 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 PROJECT 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
32 .Dd September 19, 2006
38 .Nd configuration file for racoon
44 is the configuration file for the
48 negotiates security associations for itself (ISAKMP SA, or phase 1 SA)
49 and for kernel IPsec (IPsec SA, or phase 2 SA).
50 The file consists of a sequence of directives and statements.
51 Each directive is composed by a tag and statements, enclosed by
60 Keywords and special characters that the parser expects exactly are
64 Parameters are specified with
73 are used to show optional keywords and parameters.
75 you have to pay attention when this manual is describing
80 number is always enclosed by
84 In this case, the port number is not an optional keyword.
85 If it is possible to omit the
88 the expression becomes
93 a choice between optional parameters.
100 are used to group keywords and parameters when necessary.
101 Major parameters are listed below.
103 .Bl -tag -width addressx -compact
105 means a hexadecimal or a decimal number.
106 The former must be prefixed with
111 means any string enclosed in
115 means IPv6 and/or IPv4 address.
117 means a TCP/UDP port number.
118 The port number is always enclosed by
124 .Ic sec , secs , second , seconds ,
125 .Ic min , mins , minute , minutes ,
129 .Ss Path Specification
130 This section specifies various paths used by racoon.
131 When running in privilege separation mode,
135 paths are mandatory. A
137 restart is required if you want path changes to be taken into account.
138 .Bl -tag -width Ds -compact
139 .It Ic path include Ar path ;
140 Specifies a path to include a file.
143 .It Ic path pre_shared_key Ar file ;
144 Specifies a file containing pre-shared key(s) for various ID(s).
146 .Sx Pre-shared key File .
147 .It Ic path pidfile Ar file ;
148 Specifies file where to store PID of process.
151 it is treated as an absolute path. Otherwise, it is treated as a relative
152 path to the VARRUN directory specified at compilation time.
155 .It Ic path logfile Ar file ;
156 Specifies a file to which logs generated by
159 When the file's size exceeds 200KB,
161 will trim the logfile by dropping the oldest events.
164 it is treated as an absolute path. Otherwise, it is treated as a relative
165 path to the VARRUN directory specified at compilation time.
169 .Bl -tag -width Ds -compact
170 .It Ic include Ar file
171 Specifies other configuration files to be included.
174 .Ss Identifier Specification
176 It must be defined at each
180 .Ss Timer Specification
181 .Bl -tag -width Ds -compact
182 .It Ic timer { Ar statements Ic }
183 This section specifies various timer values used by racoon.
185 .Bl -tag -width Ds -compact
186 .It Ic counter Ar number ;
187 The maximum number of retries to send.
189 .It Ic interval Ar number Ar timeunit ;
190 The interval to resend, in seconds.
191 The default time is 10 seconds.
192 .It Ic persend Ar number ;
193 The number of packets per send.
195 .It Ic phase1 Ar number Ar timeunit ;
196 The maximum time it should take to complete phase 1.
197 The default time is 15 seconds.
198 .It Ic phase2 Ar number Ar timeunit ;
199 The maximum time it should take to complete phase 2.
200 The default time is 10 seconds.
201 .It Ic natt_keepalive Ar number Ar timeunit ;
202 The interval between sending NAT-Traversal keep-alive packets.
203 The default time is 20 seconds.
204 Set to 0s to disable keep-alive packets.
208 .Ss Listening Port Specification
209 .Bl -tag -width Ds -compact
210 .It Ic listen { Ar statements Ic }
213 directive is specified,
215 will listen on all available interface addresses.
216 The following is the list of valid statements:
218 .Bl -tag -width Ds -compact
219 .\" How do I express bold brackets; `[' and `]' .
220 .\" Answer: For bold brackets, do "Ic \&[ foo \&]".
221 .\" Is the "Bq Ic [ Ar port ] ;" buggy ?
222 .It Ic isakmp Ar address Bq Bq Ar port ;
223 If this is specified,
225 will only listen on the defined
227 The default port is 500, which is specified by IANA.
228 You can provide more than one address definition.
229 .It Ic isakmp_natt Ar address Bq Ar port ;
232 but also sets the socket options to accept UDP-encapsulated ESP traffic for
234 If you plan to use NAT-T, you should provide at least one address
235 with port 4500, which is specified by IANA.
237 .It Ic strict_address ;
238 Requires that all addresses for ISAKMP be bound.
239 This statement will be ignored if you do not specify address definitions.
243 .Ss Remote Nodes Specifications
244 .Bl -tag -width Ds -compact
246 .Ic remote ( Ar address | Ic anonymous )
248 .Bq Ic inherit Ar parent
249 .Ic { Ar statements Ic }
251 Specifies the IKE phase 1 parameters for each remote node.
252 The default port is 500.
255 is specified, the statements will apply to any peer that does not match a
261 .Ic inherit Ar parent
268 that have all values predefined to those of a given
270 In these sections it is enough to redefine only the changed parameters.
272 The following are valid statements.
274 .Bl -tag -width Ds -compact
276 .It Ic exchange_mode ( main | aggressive | base ) ;
277 Defines the exchange mode for phase 1 when racoon is the initiator.
278 It also means the acceptable exchange mode when racoon is the responder.
279 More than one mode can be specified by separating them with a comma.
280 All of the modes are acceptable.
281 The first exchange mode is what racoon uses when it is the initiator.
283 .It Ic doi Ic ipsec_doi ;
284 Means to use IPsec DOI as specified in RFC 2407.
285 You can omit this statement.
287 .It Ic situation Ic identity_only ;
288 Means to use SIT_IDENTITY_ONLY as specified in RFC 2407.
289 You can omit this statement.
291 .It Ic identifier Ar idtype ;
292 This statment is obsolete. Instead, use
296 .Ic my_identifier Bq Ar qualifier
299 Specifies the identifier sent to the remote host
300 and the type to use in the phase 1 negotiation.
301 .Ic address, fqdn , user_fqdn , keyid ,
308 is currently only used for
314 The possible values are :
315 .Bl -tag -width Ds -compact
316 .It Ic my_identifier Ic address Bq Ar address ;
317 The type is the IP address.
318 This is the default type if you do not specify an identifier to use.
319 .It Ic my_identifier Ic user_fqdn Ar string ;
320 The type is a USER_FQDN (user fully-qualified domain name).
321 .It Ic my_identifier Ic fqdn Ar string ;
322 The type is a FQDN (fully-qualified domain name).
324 .Ic my_identifier Ic keyid Bq Ic file
327 The type is a KEY_ID, read from the file.
328 .It Ic my_identifier Ic keyid Ic tag Ar string ;
329 The type is a KEY_ID, specified in the quoted string.
330 .It Ic my_identifier Ic asn1dn Bq Ar string ;
331 The type is an ASN.1 distinguished name.
336 will get the DN from the Subject field in the certificate.
339 .It Ic xauth_login Bq Ar string ;
340 Specifies the login to use in client-side Hybrid authentication.
341 It is available only if
343 has been built with this option.
344 The associated password is looked up in the pre-shared key files,
349 .It Ic peers_identifier Ar idtype ... ;
350 Specifies the peer's identifier to be received.
351 If it is not defined then
353 will not verify the peer's identifier in ID payload transmitted from the peer.
354 If it is defined, the behavior of the verification depends on the flag of
355 .Ic verify_identifier .
360 except that the individual component values of an
362 identifier may specified as
364 to match any value (e.g. "C=XX, O=MyOrg, OU=*, CN=Mine").
365 Alternative acceptable peer identifiers may be specified by repeating the
369 .It Ic verify_identifier (on | off) ;
370 If you want to verify the peer's identifier,
372 In this case, if the value defined by
374 is not the same as the peer's identifier in the ID payload,
375 the negotiation will fail.
378 .It Ic certificate_type Ar certspec ;
379 Specifies a certificate specification.
382 .Bl -tag -width Ds -compact
383 .It Ic x509 Ar in_keychain Ar keychain_identifier ;
385 means the certificate is in the system keychain.
386 .Ar keychain_identifier
387 is the keychain ID for the certificate in base64 format.
389 .It Ic certificate_verification Ar verification_spec ;
390 Specifies how the certificate is verified. This is required.
391 .Ar verification_spec
393 .Bl -tag -width Ds -compact
394 .It Ic sec_framework Ar use_peers_identifier ;
396 means the certificate is verified by the security framework.
397 .Ar use_peers_identifier
398 means the certificate must contain the peers ID.
400 .It Ic mode_cfg (on | off) ;
401 Gather network information through ISAKMP mode configuration.
404 .It Ic weak_phase1_check (on | off) ;
405 Tells racoon to act on unencrypted deletion messages during phase 1.
406 This is a small security risk, so the default is off, meaning that
407 racoon will keep on trying to establish a connection even if the
408 user credentials are wrong, for instance.
410 .It Ic send_cert (on | off) ;
411 If you do not want to send a certificate, set this to off.
414 .It Ic send_cr (on | off) ;
415 If you do not want to send a certificate request, set this to off.
418 .It Ic verify_cert (on | off) ;
419 By default, the identifier sent by the remote host (as specified in its
421 statement) is compared with the credentials in the certificate
422 used to authenticate the remote host as follows:
423 .Bl -tag -width Ds -compact
425 The entire certificate subject name is compared with the identifier,
426 e.g. "C=XX, O=YY, ...".
427 .It Type Ic address, fqdn, or user_fqdn:
428 The certificate's subjectAltName is compared with the identifier.
430 If the two do not match the negotiation will fail.
431 If you do not want to verify the identifier using the peer's certificate,
434 .It Ic lifetime time Ar number Ar timeunit ;
435 Define a lifetime of a certain time
436 which will be proposed in the phase 1 negotiations.
437 Any proposal will be accepted, and the attribute(s) will not be proposed to
438 the peer if you do not specify it (them).
439 They can be individually specified in each proposal.
441 .It Ic ike_frag (on | off | force) ;
442 Enable receiver-side IKE fragmentation if
444 has been built with this feature.
445 If set to on, racoon will advertise
446 itself as being capable of receiving packets split by IKE fragmentation.
447 This extension is there to work around broken firewalls that do not
448 work with fragmented UDP packets.
449 IKE fragmentation is always enabled on the sender-side, and it is
450 used if the peer advertises itself as IKE fragmentation capable.
451 By selecting force, IKE Fragmentation will
452 be used when racoon is acting as the initiator even before the remote
453 peer has advertised itself as IKE fragmentation capable.
455 .It Ic esp_frag Ar fraglen ;
456 This option is only relevant if you use NAT traversal in tunnel mode.
457 Its purpose is to work around broken DSL routers that reject UDP
458 fragments, by fragmenting the IP packets before ESP encapsulation.
459 The result is ESP over UDP of fragmented packets instead of fragmented
460 ESP over UDP packets (i.e., IP:UDP:ESP:frag(IP) instead of
461 frag(IP:UDP:ESP:IP)).
463 is the maximum size of the fragments.
464 552 should work anywhere,
467 is, the better the performance.
469 Note that because PMTU discovery is broken on many sites, you will
470 have to use MSS clamping if you want TCP to work correctly.
472 .It Ic initial_contact (on | off) ;
473 Enable this to send an INITIAL-CONTACT message.
476 This message is useful only when the responder implementation chooses an
477 old SA when there are multiple SAs with different established time and the
479 If racoon did not send the message,
480 the responder would use an old SA even when a new SA was established.
481 For systems that use a KAME derived IPSEC stack, the
483 variable net.key.preferred_oldsa can be used to control this preference.
484 When the value is zero, the stack always uses a new SA.
486 .It Ic passive (on | off) ;
487 If you do not want to initiate the negotiation, set this to on.
490 It is useful for a server.
492 .It Ic proposal_check Ar level ;
493 Specifies the action of lifetime length, key length and PFS of the phase 2
494 selection on the responder side, and the action of lifetime check in
501 .Bl -tag -width Ds -compact
503 The responder will obey the initiator anytime.
505 If the responder's lifetime length is longer than the initiator's or
506 the responder's key length is shorter than the initiator's,
507 the responder will use the initiator's value.
508 Otherwise, the proposal will be rejected.
509 If PFS is not required by the responder, the responder will obey the proposal.
510 If PFS is required by both sides and the responder's group is not equal to
511 the initiator's, then the responder will reject the proposal.
513 If the responder's lifetime length is longer than the initiator's or
514 the responder's key length is shorter than the initiator's,
515 the responder will use the initiator's value.
516 If the responder's lifetime length is shorter than the initiator's,
517 the responder uses its own length AND sends a RESPONDER-LIFETIME notify
518 message to an initiator in the case of lifetime (phase 2 only).
519 For PFS, this directive behaves the same as
522 If the initiator's lifetime or key length is not equal to the responder's,
523 the responder will reject the proposal.
524 If PFS is required by both sides and the responder's group is not equal to
525 the initiator's, then the responder will reject the proposal.
528 .It Ic support_proxy (on | off) ;
529 If this value is set to on, then both values of ID payloads in the
530 phase 2 exchange are always used as the addresses of end-point of
534 .It Ic generate_policy (on | off | require | unique) ;
535 This directive is for the responder.
536 Therefore you should set
540 only becomes a responder.
541 If the responder does not have any policy in SPD during phase 2
542 negotiation, and the directive is set to on, then
544 will choose the first proposal in the
545 SA payload from the initiator, and generate policy entries from the proposal.
546 It is useful to negotiate with clients whose IP address is allocated
548 Note that an inappropriate policy might be installed into the responder's SPD
550 so other communications might fail if such policies are installed
551 due to a policy mismatch between the initiator and the responder.
555 values mean the same thing (generate a require policy).
557 tells racoon to set up unique policies, with a monotoning increasing
558 reqid number (between 1 and IPSEC_MANUAL_REQID_MAX).
559 This directive is ignored in the initiator case.
564 .It Ic nat_traversal (on | off | force) ;
565 This directive enables use of the NAT-Traversal IPsec extension
567 NAT-T allows one or both peers to reside behind a NAT gateway (i.e.,
568 doing address- or port-translation).
569 If a NAT gateway is detected during the phase 1 handshake, racoon will
570 attempt to negotiate the use of NAT-T with the remote peer.
571 If the negotiation succeeds, all ESP and AH packets for the given connection
572 will be encapsulated into UDP datagrams (port 4500, by default).
574 .Bl -tag -width Ds -compact
576 NAT-T is used when a NAT gateway is detected between the peers.
578 NAT-T is not proposed/accepted.
581 NAT-T is used regardless of whether a NAT gateway is detected between the
584 Please note that NAT-T support is a compile-time option.
585 Although it is enabled in the source distribution by default, it
586 may not be available in your particular build.
587 In that case you will get a
588 warning when using any NAT-T related config options.
590 .It Ic dpd_delay Ar delay ;
591 This option activates the DPD and sets the time (in seconds) allowed
592 between 2 proof of liveliness requests.
595 which disables DPD monitoring, but still negotiates DPD support.
597 .It Ic dpd_retry Ar delay ;
600 is set, this sets the delay (in seconds) to wait for a proof of
601 liveliness before considering it as failed and send another request.
605 .It Ic dpd_maxfail Ar number ;
608 is set, this sets the maximum number of liveliness proofs to request
609 (without reply) before considering the peer is dead.
613 .It Ic nonce_size Ar number ;
614 define the byte size of nonce value.
615 Racoon can send any value although
616 RFC2409 specifies that the value MUST be between 8 and 256 bytes.
617 The default size is 16 bytes.
619 .It Ic ph1id Ar number ;
620 An optionnal number to identify the remote proposal and to link it
621 only with sainfos who have the same number.
625 .Ic proposal { Ar sub-substatements Ic }
627 .Bl -tag -width Ds -compact
629 .It Ic encryption_algorithm Ar algorithm ;
630 Specifies the encryption algorithm used for the phase 1 negotiation.
631 This directive must be defined.
636 For other transforms, this statement should not be used.
638 .It Ic hash_algorithm Ar algorithm ;
639 Defines the hash algorithm used for the phase 1 negotiation.
640 This directive must be defined.
643 .Ic md5, sha1, sha256, sha384, sha512
646 .It Ic authentication_method Ar type ;
647 Defines the authentication method used for the phase 1 negotiation.
648 This directive must be defined.
652 .Ic hybrid_rsa_server ,
653 .Ic hybrid_rsa_client , xauth_rsa_server , xauth_rsa_client , xauth_psk_server
655 .Ic xauth_psk_client , eap_psk_client , eap_rsa_client .
657 .It Ic dh_group Ar group ;
658 Defines the group used for the Diffie-Hellman exponentiations.
659 This directive must be defined.
662 .Ic modp1024 , modp1536 , modp2048 , modp3072 , modp4096 , modp6144 or modp8192 .
663 Or you can define 2 , 5 , 14 , 15 , 16 , 17 or 18 as the DH group number.
664 When you want to use aggressive mode,
665 you must define the same DH group in each proposal.
666 .It Ic lifetime time Ar number Ar timeunit ;
667 Defines the lifetime of the phase 1 SA proposal.
668 Refer to the description of the
670 directive defined in the
677 .Ss Policy Specifications
678 The policy directive is obsolete, policies are now in the SPD.
680 will obey the policy configured into the kernel by
682 and will construct phase 2 proposals by combining
686 and policies in the kernel.
688 .Ss Sainfo Specifications
689 .Bl -tag -width Ds -compact
691 .Ic sainfo ( Ar source_id destination_id | Ar source_id Ic anonymous | Ic anonymous Ar destination_id | Ic anonymous ) [ from Ar idtype [ Ar string ] ] [ Ic group Ar string ]
692 .Ic { Ar statements Ic }
694 defines the parameters of the IKE phase 2 (IPsec-SA establishment).
698 are constructed like:
700 .Ic address Ar address
707 .Ic subnet Ar address
716 An id string should be expressed to match the exact value of an ID payload
717 (source is the local end, destination is the remote end).
718 This is not like a filter rule.
719 For example, if you define 3ffe:501:4819::/48 as
721 3ffe:501:4819:1000:/64 will not match.
723 In the case of a longest prefix (selecting a single host),
725 instructs to send ID type of ADDRESS while
727 instructs to send ID type of SUBNET.
728 Otherwise, these instructions are identical.
730 The group keyword allows an XAuth group membership check to be performed
731 for this sainfo section.
732 When the mode_cfg auth source is set to
736 the XAuth user is verified to be a member of the specified group
737 before allowing a matching SA to be negotiated.
739 .Bl -tag -width Ds -compact
741 .It Ic pfs_group Ar group ;
742 define the group of Diffie-Hellman exponentiations.
743 If you do not require PFS then you can omit this directive.
744 Any proposal will be accepted if you do not specify one.
747 .Ic modp1024 , modp1536 , modp2048 , modp3072 , modp4096 , modp6144 or modp8192 .
748 Or you can define 2 , 5 , 14 , 15 , 16 , 17 or 18 as the DH group number.
750 .It Ic lifetime time Ar number Ar timeunit ;
751 define how long an IPsec-SA will be used, in timeunits.
752 Any proposal will be accepted, and no attribute(s) will be proposed to
753 the peer if you do not specify it(them).
758 .It Ic remoteid Ar number ;
759 Sainfos will only be used if their remoteid matches the ph1id of the
760 remote section used for phase 1.
761 Defaults to 0, which is also the default for ph1id.
763 .It Ic my_identifier Ar idtype ... ;
765 It does not make sense to specify an identifier in the phase 2.
770 does not have a list of security protocols to be negotiated.
771 The list of security protocols are passed by SPD in the kernel.
772 Therefore you have to define all of the potential algorithms
773 in the phase 2 proposals even if there are algorithms which will not be used.
774 These algorithms are define by using the following three directives,
775 with a single comma as the separator.
776 For algorithms that can take variable-length keys, algorithm names
777 can be followed by a key length, like
778 .Dq Li blowfish 448 .
780 will compute the actual phase 2 proposals by computing
781 the permutation of the specified algorithms,
782 and then combining them with the security protocol specified by the SPD.
784 .Ic des , 3des , hmac_md5 ,
787 are specified as algorithms, we have four combinations for use with ESP,
789 Then, based on the SPD settings,
791 will construct the actual proposals.
792 If the SPD entry asks for ESP only, there will be 4 proposals.
793 If it asks for both AH and ESP, there will be 8 proposals.
794 Note that the kernel may not support the algorithm you have specified.
796 .Bl -tag -width Ds -compact
797 .It Ic encryption_algorithm Ar algorithms ;
798 .Ic des , 3des , des_iv64 , des_iv32 ,
799 .Ic null_enc ,rijndael , aes
802 .It Ic authentication_algorithm Ar algorithms ;
803 .Ic des , 3des , des_iv64 , des_iv32 ,
804 .Ic hmac_md5 , hmac_sha1 , hmac_sha256, hmac_sha384, hmac_sha512, non_auth
805 .Pq used with ESP authentication and AH
807 .It Ic compression_algorithm Ar algorithms ;
814 .Bl -tag -width Ds -compact
815 .It Ic log Ar level ;
816 Defines the logging level.
819 .Ic error , warning , notify , info , debug
824 If you set the logging level too high on slower machines,
825 IKE negotiation can fail due to timing constraint changes.
828 .Ss Specifies the way to pad
829 .Bl -tag -width Ds -compact
830 .It Ic padding { Ar statements Ic }
831 specifies the padding format.
832 The following are valid statements:
833 .Bl -tag -width Ds -compact
834 .It Ic randomize (on | off) ;
835 Enables the use of a randomized value for padding.
837 .It Ic randomize_length (on | off) ;
838 The pad length will be random.
840 .It Ic maximum_length Ar number ;
841 Defines a maximum padding length.
844 is off, this is ignored.
845 The default is 20 bytes.
846 .It Ic exclusive_tail (on | off) ;
847 Means to put the number of pad bytes minus one into the last part
850 .It Ic strict_check (on | off) ;
851 Means to constrain the peer to set the number of pad bytes.
855 .Ss Special directives
856 .Bl -tag -width Ds -compact
857 .It Ic complex_bundle (on | off) ;
858 defines the interpretation of proposal in the case of SA bundle.
860 .Dq IP AH ESP IP payload
862 .Dq AH tunnel and ESP tunnel .
863 The interpretation is more common to other IKE implementations, however,
864 it allows very limited set of combinations for proposals.
865 With the option enabled, it will be proposed as
866 .Dq AH transport and ESP tunnel .
871 .Ss Pre-shared key File
872 The pre-shared key file defines pairs of identifiers and corresponding
873 shared secret keys which are used in the pre-shared key authentication
875 The pair in each line is separated by some number of blanks and/or tab
876 characters like in the
879 Key can include blanks because everything after the first blanks
880 is interpreted as the secret key.
884 Keys which start with
886 are interpreted as hexadecimal strings.
887 Note that the file must be owned by the user ID running
889 .Pq usually the privileged user ,
890 and must not be accessible by others.
893 The following shows how the remote directive should be configured.
895 path pre_shared_key "/usr/local/v6/etc/psk.txt" ;
898 exchange_mode aggressive,main,base;
899 lifetime time 24 hour;
901 encryption_algorithm 3des;
903 authentication_method pre_shared_key;
911 lifetime time 12 hour ;
912 encryption_algorithm 3des, aes ;
913 authentication_algorithm hmac_sha1, hmac_md5 ;
914 compression_algorithm deflate ;
918 The following is a sample for the pre-shared key file.
920 10.160.94.3 mekmitasdigoat
921 172.16.1.133 0x12345678
922 194.100.55.1 whatcertificatereally
923 3ffe:501:410:ffff:200:86ff:fe05:80fa mekmitasdigoat
924 3ffe:501:410:ffff:210:4bff:fea2:8baa mekmitasdigoat
925 foo@kame.net mekmitasdigoat
937 configuration file first appeared in the
939 Yokogawa IPsec implementation.
942 Some statements may not be handled by
946 Diffie-Hellman computation can take a very long time, and may cause
947 unwanted timeouts, specifically when a large D-H group is used.
949 .Sh SECURITY CONSIDERATIONS
950 The use of IKE phase 1 aggressive mode is not recommended,
952 .Li http://www.kb.cert.org/vuls/id/886601 .