[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This chapter contains information on how to prepare your system to support tinc.
2.1 Configuring the kernel 2.2 Libraries
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you are running Linux, chances are good that your kernel already supports all the devices that tinc needs for proper operation. For example, the standard kernel from Redhat Linux already has support for ethertap and netlink compiled in. Debian users can use the modconf utility to select the modules. If your Linux distribution supports this method of selecting devices, look out for something called `ethertap', and `netlink_dev' if it is using a kernel version prior to 2.4.0. In that case you will need both these devices. If you are using kernel 2.4.0 or later, you need to select `tun'.
If you can install these devices in a similar manner, you may skip this section. Otherwise, you will have to recompile the kernel in order to turn on the required features. If you are unfamiliar with the process of configuring and compiling a new kernel, you should read the Kernel HOWTO first.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Here are the options you have to turn on when configuring a new kernel:
Code maturity level options [*] Prompt for development and/or incomplete code/drivers Networking options [*] Kernel/User netlink socket <M> Netlink device emulation Network device support <M> Ethertap network tap |
If you want to run more than one instance of tinc or other programs that use the ethertap, you have to compile the ethertap driver as a module, otherwise you can also choose to compile it directly into the kernel.
If you decide to build any of these as dynamic kernel modules, it's a good idea to add these lines to `/etc/modules.conf':
alias char-major-36 netlink_dev alias tap0 ethertap options tap0 -o tap0 unit=0 alias tap1 ethertap options tap1 -o tap1 unit=1 ... alias tapN ethertap options tapN -o tapN unit=N |
Add as much alias/options lines as necessary.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Here are the options you have to turn on when configuring a new kernel:
Code maturity level options [*] Prompt for development and/or incomplete code/drivers Network device support <M> Universal tun/tap device driver support |
It's not necessary to compile this driver as a module, even if you are going to run more than one instance of tinc.
If you have an early 2.4 kernel, you can choose both the tun/tap driver and the `Ethertap network tap' device. This latter is marked obsolete, and chances are that it won't even function correctly anymore. Make sure you select the universal tun/tap driver.
If you decide to build the tun/tap driver as a kernel module, add these lines to `/etc/modules.conf':
alias char-major-10-200 tun |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section will contain information on how to configure your FreeBSD kernel to support the universal tun/tap device. For 4.1 and higher versions, this is included in the default kernel configuration, for earlier systems (4.0 and earlier), you need to install the universal tun/tap driver yourself.
Unfortunately somebody still has to write the text.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section will contain information on how to configure your OpenBSD kernel to support the tun device. For 2.9 and 3.0 systems, this is included in the default kernel configuration.
Unfortunately somebody still has to write the text.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section will contain information on how to configure your Solaris kernel to support the universal tun/tap device. For Solaris 8 (SunOS 5.8), this is included in the default kernel configuration.
Unfortunately somebody still has to write the text.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Before you can configure or build tinc, you need to have the OpenSSL library installed on your system. If you try to configure tinc without having installed it, configure will give you an error message, and stop.
2.2.1 OpenSSL 2.2.2 zlib
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
For all cryptography-related functions, tinc uses the functions provided by the OpenSSL library.
If this library is not installed, you wil get an error when configuring tinc for build. Support for running tinc without having OpenSSL installed may be added in the future.
You can use your operating system's package manager to install this if available. Make sure you install the development AND runtime versions of this package.
If you have to install OpenSSL manually, you can get the source code from http://www.openssl.org/. Instructions on how to configure, build and install this package are included within the package. Please make sure you build development and runtime libraries (which is the default).
If you installed the OpenSSL libraries from source, it may be necessary to let configure know where they are, by passing configure one of the --with-openssl-* parameters.
--with-openssl=DIR OpenSSL library and headers prefix --with-openssl-include=DIR OpenSSL headers directory (Default is OPENSSL_DIR/include) --with-openssl-lib=DIR OpenSSL library directory (Default is OPENSSL_DIR/lib) |
Since the license under which OpenSSL is distributed is not directly compatible with the terms of the GNU GPL http://www.openssl.org/support/faq.html#LEGAL2, therefore we include an addition to the GPL (see also the file COPYING.README):
This program is released under the GPL with the additional exemption that compiling, linking, and/or using OpenSSL is allowed. You may provide binary packages linked to the OpenSSL libraries, provided that all other requirements of the GPL are met.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
For the optional compression of UDP packets, tinc uses the functions provided by the zlib library.
If this library is not installed, you wil get an error when configuring tinc for build. Support for running tinc without having zlib installed may be added in the future.
You can use your operating system's package manager to install this if available. Make sure you install the development AND runtime versions of this package.
If you have to install zlib manually, you can get the source code from http://www.gzip.org/zlib/. Instructions on how to configure, build and install this package are included within the package. Please make sure you build development and runtime libraries (which is the default).
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |