Tinc
tinc ist ein Virtual Privat Network (VPN) Dienst der Tunnels und Verschlüsselung verwendet, um sichere Verbindungen zwischen zwei Hosts herzustellen. tinc ist freie Software und unter der GNU General Public License veröffentlicht.
Features
- Verschlüsselung, Authentifizierung und Daten-Kompression
- Automatisches mesh-routing
- Einfaches Erweitern des VPNs
- Möglickeit Ethernet Segmente zu brücken (Bridging)
- Unterstützung für viele Betriebssysteme (Linux, FreeBSD, OpenBSD, NetBSD, MacOS/X, Solaris, Windows 2000 und XP)
- Unterstützung von IPv6
(Quelle: http://www.tinc-vpn.org/)
tinc im Freifunk-Netz
In Freifunk-Netzen ist tinc besonders attraktiv, da darüber mehrere getrennte Funkwolken über das Internet miteinander verbunden werden können. Der Dienst arbeitet dabei zugleich als Server und Client und erlaubt mehrere Verbindungen gleichzeitig. Fällt ein VPN-Zugangspunkt aus, wird automatisch einer der Anderen konfigurierten Zugangspunkte verwendet. Durch die Dezentralität sind die abgelegenen Funkwolken nicht von einem zentralen VPN-Server abhängig.
Startscript FreifunkFirmware WhiteRussian
#! /bin/sh # # System startup script for tinc # $Id: init.d,v 1.14.2.4 2000/12/05 09:03:41 zarq Exp $ # # Based on Lubomir Bulej's Redhat init script. # # Modified for openWrt by Daniel Paufler <d.paufler@leo34.net> # # Create a file $NETSFILE (/etc/tinc/nets.boot), and put all the names of # the networks in there. These names must be valid directory names under # $TCONF (/etc/tinc). Lines starting with a # will be ignored in this # file. # DAEMON="/usr/sbin/tincd" NAME="tinc" DESC="tinc daemons" TCONF="/etc/tinc" NETSFILE="$TCONF/nets.boot" NETS="" test -f $DAEMON || exit 0 find_nets () { if [ ! -f $NETSFILE ] ; then echo "Please create $NETSFILE." exit 0 fi NETS="`egrep '^[ ]*[a-zA-Z0-9_-]+[ ]*$' $NETSFILE`" } case "$1" in start) find_nets echo -n "Starting $DESC:" #do load the tun module - dpa insmod tun for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA done echo "." ;; stop) find_nets echo -n "Stopping $DESC:" for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA -k done echo "." ;; reload|force-reload) find_nets echo -n "Reloading $DESC configuration:" for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA -kHUP done echo "." ;; restart) find_nets echo -n "Restarting $DESC:" for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA -k sleep 1 $DAEMON -n $n $EXTRA done echo "." ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}" exit 1 ;; esac exit 0
Startscript Kamikaze
#!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org START=49 DAEMON="/usr/sbin/tincd" NAME="tinc" DESC="tinc daemons" TCONF="/etc/tinc" NETSFILE="$TCONF/nets.boot" NETS="" find_nets () { if [ ! -f $NETSFILE ] ; then echo "Please create $NETSFILE." exit 0 fi NETS="`egrep '^[ ]*[a-zA-Z0-9_-]+[ ]*$' $NETSFILE`" } start () { find_nets echo -n "Starting $DESC:" #do load the tun module - dpa insmod tun for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA done echo "." } stop() { find_nets echo -n "Stopping $DESC:" for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA -k done echo "." } restart () { find_nets echo -n "Restarting $DESC:" for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA -k sleep 1 $DAEMON -n $n $EXTRA done echo "." } reload () { find_nets echo -n "Reloading $DESC configuration:" for n in $NETS ; do echo -n " $n" $DAEMON -n $n $EXTRA -kHUP done echo "." }
OpenBSD und switched mode
Tinc erkennt derzeit (1.0.8) bei OpenBSD nicht, ob das Device tun (Layer 3) oder tap (Layer 2) ist. Um dennoch den switched mode mit OpenBSD zu verwenden:
- Tunnel auf Layer 2 stellen mit link0: ifconfig link0 tun0 ...
- undokumentierte Option "DeviceType = tap" in tinc.conf hinzufügen
Das Problem soll in kommenden Versionen gefixt werden.
Weblinks
- tinc Homepage: http://www.tinc-vpn.org/
- tinc Artikel im Linux-Magazin 2003/10 http://www.linux-magazin.de/heft_abo/ausgaben/2003/10/einfache_verbindung
Freifunk-Anleitungen
- Weinstadt
- tinc-Setup im Augsburger Freifunk Netz: http://augsburg.freifunk.net/setup/tinc.html
- Erfurt - Tinc-HowTo
- Leizig - Tinc Anleitung
- Anleitung für Freifunk Aachen