Project

General

Profile

ipsec.conf: config setup Reference » History » Version 16

Tobias Brunner, 10.09.2012 18:01

1 14 Tobias Brunner
{{title(ipsec.conf: config setup Reference)}}
2 14 Tobias Brunner
3 14 Tobias Brunner
h1. ipsec.conf: config setup
4 1 Martin Willi
5 10 Tobias Brunner
h2. both daemons
6 9 Tobias Brunner
7 10 Tobias Brunner
_cachecrls = yes | *no*_
8 11 Andreas Steffen
9 10 Tobias Brunner
p((. certificate revocation lists (CRLs) fetched via http or ldap will be cached in _/etc/ipsec.d/crls/_
10 12 Tobias Brunner
     under a unique file name derived from the certification authority's public key. Only relevant for
11 12 Tobias Brunner
     IKEv1 as CRLs are always cached in IKEv2.
12 3 Martin Willi
13 1 Martin Willi
_charonstart = *yes* | no_
14 11 Andreas Steffen
15 12 Tobias Brunner
p((. whether to start the IKEv2 charon daemon or not. The default is *yes* if starter was compiled with IKEv2 support.
16 1 Martin Willi
17 10 Tobias Brunner
_plutostart = *yes* | no_
18 11 Andreas Steffen
19 12 Tobias Brunner
p((. whether to start the IKEv1 pluto daemon or not. The default is *yes* if starter was compiled with IKEv1 support.
20 1 Martin Willi
21 10 Tobias Brunner
_strictcrlpolicy = yes | ifuri | *no*_
22 11 Andreas Steffen
23 10 Tobias Brunner
p((. defines if a fresh CRL must be available in order for the peer authentication based on RSA
24 9 Tobias Brunner
     signatures to succeed. IKEv2 additionally recognizes _ifuri_ which reverts to _yes_ if
25 9 Tobias Brunner
     at least one CRL URI is defined and to _no_ if no URI is known.
26 8 Tobias Brunner
27 16 Tobias Brunner
_uniqueids = *yes* | no | never | replace | keep_
28 1 Martin Willi
29 16 Tobias Brunner
p((. whether  a  particular  participant  ID  should  be  kept unique, with any new IKE_SA using an ID
30 16 Tobias Brunner
     deemed to replace all  old  ones  using that ID.  Participant IDs normally _are_ unique,  so  a  new
31 16 Tobias Brunner
     IKE_SA  using  the same ID is almost invariably intended to replace an old one.
32 16 Tobias Brunner
     The difference between _no_ and _never_ is that the daemon will replace old IKE_SAs when receiving an
33 16 Tobias Brunner
     INITIAL_CONTACT notify if the option is _no_ but will ignore these notifies if _never_ is configured.
34 16 Tobias Brunner
     The daemon also accepts  the  value  replace which  is  identical to _yes_ and the value _keep_ to reject
35 16 Tobias Brunner
     new IKE_SA setups and keep the duplicate established earlier.
36 1 Martin Willi
37 10 Tobias Brunner
h2. IKEv1 pluto daemon only
38 8 Tobias Brunner
39 10 Tobias Brunner
_crlcheckinterval = *0s* | <time>_
40 11 Andreas Steffen
41 10 Tobias Brunner
p((. interval in seconds. CRL fetching is enabled if the value is greater than zero.
42 1 Martin Willi
     Asynchronous, periodic checking for fresh CRLs is currently done by the IKEv1 Pluto daemon only.
43 3 Martin Willi
44 10 Tobias Brunner
_keep_alive = *20s* | <time>_
45 11 Andreas Steffen
46 10 Tobias Brunner
p((. interval in seconds between NAT keep alive packets.
47 1 Martin Willi
48 10 Tobias Brunner
_nat_traversal = yes | *no*_
49 11 Andreas Steffen
50 10 Tobias Brunner
p((. activates NAT traversal by accepting source ISAKMP ports different from udp/500 and being able
51 10 Tobias Brunner
     of floating to udp/4500 if a NAT situation is detected.  Used by IKEv1 only, NAT traversal is
52 1 Martin Willi
     always being active in IKEv2.
53 3 Martin Willi
54 10 Tobias Brunner
_nocrsend = yes | *no*_
55 11 Andreas Steffen
56 10 Tobias Brunner
p((. no certificate request  payloads will be sent.
57 1 Martin Willi
58 10 Tobias Brunner
_pkcs11initargs = <args>_
59 11 Andreas Steffen
60 10 Tobias Brunner
p((. non-standard argument string for PKCS#11 C_Initialize() function; required by NSS softoken.
61 1 Martin Willi
62 10 Tobias Brunner
_pkcs11module = <lib>_
63 11 Andreas Steffen
64 10 Tobias Brunner
p((. defines the path during run-time to a dynamically loadable PKCS#11 library. Overrides any
65 10 Tobias Brunner
     path defined during compile-time using the --pkcs11-module configure option.
66 9 Tobias Brunner
67 10 Tobias Brunner
_pkcs11keepstate = yes | *no*_
68 11 Andreas Steffen
69 10 Tobias Brunner
p((. PKCS#11 login sessions will be kept during the whole lifetime of the keying daemon.
70 1 Martin Willi
     Useful with  pin-pad smart card readers where PINs cannot be cached. 
71 6 Martin Willi
72 10 Tobias Brunner
_pkcs11proxy = yes | *no*_
73 11 Andreas Steffen
74 1 Martin Willi
p((. Pluto will act as a PKCS#11 proxy accessible via the whack interface.
75 3 Martin Willi
76 10 Tobias Brunner
_plutodebug = *none_* | <debug list> | _all_
77 11 Andreas Steffen
78 12 Tobias Brunner
p((. how much pluto debugging output should be logged. _none_ means  no  debugging output
79 9 Tobias Brunner
     while _all_ means full output.  Otherwise only the specified types of output separated by white space) are enabled;
80 9 Tobias Brunner
     Available debugging types are _control controlmore crypt dns emitting klips lifecycle natt oppo parsing private raw_.
81 9 Tobias Brunner
     Recommended setting is _plutodebug=control_.
82 9 Tobias Brunner
83 10 Tobias Brunner
_plutostderrlog = <file>_
84 1 Martin Willi
85 10 Tobias Brunner
p((. Pluto will not use syslog, but rather log to stderr, and redirect stderr to <file>.
86 3 Martin Willi
87 10 Tobias Brunner
_postpluto = <command>_
88 11 Andreas Steffen
89 12 Tobias Brunner
p((. shell command to run after starting pluto (e.g., to remove a decrypted copy of the [[IpsecSecrets|ipsec.secrets]] file).
90 1 Martin Willi
     It's run in a very simple way; complexities like I/O redirection are best hidden within a script.
91 5 Martin Willi
     Any output is redirected for logging, so running interactive commands is difficult unless they use
92 1 Martin Willi
     _/dev/tty_ or equivalent for their interaction.
93 9 Tobias Brunner
94 10 Tobias Brunner
_prepluto = <command>_
95 11 Andreas Steffen
96 12 Tobias Brunner
p((. shell command to run before starting pluto (e.g., to decrypt an encrypted copy of the [[IpsecSecrets|ipsec.secrets]] file).
97 9 Tobias Brunner
     It's run in a very simple way; complexities like I/O redirection are best hidden within a script.
98 3 Martin Willi
     Any output is redirected for logging, so running interactive commands is difficult unless they use
99 3 Martin Willi
     _/dev/tty_ or equivalent for their interaction.
100 9 Tobias Brunner
101 10 Tobias Brunner
_virtual_private = <networks>_
102 11 Andreas Steffen
103 10 Tobias Brunner
p((. defines private networks using a wildcard notation.
104 1 Martin Willi
105 10 Tobias Brunner
h2. IKEv2 charon daemon only
106 9 Tobias Brunner
107 10 Tobias Brunner
_charondebug = <debug list>_
108 11 Andreas Steffen
109 10 Tobias Brunner
p((. how much Charon debugging output should be logged. A comma-separated list containing
110 13 Tobias Brunner
     _type/level_ pairs  may  be specified, e.g: _dmn 3, ike 1, net -1_.  Acceptable values for
111 15 Tobias Brunner
     types are _dmn, mgr, ike, chd, job, cfg, knl, net, asn, enc, lib, tls, tnc, imc, imv, pts_ and the level is one of
112 13 Tobias Brunner
     _[-1,  0,  1,  2,  3,  4]_ (for silent, audit, control, controlmore, raw, private). By default, the level is
113 13 Tobias Brunner
     set to *1* for all types.
114 10 Tobias Brunner
     For more flexibility see [[LoggerConfiguration]].