Project

General

Profile

ipsec » History » Version 19

Tobias Brunner, 22.10.2012 14:40

1 12 Martin Willi
h1. ipsec
2 1 Martin Willi
3 1 Martin Willi
4 12 Martin Willi
*ipsec* is actually an umbrella command comprising a collection of individual sub commands of the form 
5 1 Martin Willi
6 13 Tobias Brunner
p((. *ipsec _<command>_ [ _<argument>_ ]  [ _<options>_ ]*
7 12 Martin Willi
8 1 Martin Willi
that can be used to control and monitor IPsec connections as well as the IKE daemons.
9 1 Martin Willi
10 1 Martin Willi
11 12 Martin Willi
h2. Control Commands
12 1 Martin Willi
13 1 Martin Willi
14 1 Martin Willi
*ipsec start [ _<starter options>_ ]*
15 15 Daniel Mentz
16 19 Tobias Brunner
p((. calls [[IpsecStarter|ipsec starter]] [ _<starter options>_ ] which in turn parses [[IpsecConf|ipsec.conf]] and starts the IKE daemon charon.
17 12 Martin Willi
18 12 Martin Willi
*ipsec stop*
19 15 Daniel Mentz
20 19 Tobias Brunner
p((. terminates all IPsec connection and stops the IKE daemon charon by sending a _TERM_ signal to [[IpsecStarter|ipsec starter]].
21 1 Martin Willi
22 12 Martin Willi
*ipsec restart [ _<starter options>_ ]*
23 15 Daniel Mentz
24 13 Tobias Brunner
p((. is equivalent to *ipsec stop* followed by *ipsec start [ _<starter options>_ ]* after a guard period of 2 seconds.
25 1 Martin Willi
   
26 1 Martin Willi
*ipsec update*
27 15 Daniel Mentz
28 19 Tobias Brunner
p((. sends a _HUP_ signal to [[IpsecStarter|ipsec starter]] which in turn determines any changes in [[IpsecConf|ipsec.conf]] and updates the configuration on the running IKE daemon charon. Currently established connections are not affected by configuration changes.
29 1 Martin Willi
30 12 Martin Willi
*ipsec reload*
31 15 Daniel Mentz
32 19 Tobias Brunner
p((. sends a _USR1_ signal to [[IpsecStarter|ipsec starter]] which in turn reloads the whole configuration on the running IKE daemon charon based on the actual [[IpsecConf|ipsec.conf]]. Currently established connections are not affected by configuration changes.
33 1 Martin Willi
34 13 Tobias Brunner
*ipsec up  _<name>_*
35 15 Daniel Mentz
36 19 Tobias Brunner
p((. tells the IKE daemon to start up connection _<name>_. Implemented by calling the [[IpsecStroke|ipsec stroke]] up _<name>_ command.
37 12 Martin Willi
38 13 Tobias Brunner
*ipsec down  _<name>_*
39 15 Daniel Mentz
40 19 Tobias Brunner
p((.  tells the IKE daemon to terminate connection _<name>_. Implemented by calling the [[IpsecStroke|ipsec stroke]] down _<name>_ command.
41 12 Martin Willi
42 16 Daniel Mentz
*ipsec down  _<name>{n}_*
43 16 Daniel Mentz
44 19 Tobias Brunner
p((. terminates CHILD_SA instance n of connection <name>.
45 16 Daniel Mentz
46 16 Daniel Mentz
*ipsec down  _<name>{<notextile>*</notextile>}_*
47 16 Daniel Mentz
48 19 Tobias Brunner
p((. terminates all CHILD_SA instances of connection <name>.
49 16 Daniel Mentz
50 16 Daniel Mentz
*ipsec down _<name>[n]_*
51 16 Daniel Mentz
52 19 Tobias Brunner
p((. terminates IKE_SA instance n of connection <name> plus dependent CHILD_SAs.
53 16 Daniel Mentz
54 16 Daniel Mentz
*ipsec down _<name>[<notextile>*</notextile>]_*
55 16 Daniel Mentz
56 19 Tobias Brunner
p((. terminates all IKE_SA instances of connection <name>.
57 16 Daniel Mentz
58 13 Tobias Brunner
*ipsec route  _<name>_*
59 15 Daniel Mentz
60 19 Tobias Brunner
p((. tells the IKE daemon to insert [[IpsecPolicy|IPsec policies]] in the kernel for connection _<name>_. The first payload packet matching the [[IpsecPolicy|IPsec policies]] will automatically trigger an IKE connection setup. Implemented by calling the [[IpsecStroke|ipsec stroke]] route _<name>_ command.
61 1 Martin Willi
62 13 Tobias Brunner
*ipsec unroute  _<name>_*
63 15 Daniel Mentz
64 19 Tobias Brunner
p((. remove the [[IpsecPolicy|IPsec policies]] in the kernel for connection _<name>_. Implemented by calling the [[IpsecStroke|ipsec stroke]] unroute _<name>_ command.
65 5 Martin Willi
 
66 13 Tobias Brunner
*ipsec status [ _<name>_ ]*
67 15 Daniel Mentz
68 19 Tobias Brunner
p((.  returns concise status information either on connection _<name>_ or if the argument is lacking, on all connections. Implemented by calling the [[IpsecStroke|ipsec stroke]] status [ _<name>_ ] command.
69 13 Tobias Brunner
70 12 Martin Willi
*ipsec statusall [ _<name>_ ]*
71 15 Daniel Mentz
72 19 Tobias Brunner
p((. returns detailed status information either on connection _<name>_ or if the argument is lacking, on all connections. Implemented by calling the [[IpsecStroke|ipsec stroke]] statusall [ _<name>_ ] command.
73 12 Martin Willi
74 1 Martin Willi
75 1 Martin Willi
h2. Info Commands
76 12 Martin Willi
77 1 Martin Willi
*ipsec version*
78 15 Daniel Mentz
79 1 Martin Willi
p((. returns the ipsec version in the form of *Linux strongSwan U<strongSwan userland version>/K<Linux kernel version>* if strongSwan uses the native NETKEY IPsec stack of the Linux kernel it is running on.
80 1 Martin Willi
81 1 Martin Willi
*ipsec copyright*
82 15 Daniel Mentz
83 13 Tobias Brunner
p((. returns the copyright information.
84 1 Martin Willi
85 12 Martin Willi
*ipsec --confdir*
86 15 Daniel Mentz
87 13 Tobias Brunner
p((. returns the _SYSCONFDIR_ directory as defined by the [[InstallationDocumentation|configure]] options.
88 1 Martin Willi
89 1 Martin Willi
*ipsec --directory*
90 15 Daniel Mentz
91 13 Tobias Brunner
p((. returns the _LIBEXECDIR_ directory as defined by the [[InstallationDocumentation|configure]] options.
92 1 Martin Willi
93 1 Martin Willi
*ipsec --help*
94 15 Daniel Mentz
95 13 Tobias Brunner
p((. returns the usage information for the ipsec command.
96 1 Martin Willi
97 1 Martin Willi
*ipsec --versioncode*
98 10 Martin Willi
99 12 Martin Willi
p((. returns the ipsec version number in the form of *U<strongSwan userland version>/K<Linux kernel version>* if strongSwan uses the native NETKEY IPsec stack of the Linux kernel it is running on.
100 1 Martin Willi
101 1 Martin Willi
102 10 Martin Willi
h2. List Commands
103 1 Martin Willi
104 15 Daniel Mentz
105 13 Tobias Brunner
*ipsec listaacerts [ --utc ]*
106 1 Martin Willi
107 19 Tobias Brunner
p((. returns a list of X.509 Authorization Authority (AA) certificates that were loaded locally by the IKE daemon from the [[IpsecDirectoryAacerts|/etc/ipsec.d/aacerts]] directory. Implemented by calling the [[IpsecStroke|ipsec stroke]] listaacerts command.
108 15 Daniel Mentz
109 13 Tobias Brunner
*ipsec listacerts [ --utc ]*
110 1 Martin Willi
111 19 Tobias Brunner
p((. returns a list of X.509 Attribute certificates that were loaded locally by the IKE daemon from the [[IpsecDirectoryAcerts|/etc/ipsec.d/acerts]] directory. Implemented by calling the [[IpsecStroke|ipsec stroke]] listacerts comman.
112 15 Daniel Mentz
113 13 Tobias Brunner
*ipsec listcacerts [ --utc ]*
114 1 Martin Willi
115 19 Tobias Brunner
p((. returns a list of X.509 Certification Authority (CA) certificates that were loaded locally by the IKE daemon from the [[IpsecDirectoryCacerts|/etc/ipsec.d/cacerts]] directory or received via the IKE protocol. Implemented by calling the [[IpsecStroke|ipsec stroke]] listcacerts command.
116 15 Daniel Mentz
117 13 Tobias Brunner
*ipsec listcainfos [ --utc ]*
118 1 Martin Willi
119 19 Tobias Brunner
p((. returns Certification Authority information (CRL distribution points, OCSP URIs, LDAP servers) that were defined by [[CaSection|ca sections]] in [[IpsecConf|ipsec.conf]]. Implemented by calling the [[IpsecStroke|ipsec stroke]] listcainfos command.
120 13 Tobias Brunner
121 1 Martin Willi
*ipsec listcrls [ --utc ]*
122 8 Martin Willi
123 19 Tobias Brunner
p((. returns a list of Certificate Revocation Lists (CRLs) that were either loaded by the IKE daemon from the [[IpsecDirectoryCrls|/etc/ipsec.d/crls]] directory or fetched from an HTTP- or LDAP-based CRL distribution point. Implemented by calling the [[IpsecStroke|ipsec stroke]] listcrls command.
124 18 Tobias Brunner
125 1 Martin Willi
*ipsec listcerts [ --utc ]*
126 1 Martin Willi
127 19 Tobias Brunner
p((. returns a list of X.509 and/or OpenPGP certificates that were either loaded locally by the IKE daemon or received via the IKE protocol. Implemented by calling the [[IpsecStroke|ipsec stroke]] listcerts command.
128 15 Daniel Mentz
129 13 Tobias Brunner
*ipsec listgroups [ --utc ]*
130 1 Martin Willi
131 19 Tobias Brunner
p((. returns a list of all groups that are used to define user authorization profiles. Currently not supported.
132 15 Daniel Mentz
133 13 Tobias Brunner
*ipsec listocsp [ --utc ]*
134 1 Martin Willi
135 19 Tobias Brunner
p((. returns cached revocation information fetched from OCSP servers. Implemented by calling the [[IpsecStroke|ipsec stroke]] listocsp command.
136 15 Daniel Mentz
137 18 Tobias Brunner
*ipsec listocspcerts [ --utc ]*
138 1 Martin Willi
139 19 Tobias Brunner
p((. returns a list of X.509 OCSP Signer certificates that were either loaded locally by the IKE daemon from the [[IpsecDirectoryOcspcerts|/etc/ipsec.d/ocspcerts]] directory or were sent by an OCSP server. Implemented by calling the [[IpsecStroke|ipsec stroke]] listocspcerts command.
140 15 Daniel Mentz
141 13 Tobias Brunner
*ipsec listpubkeys [ --utc ]*
142 2 Martin Willi
143 19 Tobias Brunner
p((. returns a list of RSA public keys that were loaded in raw key format. Implemented by calling the [[IpsecStroke|ipsec stroke]] listpubkeys command.
144 13 Tobias Brunner
145 1 Martin Willi
*ipsec listall [ --utc ]*
146 12 Martin Willi
147 19 Tobias Brunner
p((. returns  all information generated by the list commands above. Each list command can be called with the @--utc@ option which displays all dates in UTC instead of local time. Implemented by calling the [[IpsecStroke|ipsec stroke]] listall command.
148 18 Tobias Brunner
149 12 Martin Willi
150 1 Martin Willi
h2. Reread Commands
151 1 Martin Willi
152 12 Martin Willi
153 1 Martin Willi
*ipsec rereadaacerts*
154 1 Martin Willi
155 19 Tobias Brunner
p((. reads all certificate files contained in the [[IpsecDirectoryAacerts|/etc/ipsec.d/aacerts]] directory and adds them to the list of Authorization Authority (AA) certificates. Implemented by calling the [[IpsecStroke|ipsec stroke]] rereadaacerts command.
156 1 Martin Willi
157 13 Tobias Brunner
*ipsec rereadacerts*
158 1 Martin Willi
159 19 Tobias Brunner
p((. reads all certificate files contained in the [[IpsecDirectoryAcerts|/etc/ipsec.d/acerts]] directory and adds them to the list of attribute certificates. Implemented by calling the [[IpsecStroke|ipsec stroke]] rereadacerts command.
160 1 Martin Willi
161 1 Martin Willi
*ipsec rereadcacerts*
162 1 Martin Willi
163 19 Tobias Brunner
p((. reads all certificate files contained in  the [[IpsecDirectoryCacerts|/etc/ipsec.d/cacerts]] directory  and adds them to the list of Certification Authority (CA) certificates. Implemented by calling the [[IpsecStroke|ipsec stroke]] rereadcacerts command.
164 1 Martin Willi
165 1 Martin Willi
*ipsec rereadcrls*
166 1 Martin Willi
167 19 Tobias Brunner
p((. reads all Certificate Revocation Lists (CRLs) contained in the [[IpsecDirectoryCrls|/etc/ipsec.d/crls]] directory and adds them to the list of CRLs. Older CRLs are replaced by newer ones. Implemented by calling the [[IpsecStroke|ipsec stroke]] rereadcrls command.
168 1 Martin Willi
169 1 Martin Willi
*ipsec rereadocspcerts*
170 15 Daniel Mentz
171 19 Tobias Brunner
p((. reads all certificate files contained in the [[IpsecDirectoryOcspcerts|/etc/ipsec.d/ocspcerts]] directory and adds them to the list of OCSP signer certificates. Implemented by calling the [[IpsecStroke|ipsec stroke]] rereadocspcerts command.
172 1 Martin Willi
 
173 12 Martin Willi
*ipsec rereadsecrets*
174 15 Daniel Mentz
175 19 Tobias Brunner
p((. flushes and rereads all secrets defined in [[IpsecSecrets|ipsec.secrets]]. Implemented by calling the [[IpsecStroke|ipsec stroke]] rereadsecrets command.
176 1 Martin Willi
177 12 Martin Willi
*ipsec secrets*
178 15 Daniel Mentz
179 13 Tobias Brunner
p((. is equivalent to *ipsec rereadsecrets*.
180 1 Martin Willi
181 1 Martin Willi
*ipsec rereadall*
182 15 Daniel Mentz
183 19 Tobias Brunner
p((. executes all reread commands listed above. Implemented by calling the [[IpsecStroke|ipsec stroke]] rereadall command.
184 1 Martin Willi
185 1 Martin Willi
186 15 Daniel Mentz
h2. Purge Commands
187 13 Tobias Brunner
188 1 Martin Willi
*ipsec purgeike*
189 12 Martin Willi
190 19 Tobias Brunner
p((. purges IKE_SAs that don't have a CHILD_SA.
191 13 Tobias Brunner
192 1 Martin Willi
*ipsec purgeocsp*
193 1 Martin Willi
194 19 Tobias Brunner
p((. purges all cached OCSP information records. Implemented by calling the [[IpsecStroke|ipsec stroke]] purgeocsp command.
195 13 Tobias Brunner
196 12 Martin Willi
197 19 Tobias Brunner
h2. Before 5.0.0
198 1 Martin Willi
199 19 Tobias Brunner
In releases before [[5.0.0]] IKEv1 connections were handled by the separate [[pluto]] keying daemon. The ipsec command then used the [[IpsecWhack|ipsec whack]] in addition to the [[IpsecStroke|ipsec stroke]] command to communicate with pluto.
200 19 Tobias Brunner
201 19 Tobias Brunner
h3. List Commands
202 19 Tobias Brunner
203 19 Tobias Brunner
*ipsec listalgs*
204 19 Tobias Brunner
205 19 Tobias Brunner
p((. returns a list of all supported IKE encryption and hash algorithms, the available Diffie-Hellman groups, as well as all ESP encryption and authentication algorithms registered via the Linux kernel's Crypto API. Supported by the IKEv1 pluto daemon only. Implemented by calling the [[IpsecWhack|ipsec whack]] --listalgs command.
206 19 Tobias Brunner
207 19 Tobias Brunner
*ipsec listcards [ --utc ]*
208 19 Tobias Brunner
209 19 Tobias Brunner
p((. lists all certificates found on attached smart cards. Supported by the IKEv1 pluto daemon only. Implemented by calling the [[IpsecWhack|ipsec whack]] --listcards command.
210 19 Tobias Brunner
211 19 Tobias Brunner
h3. PKCS11 Proxy Commands
212 1 Martin Willi
213 12 Martin Willi
*ipsec scencrypt _<value>_ [ --inbase _<base>_ ] [ --outbase _<base>_ ] [ --keyid _<id>_ ]*
214 15 Daniel Mentz
215 13 Tobias Brunner
p((. Supported by the IKEv1 pluto daemon only. Implemented by calling the [[IpsecWhack|ipsec whack]] --scencrypt command.
216 1 Martin Willi
217 12 Martin Willi
*ipsec scdecrypt _<value>_ [ --inbase <base> ] [ --outbase _<base>_ ] [ --keyid _<id>_ ]*
218 15 Daniel Mentz
219 13 Tobias Brunner
p((. Supported by the IKEv1 pluto daemon only. Implemented by calling the [[IpsecWhack|ipsec whack]] --scdecrypt command.