Releasing 1.1pre8.
[tinc] / README
1 This is the README file for tinc version 1.1pre8. Installation
2 instructions may be found in the INSTALL file.
3
4 tinc is Copyright (C) 1998-2013 by:
5
6 Ivo Timmermans,
7 Guus Sliepen <guus@tinc-vpn.org>,
8 and others.
9
10 For a complete list of authors see the AUTHORS file.
11
12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2 of the License, or (at
15 your option) any later version. See the file COPYING for more details.
16
17
18 This is a pre-release
19 ---------------------
20
21 Please note that this is NOT a stable release. Until version 1.1.0 is released,
22 please use one of the 1.0.x versions if you need a stable version of tinc.
23
24 Although tinc 1.1 will be protocol compatible with tinc 1.0.x, the
25 functionality of the tinc program may still change, and the control socket
26 protocol is not fixed yet.
27
28
29 Security statement
30 ------------------
31
32 This version uses an experimental and unfinished cryptographic protocol. Use it
33 at your own risk.
34
35
36 Compatibility
37 -------------
38
39 Version 1.1pre8 is compatible with 1.0pre8, 1.0 and later, but not with older
40 versions of tinc.
41
42 When the ExperimentalProtocol option is used, which is the default since
43 1.1pre8, tinc is still compatible with 1.0.X and 1.1pre8 itself, but not with
44 any other 1.1preX version.
45
46
47 Requirements
48 ------------
49
50 In order to compile tinc, you will need a GNU C compiler environment. Please
51 ensure you have the latest stable versions of all the required libraries:
52
53 - OpenSSL (http://www.openssl.org/) version 1.0.0 or later, with support for
54   elliptic curve cryptography (ECC) enabeld.
55
56 The following libraries are used by default, but can be disabled if necessary:
57
58 - zlib (http://www.gzip.org/zlib/)
59 - lzo (http://www.oberhumer.com/opensource/lzo/)
60 - ncurses (http://invisible-island.net/ncurses/)
61 - readline (ftp://ftp.gnu.org/pub/gnu/readline/)
62
63
64 Features
65 --------
66
67 Tinc is a peer-to-peer VPN daemon that supports VPNs with an arbitrary number
68 of nodes. Instead of configuring tunnels, you give tinc the location and
69 public key of a few nodes in the VPN. After making the initial connections to
70 those nodes, tinc will learn about all other nodes on the VPN, and will make
71 connections automatically. When direct connections are not possible, data will
72 be forwarded by intermediate nodes.
73
74 By default, nodes authenticate each other using 2048 bit RSA (or 521 bit
75 ECDSA*) keys. Traffic is encrypted using Blowfish in CBC mode (or AES-256 in
76 CTR mode*), authenticated using HMAC-SHA1 (or HMAC-SHA-256*), and is protected
77 against replay attacks.
78
79 *) When using the ExperimentalProtocol option.
80
81 Tinc fully supports IPv6.
82
83 Tinc can operate in several routing modes. In the default mode, "router", every
84 node is associated with one or more IPv4 and/or IPv6 Subnets. The other two
85 modes, "switch" and "hub", let the tinc daemons work together to form a virtual
86 Ethernet network switch or hub.
87
88 Normally, when started tinc will detach and run in the background. In a native
89 Windows environment this means tinc will intall itself as a service, which will
90 restart after reboots.  To prevent tinc from detaching or running as a service,
91 use the -D option.
92
93 The status of the VPN can be queried using the "tinc" command, which connects
94 to a running tinc daemon via a control connection. The same tool also makes it
95 easy to start and stop tinc, and to change its configuration.