Fix check for presence of ECDSA public key for outgoing connections.
[tinc] / README
1 This is the README file for tinc version 1.1pre7. 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.1pre7 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, tinc is still compatible with
43 1.0.X and 1.1pre7 itself, but not with any other 1.1preX version.
44
45
46 Requirements
47 ------------
48
49 In order to compile tinc, you will need a GNU C compiler environment. Please
50 ensure you have the latest stable versions of all the required libraries:
51
52 - OpenSSL (http://www.openssl.org/) version 1.0.0 or later.
53
54 The following libraries are used by default, but can be disabled if necessary:
55
56 - zlib (http://www.gzip.org/zlib/)
57 - lzo (http://www.oberhumer.com/opensource/lzo/)
58 - ncurses (http://invisible-island.net/ncurses/)
59 - readline (ftp://ftp.gnu.org/pub/gnu/readline/)
60
61
62 Features
63 --------
64
65 Tinc is a peer-to-peer VPN daemon that supports VPNs with an arbitrary number
66 of nodes. Instead of configuring tunnels, you give tinc the location and
67 public key of a few nodes in the VPN. After making the initial connections to
68 those nodes, tinc will learn about all other nodes on the VPN, and will make
69 connections automatically. When direct connections are not possible, data will
70 be forwarded by intermediate nodes.
71
72 By default, nodes authenticate each other using 2048 bit RSA (or 521 bit
73 ECDSA*) keys. Traffic is encrypted using Blowfish in CBC mode (or AES-256 in
74 CTR mode*), authenticated using HMAC-SHA1 (or HMAC-SHA-256*), and is protected
75 against replay attacks.
76
77 *) When using the ExperimentalProtocol option.
78
79 Tinc fully supports IPv6.
80
81 Tinc can operate in several routing modes. In the default mode, "router", every
82 node is associated with one or more IPv4 and/or IPv6 Subnets. The other two
83 modes, "switch" and "hub", let the tinc daemons work together to form a virtual
84 Ethernet network switch or hub.
85
86 Normally, when started tinc will detach and run in the background. In a native
87 Windows environment this means tinc will intall itself as a service, which will
88 restart after reboots.  To prevent tinc from detaching or running as a service,
89 use the -D option.
90
91 The status of the VPN can be queried using the "tinc" command, which connects
92 to a running tinc daemon via a control connection. The same tool also makes it
93 easy to start and stop tinc, and to change its configuration.