Project

General

Profile

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

Tobias Brunner, 04.09.2024 15:46

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