[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Preparations

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] [ ? ]

2.1 Configuring the kernel

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.

2.1.1 Configuration of Linux kernels 2.1.60 up to 2.4.0  
2.1.2 Configuration of Linux kernels 2.4.0 and higher  
2.1.3 Configuration of FreeBSD kernels  
2.1.4 Configuration of OpenBSD kernels  
2.1.5 Configuration of Solaris kernels  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.1 Configuration of Linux kernels 2.1.60 up to 2.4.0

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] [ ? ]

2.1.2 Configuration of Linux kernels 2.4.0 and higher

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] [ ? ]

2.1.3 Configuration of FreeBSD kernels

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] [ ? ]

2.1.4 Configuration of OpenBSD kernels

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] [ ? ]

2.1.5 Configuration of Solaris kernels

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] [ ? ]

2.2 Libraries

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] [ ? ]

2.2.1 OpenSSL

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)

License

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] [ ? ]

2.2.2 zlib

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] [ ? ]

This document was generated by luser on April, 9 2002 using texi2html