daily: we no longer provide sha1/md5 files, but switched to sha256
[grml.org.git] / online-docs / grml-vpn.8.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 7.1.2" />\r
7 <style type="text/css">\r
8 /* Debug borders */\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
10 /*\r
11   border: 1px solid red;\r
12 */\r
13 }\r
14 \r
15 body {\r
16   margin: 1em 5% 1em 5%;\r
17 }\r
18 \r
19 a {\r
20   color: blue;\r
21   text-decoration: underline;\r
22 }\r
23 a:visited {\r
24   color: fuchsia;\r
25 }\r
26 \r
27 em {\r
28   font-style: italic;\r
29 }\r
30 \r
31 strong {\r
32   font-weight: bold;\r
33 }\r
34 \r
35 tt {\r
36   color: navy;\r
37 }\r
38 \r
39 h1, h2, h3, h4, h5, h6 {\r
40   color: #527bbd;\r
41   font-family: sans-serif;\r
42   margin-top: 1.2em;\r
43   margin-bottom: 0.5em;\r
44   line-height: 1.3;\r
45 }\r
46 \r
47 h1 {\r
48   border-bottom: 2px solid silver;\r
49 }\r
50 h2 {\r
51   border-bottom: 2px solid silver;\r
52   padding-top: 0.5em;\r
53 }\r
54 \r
55 div.sectionbody {\r
56   font-family: serif;\r
57   margin-left: 0;\r
58 }\r
59 \r
60 hr {\r
61   border: 1px solid silver;\r
62 }\r
63 \r
64 p {\r
65   margin-top: 0.5em;\r
66   margin-bottom: 0.5em;\r
67 }\r
68 \r
69 pre {\r
70   padding: 0;\r
71   margin: 0;\r
72 }\r
73 \r
74 span#author {\r
75   color: #527bbd;\r
76   font-family: sans-serif;\r
77   font-weight: bold;\r
78   font-size: 1.2em;\r
79 }\r
80 span#email {\r
81 }\r
82 span#revision {\r
83   font-family: sans-serif;\r
84 }\r
85 \r
86 div#footer {\r
87   font-family: sans-serif;\r
88   font-size: small;\r
89   border-top: 2px solid silver;\r
90   padding-top: 0.5em;\r
91   margin-top: 4.0em;\r
92 }\r
93 div#footer-text {\r
94   float: left;\r
95   padding-bottom: 0.5em;\r
96 }\r
97 div#footer-badges {\r
98   float: right;\r
99   padding-bottom: 0.5em;\r
100 }\r
101 \r
102 div#preamble,\r
103 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
104 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
105 div.admonitionblock {\r
106   margin-right: 10%;\r
107   margin-top: 1.5em;\r
108   margin-bottom: 1.5em;\r
109 }\r
110 div.admonitionblock {\r
111   margin-top: 2.5em;\r
112   margin-bottom: 2.5em;\r
113 }\r
114 \r
115 div.content { /* Block element content. */\r
116   padding: 0;\r
117 }\r
118 \r
119 /* Block element titles. */\r
120 div.title, caption.title {\r
121   font-family: sans-serif;\r
122   font-weight: bold;\r
123   text-align: left;\r
124   margin-top: 1.0em;\r
125   margin-bottom: 0.5em;\r
126 }\r
127 div.title + * {\r
128   margin-top: 0;\r
129 }\r
130 \r
131 td div.title:first-child {\r
132   margin-top: 0.0em;\r
133 }\r
134 div.content div.title:first-child {\r
135   margin-top: 0.0em;\r
136 }\r
137 div.content + div.title {\r
138   margin-top: 0.0em;\r
139 }\r
140 \r
141 div.sidebarblock > div.content {\r
142   background: #ffffee;\r
143   border: 1px solid silver;\r
144   padding: 0.5em;\r
145 }\r
146 \r
147 div.listingblock > div.content {\r
148   border: 1px solid silver;\r
149   background: #f4f4f4;\r
150   padding: 0.5em;\r
151 }\r
152 \r
153 div.quoteblock > div.content {\r
154   padding-left: 2.0em;\r
155 }\r
156 \r
157 div.attribution {\r
158   text-align: right;\r
159 }\r
160 div.verseblock + div.attribution {\r
161   text-align: left;\r
162 }\r
163 \r
164 div.admonitionblock .icon {\r
165   vertical-align: top;\r
166   font-size: 1.1em;\r
167   font-weight: bold;\r
168   text-decoration: underline;\r
169   color: #527bbd;\r
170   padding-right: 0.5em;\r
171 }\r
172 div.admonitionblock td.content {\r
173   padding-left: 0.5em;\r
174   border-left: 2px solid silver;\r
175 }\r
176 \r
177 div.exampleblock > div.content {\r
178   border-left: 2px solid silver;\r
179   padding: 0.5em;\r
180 }\r
181 \r
182 div.verseblock div.content {\r
183   white-space: pre;\r
184 }\r
185 \r
186 div.imageblock div.content { padding-left: 0; }\r
187 div.imageblock img { border: 1px solid silver; }\r
188 span.image img { border-style: none; }\r
189 \r
190 dl {\r
191   margin-top: 0.8em;\r
192   margin-bottom: 0.8em;\r
193 }\r
194 dt {\r
195   margin-top: 0.5em;\r
196   margin-bottom: 0;\r
197   font-style: italic;\r
198 }\r
199 dd > *:first-child {\r
200   margin-top: 0;\r
201 }\r
202 \r
203 ul, ol {\r
204     list-style-position: outside;\r
205 }\r
206 ol.olist2 {\r
207   list-style-type: lower-alpha;\r
208 }\r
209 \r
210 div.tableblock > table {\r
211   border: 3px solid #527bbd;\r
212 }\r
213 thead {\r
214   font-family: sans-serif;\r
215   font-weight: bold;\r
216 }\r
217 tfoot {\r
218   font-weight: bold;\r
219 }\r
220 \r
221 div.hlist {\r
222   margin-top: 0.8em;\r
223   margin-bottom: 0.8em;\r
224 }\r
225 td.hlist1 {\r
226   vertical-align: top;\r
227   font-style: italic;\r
228   padding-right: 0.8em;\r
229 }\r
230 td.hlist2 {\r
231   vertical-align: top;\r
232 }\r
233 \r
234 @media print {\r
235   div#footer-badges { display: none; }\r
236 }\r
237 /* Workarounds for IE6's broken and incomplete CSS2. */\r
238 \r
239 div.sidebar-content {\r
240   background: #ffffee;\r
241   border: 1px solid silver;\r
242   padding: 0.5em;\r
243 }\r
244 div.sidebar-title, div.image-title {\r
245   font-family: sans-serif;\r
246   font-weight: bold;\r
247   margin-top: 0.0em;\r
248   margin-bottom: 0.5em;\r
249 }\r
250 \r
251 div.listingblock div.content {\r
252   border: 1px solid silver;\r
253   background: #f4f4f4;\r
254   padding: 0.5em;\r
255 }\r
256 \r
257 div.quoteblock-content {\r
258   padding-left: 2.0em;\r
259 }\r
260 \r
261 div.exampleblock-content {\r
262   border-left: 2px solid silver;\r
263   padding-left: 0.5em;\r
264 }\r
265 </style>\r
266 <title>GRML-VPN(8)</title>\r
267 </head>\r
268 <body>\r
269 <div id="header">\r
270 <h1>GRML-VPN(8)</h1>\r
271 <span id="author">Michael Gebetsroither</span><br />\r
272 <span id="email"><tt>&lt;<a href="mailto:michael.geb@gmx.at">michael.geb@gmx.at</a>&gt;</tt></span><br />\r
273 </div>\r
274 <h2>NAME</h2>\r
275 <div class="sectionbody">\r
276 <p>grml-vpn - program to establish encrypted communication channels in a network</p>\r
277 </div>\r
278 <h2>SYNOPSIS</h2>\r
279 <div class="sectionbody">\r
280 <p><strong>grml-vpn</strong> [OPTIONS] <em>&lt;ACTION&gt;</em> <em>&lt;SPI&gt;</em> [IPs]</p>\r
281 </div>\r
282 <h2>DESCRIPTION</h2>\r
283 <div class="sectionbody">\r
284 <p><strong>grml-vpn</strong> is a program that\r
285 provides an easy wrapper around ipsec and setkey (without any ike daemon).\r
286 With this program you can create a vpn based uppon ipsec to any number of computers.\r
287 It's intended purpose is for example for wlan sessions to create an encrypted network between all computers on the wlan.\r
288 It is also possible to create a standalone shellscript which only needs the setkey command to setup the vpn (using the -x option).</p>\r
289 </div>\r
290 <h2>ACTIONS</h2>\r
291 <div class="sectionbody">\r
292 <dl>\r
293 <dt>\r
294 <strong>add</strong>\r
295 </dt>\r
296 <dd>\r
297 <p>\r
298   Add an ipsec entry\r
299 </p>\r
300 </dd>\r
301 <dt>\r
302 <strong>del</strong>\r
303 </dt>\r
304 <dd>\r
305 <p>\r
306   Delete an specific ipsec entry\r
307 </p>\r
308 </dd>\r
309 <dt>\r
310 <strong>clear</strong>\r
311 </dt>\r
312 <dd>\r
313 <p>\r
314   Delete all ipsec entries (attention, really deletes _all_ entrys, even from other setkey commands and isakmpd).\r
315 </p>\r
316 </dd>\r
317 <dt>\r
318 <strong>show</strong>\r
319 </dt>\r
320 <dd>\r
321 <p>\r
322   Show all infos about ipsec entrys.\r
323 </p>\r
324 </dd>\r
325 <dt>\r
326 <strong>info</strong>\r
327 </dt>\r
328 <dd>\r
329 <p>\r
330   Give infos about ciphers and there allowed keysizes.\r
331 </p>\r
332 </dd>\r
333 <dt>\r
334 <strong>help</strong>\r
335 </dt>\r
336 <dd>\r
337 <p>\r
338   Show the help message.\r
339 </p>\r
340 </dd>\r
341 </dl>\r
342 </div>\r
343 <h2>OPTIONS</h2>\r
344 <div class="sectionbody">\r
345 <dl>\r
346 <dt>\r
347 <strong>-h, help</strong>\r
348 </dt>\r
349 <dd>\r
350 <p>\r
351 Show summary of options.\r
352 </p>\r
353 </dd>\r
354 <dt>\r
355 <strong>-v</strong>\r
356 </dt>\r
357 <dd>\r
358 <p>\r
359 Show what is going on (more v =&gt; more out).\r
360 </p>\r
361 </dd>\r
362 <dt>\r
363 <strong>-a &lt;IP&gt;</strong>\r
364 </dt>\r
365 <dd>\r
366 <p>\r
367 Your IP (currently necessary for vpns with more than 2 computers given in file or on stdin). If IPs are given on commandline, the script tries hard to guess your IP.\r
368 </p>\r
369 </dd>\r
370 <dt>\r
371 <strong>-e &lt;ciphername&gt; (default=rijndael-cbc, better known as AES)</strong>\r
372 </dt>\r
373 <dd>\r
374 <p>\r
375 Cipher name. Will be matched against ciphers available for ipsec (all ciphers not only the available ciphers on your box).\r
376 eg. "-e two" will match twofish-cbc. If more then one ciphers matches your regexp than the matches are printed and grml-vpn aborts.\r
377 </p>\r
378 </dd>\r
379 <dt>\r
380 <strong>-b &lt;keysize&gt; (default=256 bit)</strong>\r
381 </dt>\r
382 <dd>\r
383 <p>\r
384 Keysize used for your encryption.\r
385 </p>\r
386 </dd>\r
387 <dt>\r
388 <strong>-k &lt;key&gt;</strong>\r
389 </dt>\r
390 <dd>\r
391 <p>\r
392 Your key/password for the vpn (will be hashed).\r
393 </p>\r
394 </dd>\r
395 <dt>\r
396 <strong>-K &lt;raw-key&gt;</strong>\r
397 </dt>\r
398 <dd>\r
399 <p>\r
400 Set raw key (you determine the keysize, not -b).\r
401 </p>\r
402 </dd>\r
403 <dt>\r
404 <strong>-f &lt;input-file&gt;</strong>\r
405 </dt>\r
406 <dd>\r
407 <p>\r
408 Read IPs for encrypted connections from file (same as from stdin).\r
409 </p>\r
410 </dd>\r
411 <dt>\r
412 <strong>-c</strong>\r
413 </dt>\r
414 <dd>\r
415 <p>\r
416 Read IPs from stdin (setkey commands are not written until _all_ IPs are read from stdin).\r
417 </p>\r
418 </dd>\r
419 <dt>\r
420 <strong>-p</strong>\r
421 </dt>\r
422 <dd>\r
423 <p>\r
424 Only print the setkey commands (eg. grml-vpn -p &#8230; |setkey -c).\r
425 USE THIS if you create a vpn with many computers, because this is a bit faster).\r
426 </p>\r
427 </dd>\r
428 <dt>\r
429 <strong>-x</strong>\r
430 </dt>\r
431 <dd>\r
432 <p>\r
433 Print a standalone shellscript which only needs setkey to setup the vpn.\r
434 </p>\r
435 </dd>\r
436 </dl>\r
437 </div>\r
438 <h2>EXAMPLES</h2>\r
439 <div class="sectionbody">\r
440 <dl>\r
441 <dt>\r
442 <strong>grml-vpn -k testpw -b 128 add 1000 192.168.0.1 192.168.0.2</strong>\r
443 </dt>\r
444 <dd>\r
445 <p>\r
446 Creates encrypted connections between the two IPs possible, with the pre shared key (PSK) testpw and 128bit rijndael-cbc. You have to execute this command on both computers (if you type this command only on one computer, then it's impossible to create an connection between the two computers).\r
447 NOTE: with only 2 computers it's not necessary to specify your own ip with -a.\r
448 </p>\r
449 </dd>\r
450 <dt>\r
451 <strong>fakeroot grml-vpn -p -k testpw -b 128 add 1000 192.168.0.1 192.168.0.2</strong>\r
452 </dt>\r
453 <dd>\r
454 <p>\r
455 Same as above, but also possible as user.\r
456 Use -x instead of -p if you want a full functional shellscript to be printed to stdout.\r
457 </p>\r
458 </dd>\r
459 <dt>\r
460 <strong>grml-vpn -e bl -b 255 -a 192.168.0.2 add 2000 192.168.0.1 192.168.0.2 192.168.0.3</strong>\r
461 </dt>\r
462 <dd>\r
463 <p>\r
464 Encrypted connections between all 3 computers. This command should be executed on 192.168.0.2 (-a) and on the other two computers with the appropriate -a &lt;IP&gt;.\r
465 The cipher is blowfisch-cbc (no, -e bl is NO typo ;).\r
466 </p>\r
467 </dd>\r
468 <dt>\r
469 <strong>grml-vpn -a 192.168.0.2 del 2000 192.168.0.1 192.168.0.2 192.168.0.3</strong>\r
470 </dt>\r
471 <dd>\r
472 <p>\r
473 This command deletes the previous created encrypted connections on 192.168.0.2 (after this command it's impossible to send data to 192.168.0.{1,3} until you delete the vpn entrys on them (no, even ssh does not work anymore).\r
474 You should execute this command on all computers of the vpn (with the appropriate -a &lt;IP&gt; option). You could also use grml-crypt clear to clear all vpn settings.\r
475 </p>\r
476 </dd>\r
477 </dl>\r
478 </div>\r
479 <h2>SEE ALSO</h2>\r
480 <div class="sectionbody">\r
481 <p>setkey(8)</p>\r
482 </div>\r
483 <h2>AUTHOR</h2>\r
484 <div class="sectionbody">\r
485 <p>grml-vpn was written by Michael Gebetsroither &lt;michael.geb@gmx.at&gt;.</p>\r
486 <p>This manual page was written by Michael Gebetsroither &lt;gebi@grml.org&gt;.</p>\r
487 </div>\r
488 <div id="footer">\r
489 <div id="footer-text">\r
490 Last updated 16-Sep-2007 02:51:42 CEST\r
491 </div>\r
492 </div>\r
493 </body>\r
494 </html>\r