~ubuntu-branches/ubuntu/lucid/anytun/lucid

« back to all changes in this revision

Viewing changes to src/man/anytun.8.txt

  • Committer: Bazaar Package Importer
  • Author(s): Michael Prokop
  • Date: 2009-12-14 02:08:25 UTC
  • Revision ID: james.westby@ubuntu.com-20091214020825-ntyi58y4wvsaglhi
Tags: upstream-0.3.2
ImportĀ upstreamĀ versionĀ 0.3.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
anytun(8)
 
2
=========
 
3
 
 
4
NAME
 
5
----
 
6
anytun - anycast tunneling daemon
 
7
 
 
8
SYNOPSIS
 
9
--------
 
10
 
 
11
....
 
12
anytun
 
13
  [ -h|--help ]
 
14
  [ -D|--nodaemonize ]
 
15
  [ -u|--username <username> ]
 
16
  [ -g|--groupname <groupname> ]
 
17
  [ -C|--chroot <path> ]
 
18
  [ -P|--write-pid <filename> ]
 
19
  [ -L|--log <target>:<level>[,<param1>[,<param2>[..]]] ]
 
20
  [ -i|--interface <ip-address> ]
 
21
  [ -p|--port <port> ]
 
22
  [ -r|--remote-host <hostname|ip> ]
 
23
  [ -o|--remote-port <port> ]
 
24
  [ -4|--ipv4-only ]
 
25
  [ -6|--ipv6-only ]
 
26
  [ -I|--sync-interface <ip-address> ]
 
27
  [ -S|--sync-port port> ]
 
28
  [ -M|--sync-hosts <hostname|ip>[:<port>][,<hostname|ip>[:<port>][...]] ]
 
29
  [ -X|--control-host <hostname|ip>[:<port>]
 
30
  [ -d|--dev <name> ]
 
31
  [ -t|--type <tun|tap> ]
 
32
  [ -n|--ifconfig <local>/<prefix> ]
 
33
  [ -x|--post-up-script <script> ]
 
34
  [ -R|--route <net>/<prefix length> ]
 
35
  [ -m|--mux <mux-id> ]
 
36
  [ -s|--sender-id <sender id> ]
 
37
  [ -w|--window-size <window size> ]
 
38
  [ -k|--kd-prf <kd-prf type> ]
 
39
  [ -e|--role <role> ]
 
40
  [ -E|--passphrase <pass phrase> ]
 
41
  [ -K|--key <master key> ]
 
42
  [ -A|--salt <master salt> ]
 
43
  [ -c|--cipher <cipher type> ]
 
44
  [ -a|--auth-algo <algo type> ]
 
45
  [ -b|--auth-tag-length <length> ]
 
46
....
 
47
 
 
48
DESCRIPTION
 
49
-----------
 
50
 
 
51
*Anytun* is an implementation of the Secure Anycast Tunneling Protocol
 
52
(SATP). It provides a complete VPN solution similar to OpenVPN or
 
53
IPsec in tunnel mode. The main difference is that anycast allows a
 
54
setup of tunnels between an arbitrary combination of anycast, unicast
 
55
and multicast hosts.
 
56
 
 
57
OPTIONS
 
58
-------
 
59
 
 
60
*Anytun* has been designed as a peer to peer application, so there is
 
61
no difference between client and server. The following options can be
 
62
passed to the daemon:
 
63
 
 
64
*-D, --nodaemonize*::
 
65
   This option instructs *Anytun* to run in foreground
 
66
   instead of becoming a daemon which is the default.
 
67
 
 
68
*-u, --username <username>*::
 
69
   run as this user. If no group is specified (*-g*) the default group of 
 
70
   the user is used. The default is to not drop privileges.
 
71
 
 
72
*-g, --groupname <groupname>*::
 
73
   run as this group. If no username is specified (*-u*) this gets ignored.
 
74
   The default is to not drop privileges.
 
75
 
 
76
*-C, --chroot <path>*::
 
77
   Instruct *Anytun* to run in a chroot jail. The default is 
 
78
   to not run in chroot.
 
79
 
 
80
*-P, --write-pid <filename>*::
 
81
   Instruct *Anytun* to write it's pid to this file. The default is 
 
82
   to not create a pid file.
 
83
 
 
84
*-L, --log <target>:<level>[,<param1>[,<param2>[..]]]*::
 
85
   add log target to logging system. This can be invoked several times
 
86
   in order to log to different targets at the same time. Every target 
 
87
   hast its own log level which is a number between 0 and 5. Where 0 means
 
88
   disabling log and 5 means debug messages are enabled. +
 
89
   The file target can be used more the once with different levels.
 
90
   If no target is provided at the command line a single target with the 
 
91
   config *syslog:3,anytun,daemon* is added. +
 
92
   The following targets are supported:
 
93
 
 
94
   *syslog*;; log to syslog daemon, parameters <level>[,<logname>[,<facility>]]
 
95
   *file*;; log to file, parameters <level>[,<path>]
 
96
   *stdout*;; log to standard output, parameters <level>
 
97
   *stderr*;; log to standard error, parameters <level> 
 
98
 
 
99
*-i, --interface <ip address>*::
 
100
   This IP address is used as the sender address for outgoing
 
101
   packets. In case of anycast tunnel endpoints, the anycast
 
102
   IP has to be used. In case of unicast endpoints, the
 
103
   address is usually derived correctly from the routing
 
104
   table. The default is to not use a special inteface and just
 
105
   bind on all interfaces.
 
106
 
 
107
*-p, --port <port>*::
 
108
   The local UDP port that is used to send and receive the
 
109
   payload data. The two tunnel endpoints can use different
 
110
   ports. If a tunnel endpoint consists of multiple anycast
 
111
   hosts, all hosts have to use the same port. default: 4444
 
112
 
 
113
*-r, --remote-host <hostname|ip>*::
 
114
   This option can be used to specify the remote tunnel
 
115
   endpoint. In case of anycast tunnel endpoints, the
 
116
   anycast IP address has to be used. If you do not specify
 
117
   an address, it is automatically determined after receiving
 
118
   the first data packet.
 
119
 
 
120
*-o, --remote-port <port>*::
 
121
   The UDP port used for payload data by the remote host
 
122
   (specified with -p on the remote host). If you do not specify
 
123
   a port, it is automatically determined after receiving
 
124
   the first data packet.
 
125
 
 
126
*-4, --ipv4-only*::
 
127
   Resolv to IPv4 addresses only. The default is to resolv both
 
128
   IPv4 and IPv6 addresses.
 
129
 
 
130
*-6, --ipv6-only*::
 
131
   Resolv to IPv6 addresses only. The default is to resolv both
 
132
   IPv4 and IPv6 addresses.
 
133
 
 
134
*-I, --sync-interface <ip-address>*::
 
135
   local unicast(sync) ip address to bind to +
 
136
   This option is only needed for tunnel endpoints consisting
 
137
   of multiple anycast hosts. The unicast IP address of
 
138
   the anycast host can be used here. This is needed for
 
139
   communication with the other anycast hosts. The default is to 
 
140
   not use a special inteface and just bind on all interfaces. However
 
141
   this is only the case if synchronisation is active see *--sync-port*.
 
142
 
 
143
*-S, --sync-port <port>*::
 
144
   local unicast(sync) port to bind to +
 
145
   This option is only needed for tunnel endpoints
 
146
   consisting of multiple anycast hosts. This port is used
 
147
   by anycast hosts to synchronize information about tunnel
 
148
   endpoints. No payload data is transmitted via this port.
 
149
   By default the synchronisation is disabled an therefore the
 
150
   port is kept empty. +
 
151
   It is possible to obtain a list of active connections
 
152
   by telnetting into this port. This port is read-only
 
153
   and unprotected by default. It is advised to protect
 
154
   this port using firewall rules and, eventually, IPsec.
 
155
 
 
156
*-M, --sync-hosts <hostname|ip>[:<port>],[<hostname|ip>[:<port>][...]]*::
 
157
   remote hosts to sync with +
 
158
   This option is only needed for tunnel endpoints consisting
 
159
   of multiple anycast hosts. Here, one has to specify all
 
160
   unicast IP addresses of all other anycast hosts that
 
161
   comprise the anycast tunnel endpoint. By default synchronisation is
 
162
   disabled and therefore this is empty. Mind that the port can be
 
163
   omitted in which case port 2323 is used. If you want to specify an
 
164
   ipv6 address and a port you have to use [ and ] to seperate the address
 
165
   from the port, eg.: [::1]:1234. If you want to use the default port 
 
166
   [ and ] can be omitted.
 
167
 
 
168
*-X, --control-host <hostname|ip>[:<port>]*::
 
169
   fetch the config from this host. The default is not to use a control
 
170
   host and therefore this is empty. Mind that the port can be omitted 
 
171
   in which case port 2323 is used. If you want to specify an
 
172
   ipv6 address and a port you have to use [ and ] to seperate the address
 
173
   from the port, eg.: [::1]:1234. If you want to use the default port 
 
174
   [ and ] can be omitted.
 
175
 
 
176
*-d, --dev <name>*::
 
177
   device name +
 
178
   By default, tapN is used for Ethernet tunnel interfaces,
 
179
   and tunN for IP tunnels, respectively. This option can
 
180
   be used to manually override these defaults.
 
181
 
 
182
*-t, --type <tun|tap>*::
 
183
   device type +
 
184
   Type of the tunnels to create. Use tap for Ethernet
 
185
   tunnels, tun for IP tunnels.
 
186
 
 
187
*-n, --ifconfig <local>/<prefix>*::
 
188
   The local IP address and prefix length. The remote tunnel endpoint
 
189
   has to use a different IP address in the same subnet.
 
190
 
 
191
   *<local>*;; the local IP address for the tun/tap device
 
192
   *<prefix>*;; the prefix length of the network
 
193
 
 
194
*-x, --post-up-script <script>*::
 
195
   This option instructs *Anytun* to run this script after the interface 
 
196
   is created. By default no script will be executed.
 
197
 
 
198
*-R, --route <net>/<prefix length>*::
 
199
   add a route to connection. This can be invoked several times.
 
200
 
 
201
*-m, --mux <mux-id>*::
 
202
   the multiplex id to use. default: 0
 
203
 
 
204
*-s, --sender-id  <sender id>*::
 
205
   Each anycast tunnel endpoint needs a uniqe sender id
 
206
   (1, 2, 3, ...). It is needed to distinguish the senders
 
207
   in case of replay attacks. This option can be ignored on
 
208
   unicast endpoints. default: 0
 
209
 
 
210
*-w, --window-size <window size>*::
 
211
   seqence window size +
 
212
   Sometimes, packets arrive out of order on the receiver
 
213
   side. This option defines the size of a list of received
 
214
   packets' sequence numbers. If, according to this list,
 
215
   a received packet has been previously received or has
 
216
   been transmitted in the past, and is therefore not in
 
217
   the list anymore, this is interpreted as a replay attack
 
218
   and the packet is dropped. A value of 0 deactivates this
 
219
   list and, as a consequence, the replay protection employed
 
220
   by filtering packets according to their secuence number.
 
221
   By default the sequence window is disabled and therefore a
 
222
   window size of 0 is used.
 
223
 
 
224
*-k, --kd--prf <kd-prf type>*::
 
225
   key derivation pseudo random function +
 
226
   The pseudo random function which is used for calculating the 
 
227
   session keys and session salt. +
 
228
   Possible values:
 
229
 
 
230
   *null*;; no random function, keys and salt are set to 0..00
 
231
   *aes-ctr*;; AES in counter mode with 128 Bits, default value
 
232
   *aes-ctr-128*;; AES in counter mode with 128 Bits
 
233
   *aes-ctr-192*;; AES in counter mode with 192 Bits
 
234
   *aes-ctr-256*;; AES in counter mode with 256 Bits
 
235
 
 
236
*-e, --role <role>*::
 
237
   SATP uses different session keys for inbound and outbound traffic. The
 
238
   role parameter is used to determine which keys to use for outbound or
 
239
   inbound packets. On both sides of a vpn connection different roles have 
 
240
   to be used. Possible values are *left* and *right*. You may also use 
 
241
   *alice* or *server* as a replacement for *left* and *bob* or *client* as 
 
242
   a replacement for *right*. By default *left* is used.
 
243
 
 
244
*-E, --passphrase <pass phrase>*::
 
245
   This passphrase is used to generate the master key and master salt.
 
246
   For the master key the last n bits of the SHA256 digest of the 
 
247
   passphrase (where n is the length of the master key in bits) is used. 
 
248
   The master salt gets generated with the SHA1 digest. 
 
249
   You may force a specific key and or salt by using *--key* and *--salt*.
 
250
 
 
251
*-K, --key <master key>*::
 
252
   master key to use for key derivation +
 
253
   Master key in hexadecimal notation, e.g.
 
254
   01a2b3c4d5e6f708a9b0cadbecfd0fa1, with a mandatory length
 
255
   of 32, 48 or 64 characters (128, 192 or 256 bits).
 
256
 
 
257
*-A, --salt <master salt>*::
 
258
   master salt to use for key derivation +
 
259
   Master salt in hexadecimal notation, e.g.
 
260
   01a2b3c4d5e6f708a9b0cadbecfd, with a mandatory length
 
261
   of 28 characters (14 bytes).
 
262
 
 
263
*-c, --cipher <cipher type>*::
 
264
   payload encryption algorithm +
 
265
   Encryption algorithm used for encrypting the payload +
 
266
   Possible values:
 
267
 
 
268
   *null*;; no encryption
 
269
   *aes-ctr*;; AES in counter mode with 128 Bits, default value
 
270
   *aes-ctr-128*;; AES in counter mode with 128 Bits
 
271
   *aes-ctr-192*;; AES in counter mode with 192 Bits
 
272
   *aes-ctr-256*;; AES in counter mode with 256 Bits
 
273
 
 
274
*-a, --auth-algo <algo type>*::
 
275
   message authentication algorithm +
 
276
   This option sets the message authentication algorithm. +
 
277
   If HMAC-SHA1 is used, the packet length is increased. The additional bytes 
 
278
   contain the authentication data. see *--auth-tag-length* for more info. +
 
279
   Possible values:
 
280
 
 
281
   *null*;; no message authentication
 
282
   *sha1*;; HMAC-SHA1, default value
 
283
 
 
284
*-b, --auth-tag-length <length>*::
 
285
   The number of bytes to use for the auth tag. This value defaults to 10 bytes 
 
286
   unless the *null* auth algo is used in which case it defaults to 0. 
 
287
 
 
288
 
 
289
EXAMPLES
 
290
--------
 
291
 
 
292
P2P Setup between two unicast enpoints:
 
293
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
294
 
 
295
Host A:
 
296
^^^^^^^
 
297
 
 
298
anytun -r hostb.example.com -t tun -n 192.168.123.1/30 -c aes-ctr-256 -k aes-ctr-256 \
 
299
       -E have_a_very_safe_and_productive_day -e left
 
300
 
 
301
Host B:
 
302
^^^^^^^
 
303
anytun -r hosta.example.com -t tun -n 192.168.123.2/30 -c aes-ctr-256 -k aes-ctr-256 \
 
304
       -E have_a_very_safe_and_productive_day -e right
 
305
 
 
306
 
 
307
One unicast and one anycast tunnel endpoint:
 
308
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
309
 
 
310
Unicast tunnel endpoint:
 
311
^^^^^^^^^^^^^^^^^^^^^^^^
 
312
 
 
313
anytun -r anycast.anytun.org -d anytun0 -t tun -n 192.0.2.2/30 -a null -c null -w 0 -e client
 
314
 
 
315
Anycast tunnel endpoints:
 
316
^^^^^^^^^^^^^^^^^^^^^^^^^
 
317
 
 
318
On the host with unicast hostname unicast1.anycast.anytun.org and anycast 
 
319
hostname anycast.anytun.org:
 
320
-------------------------------------------------------------------------------------------------
 
321
# anytun -i anycast.anytun.org -d anytun0 -t tun -n 192.0.2.1/30 -a null -c null -w 0 -e server \
 
322
         -S 2342 -M unicast2.anycast.anytun.org:2342,unicast3.anycast.anytun.org:2342
 
323
-------------------------------------------------------------------------------------------------
 
324
 
 
325
On the host with unicast hostname unicast2.anycast.anytun.org and anycast
 
326
hostname anycast.anytun.org:
 
327
-------------------------------------------------------------------------------------------------
 
328
# anytun -i anycast.anytun.org -d anytun0 -t tun -n 192.0.2.1/30 -a null -c null -w 0 -e server \
 
329
         -S 2342 -M unicast1.anycast.anytun.org:2342,unicast3.anycast.anytun.org:2342
 
330
-------------------------------------------------------------------------------------------------
 
331
 
 
332
On the host with unicast hostname unicast3.anycast.anytun.org and anycast
 
333
hostname anycast.anytun.org:
 
334
-------------------------------------------------------------------------------------------------
 
335
# anytun -i anycast.anytun.org -d anytun0 -t tun -n 192.0.2.1/30 -a null -c null -w 0 -e server \
 
336
         -S 2342 -M unicast1.anycast.anytun.org:2342,unicast2.anycast.anytun.org:2342
 
337
-------------------------------------------------------------------------------------------------
 
338
 
 
339
For more sophisticated examples (like multiple unicast endpoints to one
 
340
anycast tunnel endpoint) please consult the man page of anytun-config(8).
 
341
 
 
342
 
 
343
BUGS
 
344
----
 
345
Most likely there are some bugs in *Anytun*. If you find a bug, please let
 
346
the developers know at satp@anytun.org. Of course, patches are preferred.
 
347
 
 
348
SEE ALSO
 
349
--------
 
350
anytun-config(8), anytun-controld(8), anytun-showtables(8)
 
351
 
 
352
AUTHORS
 
353
-------
 
354
 
 
355
Othmar Gsenger <otti@anytun.org>
 
356
Erwin Nindl <nine@anytun.org>
 
357
Christian Pointner <equinox@anytun.org>
 
358
 
 
359
 
 
360
RESOURCES
 
361
---------
 
362
 
 
363
Main web site: http://www.anytun.org/
 
364
 
 
365
 
 
366
COPYING
 
367
-------
 
368
 
 
369
Copyright \(C) 2007-2009 Othmar Gsenger, Erwin Nindl and Christian
 
370
Pointner. This  program is  free software: you can redistribute it 
 
371
and/or modify it under the terms of the GNU General Public License 
 
372
as published by the Free Software Foundation, either version 3 of 
 
373
the License, or any later version.