Tinc › Wiki › ubuntuusers.de

Originalartikel

Backup

<html> <div class=„box tested_for“> <h3 class=„box tested_for“>Dieser Artikel wurde f&#252;r die folgenden Ubuntu-Versionen getestet:</h3> </div> <div class=„box advanced“ readability=„6“> <h3 class=„box advanced“>Artikel f&#252;r fortgeschrittene Anwender</h3> <div class=„contents“ readability=„37“> <p>Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur f&#252;r fortgeschrittene Benutzer gedacht.</p> </div> </div> <div class=„box knowledge“> <h3 class=„box knowledge“>Zum Verst&#228;ndnis dieses Artikels sind folgende Seiten hilfreich:</h3> </div> <div class=„toc toc-depth-1“> <p>Inhaltsverzeichnis</p> <ol class=„arabic“><li><a href=„https://wiki.ubuntuusers.de/Tinc/#Installation“ class=„crosslink“>Installation</a></li> <li><a href=„https://wiki.ubuntuusers.de/Tinc/#Konfiguration“ class=„crosslink“>Konfiguration</a></li> <li><a href=„https://wiki.ubuntuusers.de/Tinc/#Beispiele“ class=„crosslink“>Beispiele</a></li> <li><a href=„https://wiki.ubuntuusers.de/Tinc/#Problembehebung“ class=„crosslink“>Problembehebung</a></li> <li><a href=„https://wiki.ubuntuusers.de/Tinc/#Links“ class=„crosslink“>Links</a></li> </ol></div> <p><a href=„https://media-cdn.ubuntu-de.org/wiki/attachments/36/39/tinclogo.png“ rel=„nofollow“ class=„external“><img src=„https://media-cdn.ubuntu-de.org/wiki/thumbnails/c/c2/c257090496bbe71d4063a157218b04237ef3b2b3i100x.png“ alt=„tinclogo.png“ class=„image-left“/></a> <a href=„http://tinc-vpn.org/“ rel=„nofollow“ class=„external“>Tinc</a> <img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/35/40/gb.png“ alt=„{en}“/> ist eine dezentrale <a href=„https://de.wikipedia.org/wiki/Virtual_Private_Network“ class=„interwiki interwiki-wikipedia“>Virtual-Private-Network</a>- oder kurz VPN-Software. Sie zeichnet sich durch eine sehr schlanke und einfache Konfiguration, plattform&#252;bergreifende Unterst&#252;tzung (Linux, BSD, Solaris, Mac OS X und Windows), vollst&#228;ndige <a href=„https://de.wikipedia.org/wiki/Asymmetrisches%20Kryptosystem“ class=„interwiki interwiki-wikipedia“>asymmetrische Verschl&#252;sselung</a> und dezentrales <a href=„https://de.wikipedia.org/wiki/Vermaschtes_Netz“ class=„interwiki interwiki-wikipedia“>Mesh Routing</a> aus.</p> <p>Bei letzterem verbinden sich alle Teilnehmer (Knoten) miteinander, um jeweils die beste Verbindung zu erreichen. Gleichzeitig k&#246;nnen aber beliebig viele Knoten ausfallen, ohne dass die Verbindung zwischen zwei Knoten beeintr&#228;chtigt wird, solange noch eine einzige indirekte Verbindung verbleibt. Das virtuelle Netzwerk wird dabei standardm&#228;&#223;ig auf Layer 3 (IP) im OSI-Modell erstellt.</p> <div class=„box notice“ readability=„8“> <h3 class=„box notice“>Hinweis:</h3> <div class=„contents“ readability=„41“> <p>Um diesem Artikel folgen zu k&#246;nnen, werden grundlegende Netzwerkkenntnisse vorausgesetzt. Als Beispiel wird das Subnet

10.8.0.0/16

verwendet, welches alle IP-Adressen von

10.8.0.1

bis

10.8.255.254

beinhaltet.</p> </div> </div> <div class=„box experts“ readability=„7“> <h3 class=„box experts“>Experten-Info:</h3> <div class=„contents“ readability=„38“> <p>Vor Version 1.1 unterst&#252;tzt Tinc das sogenannte <a href=„https://de.wikipedia.org/wiki/Hole%20Punching“ class=„interwiki interwiki-wikipedia“>Hole Punching</a> nicht, wie etwa die VPN-Software <a href=„http://www.ntop.org/products/n2n/“ rel=„nofollow“ class=„external“>n2n</a> <img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/35/40/gb.png“ alt=„{en}“/>. D.h. bei mindestens einem Knoten muss der von Tinc verwendete Port

655

weitergeleitet werden, und &#252;ber diesen Knoten flie&#223;t dann der komplette Netzwerkverkehr.</p> </div> </div> <div class=„section_1“ readability=„15“> <h2 id=„Installation“>Installation</h2> <p>Tinc kann direkt aus den den offiziellen Paketquellen installiert <a href=„https://wiki.ubuntuusers.de/Tinc/#source-1“>[1]</a> werden:</p> <ul><li> <p><strong>tinc</strong> (<em>universe</em>)</p> </li> </ul><p><a href=„apt:tinc“ rel=„nofollow“ class=„external“><img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/07/17/button.png“ alt=„Wiki/Vorlagen/Installbutton/button.png“ class=„image-default“/></a> mit <a href=„https://wiki.ubuntuusers.de/apturl/“ class=„internal“>apturl</a></p> <div class=„package-list contents“ readability=„37“> <p>Paketliste zum Kopieren:</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> sudo apt-get install tinc </pre></div> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> sudo aptitude install tinc </pre></div> </div> <p>Allerdings ist die enthaltene Version nicht immer die aktuellste. F&#252;r die neueste Ausgabe der Produktiv- oder Entwicklungsversion empfiehlt sich daher die Kompilierung von Hand.</p> <div class=„section_2“ readability=„17“> <h3 id=„Manuell“>Manuell</h3> <p>Den Quellcode findet man auf der <a href=„http://tinc-vpn.org/download/“ rel=„nofollow“ class=„external“>Homepage</a> <img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/35/40/gb.png“ alt=„{en}“/><img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/25/47/download.png“ alt=„{dl}“/> des Projekts, die Kompilierung erfolgt wie in <a href=„https://wiki.ubuntuusers.de/Tinc/#source-2“>[2]</a> beschrieben. Zu beachten gilt dabei, dass bei einer manuellen Kompilierung per Standard alles in das Verzeichnis <strong>/usr/local/</strong> (siehe <a href=„https://wiki.ubuntuusers.de/Verzeichnisstruktur/#usr“ class=„internal“>Verzeichnisstruktur</a>) verschoben wird. Dieses Verhalten kann wie in <a href=„https://wiki.ubuntuusers.de/Programme_kompilieren/#Weitere-Optionen“ class=„internal“>Programme kompilieren</a> beschrieben ge&#228;ndert werden. Meist m&#252;ssen neben den von &#252;ber <a href=„https://wiki.ubuntuusers.de/Tinc/#source-3“>[3]</a><a href=„https://wiki.ubuntuusers.de/Tinc/#source-4“>[4]</a>:</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> sudo apt-get build-dep tinc </pre></div> <p>gefundenen Bibliotheken noch die Pakete <strong>libreadline6-dev</strong> und <strong>libncurses5-dev</strong> nachinstalliert werden.</p> <p>Tinc 1.1 unterscheidet sich von Version 1.0 u.a. durch eine vereinfachte Konfiguration und Unterst&#252;tzung von <a href=„https://de.wikipedia.org/wiki/Elliptic%20Curve%20Cryptography“ class=„interwiki interwiki-wikipedia“>Elliptic Curve Cryptography</a>. Allerdings ist diese Version noch nicht als stabil gekennzeichnet und sollte somit nur zum Testen benutzt werden.</p> </div> </div> <div class=„section_1“ readability=„18“> <h2 id=„Konfiguration“>Konfiguration</h2> <div class=„section_2“ readability=„35“> <p>Die Konfigurationsdateien finden sich im Verzeichnis <strong>/etc/tinc/</strong>. Werden mehrere Netzwerke verwendet, so legt man f&#252;r jedes ein Unterverzeichnis an, die sp&#228;ter mit dem Parameter <code class=„notranslate“>-n Netzwerkname</code> ausgew&#228;hlt werden. Es wird empfohlen, auch f&#252;r ein einzelnes Netzwerk ein Unterverzeichnis anzulegen.</p> <p>Allgemeine Einstellungen werden in der Datei <strong>/etc/tinc/NETZWERK/tinc.conf</strong> festgelegt. F&#252;r jeden Knoten gibt es dann nochmals eine eigene Datei im Unterverzeichnis <strong>hosts</strong>. Das hosts-Verzeichnis ist dabei bei allen Knoten identisch. Diese Syntax in den Dateien folgt dem Schema <code class=„notranslate“>Variablenname = Variablenwert</code>. Zudem gibt es die Skripte <strong>tinc-up</strong> und <strong>tinc-down</strong>, welche beim Starten bzw. Beenden von Tinc ausgef&#252;hrt werden.</p> <p>Beispielsweise existiert folgende Konfiguration:</p> <pre class=„notranslate“> /etc/tinc/NETZWERK/tinc.conf /etc/tinc/NETZWERK/hosts/ersterknoten /etc/tinc/NETZWERK/hosts/zweiterknoten /etc/tinc/NETZWERK/tinc-up /etc/tinc/NETZWERK/tinc-down </pre> <div class=„section_3“ readability=„12“> <h4 id=„tinc-conf“>tinc.conf</h4> <p>Zuerst wird der Name des eigenen Knotens definiert <a href=„https://wiki.ubuntuusers.de/Tinc/#source-5“>[5]</a>:</p> <pre class=„notranslate“> Name = ersterknoten </pre> <p>Danach der Ort des TUN-Adapters (unter Linux <strong>/dev/net/tun</strong>):</p> <pre class=„notranslate“> Device = /dev/net/tun </pre> <p>Zuletzt die Angabe, zu welchen anderen Knoten verbunden werden soll (ohne diese Angabe wartet der Knoten nur auf eingehende Verbindungen):</p> <pre class=„notranslate“> ConnectTo = zweiterknoten </pre> <div class=„box notice“ readability=„5“> <h3 class=„box notice“>Hinweis:</h3> <div class=„contents“ readability=„37“> <p>Ab Tinc 1.1 l&#228;sst sich dieser Schritt komfortabel mit</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> tinc -n NETZWERK init ersterknoten </pre></div> <p>und</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> tinc -n NETZWERK add connectto zweiterknoten </pre></div> <p>ausf&#252;hren.</p> </div> </div> </div> <div class=„section_3“ readability=„21“> <h4 id=„hosts“>hosts</h4> <p>Man legt eine neue Datei mit dem Namen <strong>/etc/tinc/NETZWERK/hosts/ersterknoten</strong>, der in tinc.conf angegeben wurde, an. Zuerst wird die &#246;ffentliche IP-Adresse (oder eine darauf verweisende Domain) des Knotens angegeben.</p> <pre class=„notranslate“> Address = oeffentliche.ip.adresse.des.servers.org </pre> <p>Anschlie&#223;end das Subnet des eigenen Knotens (angenommen, der Knoten besteht nur aus einem Rechner, hat das Subnet die Maske <code class=„notranslate“>/32</code>):</p> <pre class=„notranslate“> Subnet = 10.8.0.1/32 </pre> <p>Ebenso m&#246;glich w&#228;re aber auch, jedem Knoten 255 Adressen zuzuweisen (z.B. von <code class=„notranslate“>10.8.1.0</code> bis <code class=„notranslate“>10.8.1.255</code>):</p> <pre class=„notranslate“> Subnet = 10.8.1.0/24 </pre></div> <div class=„section_3“ readability=„6“> <h4 id=„Schluessel-generieren“>Schl&#252;ssel generieren</h4> <p>Dazu wird der folgende Befehl ausgef&#252;hrt:</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> tincd -n NETZWERK -K </pre></div> <div class=„box notice“ readability=„5“> <h3 class=„box notice“>Hinweis:</h3> <div class=„contents“ readability=„36“> <p>Dieser Schritt entf&#228;llt ab Version 1.1</p> </div> </div> </div> <div class=„section_3“ readability=„10“> <h4 id=„tinc-up“>tinc-up</h4> <p>Zuletzt wird noch das ausf&#252;hrbare <a href=„https://wiki.ubuntuusers.de/Tinc/#source-6“>[6]</a> Skript <strong>tinc-up</strong> angelegt.</p> <div class=„code“> <table class=„notranslate syntaxtable“ readability=„0“><tr readability=„1“><td class=„linenos“> </td> <td class=„code“ readability=„3“> <div class=„notranslate syntax“ readability=„6“> <pre> #!/bin/sh ifconfig $INTERFACE 10.8.0.1 netmask 255.255.0.0 </pre></div> </td> </tr></table></div> <p>Die IP-Adresse gibt diejenige Adresse aus dem Knoten-Subnet an, unter der man sp&#228;ter erreichbar sein wird. Die Netzmaske entspricht hierbei der des „kompletten“ Tinc-Netzwerkes.</p> </div> </div> <div class=„section_2“ readability=„9“> <h3 id=„Weitere-Knoten“>Weitere Knoten</h3> <p>Diese Schritte werden f&#252;r jeden Knoten ausgef&#252;hrt, jeweils mit einem eigenen Subnet / eigener IP-Adresse. Als letztes werden die Dateien im host-Verzeichnis an jeden anderen Knoten weitergegeben.</p> <div class=„box notice“ readability=„7“> <h3 class=„box notice“>Hinweis:</h3> <div class=„contents“ readability=„39“> <p>Tinc 1.1 unterst&#252;tzt hierbei die komfortablen Optionen <code class=„notranslate“>import</code>, <code class=„notranslate“>export</code> und <code class=„notranslate“>exchange</code>. So kann man die Konfiguration via SSH mit dem Server <code class=„notranslate“>foobar.example.org</code> synchronisieren:</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> tinc -n netname export | ssh foobar.example.org tinc -n netname exchange | tinc -n netname import </pre></div> </div> </div> <div class=„box experts“ readability=„7“> <h3 class=„box experts“>Experten-Info:</h3> <div class=„contents“ readability=„38“> <p>Es gibt noch einige weitere Konfigurationsm&#246;glichkeiten, u.a. kann Tinc auch ein auf Layer-2-basiertes Netzwerk erstellen oder IPv6 und <a href=„https://de.wikipedia.org/wiki/ECDSA“ class=„interwiki interwiki-wikipedia“>ECDSA</a> nutzen. Hier sei auf die umfangreichen <a href=„https://wiki.ubuntuusers.de/man/“ class=„internal“>Manpages</a> von Tinc verwiesen.</p> </div> </div> </div> <div class=„section_2“ readability=„6“> <h3 id=„Tinc-starten“>Tinc starten</h3> <p>Tinc wird mit dem Kommando <code class=„notranslate“>tincd</code> bedient. Zum Starten dient die Option <code class=„notranslate“>start</code>:</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> tincd -n NETZWERK start </pre></div> <div class=„box notice“ readability=„6“> <h3 class=„box notice“>Hinweis:</h3> <div class=„contents“ readability=„38“> <p>Ab Tinc 1.1 werden alle Kommandos mit dem Befehl <code class=„notranslate“>tinc</code> (statt <code class=„notranslate“>tincd</code>) durchgef&#252;hrt. Au&#223;erdem gibt es eine &#220;bersicht &#252;ber das Netzwerk mit dem Parameter <code class=„notranslate“>top</code>.</p> </div> </div> </div> <div class=„section_2“ readability=„12“> <h3 id=„Optional-Symbolische-Namen“>Optional: Symbolische Namen</h3> <p>Man kann das eigene virtuelle Netzwerk in die Datei <strong>/etc/networks</strong> eintragen. Als Beispiel:</p> <pre class=„notranslate“> NETZWERK 10.0.0.0 # Netzwerkname und Subnet </pre> <p>Au&#223;erdem kann man in der Datei <strong>/etc/services</strong> dem Tinc-Service eine Port-Nummer (Standard: <code class=„notranslate“>655</code>) zuweisen, dadurch zeigen manche Programme statt der Portnummer den Namen des Services an:</p> <pre class=„notranslate“> tinc 655/tcp TINC tinc 655/udp TINC </pre></div> </div> <div class=„section_1“ readability=„12“> <h2 id=„Beispiele“>Beispiele</h2> <div class=„section_2“ readability=„30“> <h3 id=„Tinc-als-Default-Gateway“>Tinc als Default-Gateway</h3> <p>Wenn man Tinc als Default-Gateway nutzt, so bestimmt man einen Knoten, &#252;ber den dann der komplette eigene Internetverkehr geroutet wird - mit Ausnahme der Verbindung zu diesem Knoten. Dann benutzt man dieses Knoten als VPN, um z.B. Zensur zu umgehen oder Man-in-the-middle-Attacken in &#246;ffentlichen WLANs vorzubeugen. Bei OpenVPN ist dies als <code class=„notranslate“>redirect-gateway</code> bekannt. Im Folgenden wird der Knoten, der das VPN bereitstellt, <em>„Server“</em> genannt, die Knoten, welche ihre Verbindung &#252;ber den Server leiten, <em>„Client“</em>.</p> <div class=„section_3“ readability=„25“> <h4 id=„Server“>Server</h4> <p>Allgemein muss dazu in der Datei <strong>/etc/sysctl.conf</strong> die IP-Weiterleitung aktiviert sein. Dazu entfernt man das Kommentarzeichen vor der entsprechenden Zeile:</p> <pre class=„notranslate“> net.ipv4.ip_forward=1 # f&#252;r IPv4 net.ipv6.conf.all.forwarding=1 # f&#252;r IPv6 </pre> <p>und &#252;bernimmt die Einstellungen mit:</p> <div class=„bash contents“> <pre class=„notranslate“> sysctl -p </pre></div> <p>Dann &#228;ndert man in <strong>/hosts/server</strong> das Subnet auf <code class=„notranslate“>Subnet = 0.0.0.0/0</code> (IPv4) bzw. <code class=„notranslate“>::/0</code> (IPv6). Zudem f&#252;gt man der Datei <a href=„https://wiki.ubuntuusers.de/rc.local/“ class=„internal“>/etc/rc.local</a> folgendes hinzu (<code class=„notranslate“>eth0</code> muss durch den Netzwerkadapter mit der &#246;ffentlichen IP des Servers ersetzt werden, <code class=„notranslate“>tun0</code> durch den Netzwerkadapters mit der VPN-internen IP, <code class=„notranslate“>10.8.0.0/16</code> gibt das Tinc-Subnet an):</p> <pre class=„notranslate“> iptables -A FORWARD -o eth0 -i tun0 -s 10.8.0.0/16 -m conntrack –ctstate NEW -j ACCEPT iptables -A FORWARD -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/16 -j MASQUERADE </pre> <p>Sollte dies nicht funktionieren, kann man teilweise auch Source-NAT verwenden, siehe <a href=„https://wiki.ubuntuusers.de/Tinc/#Virtualisierte-Systeme“ class=„crosslink“>Problembehebung</a>.</p> </div> <div class=„section_3“ readability=„6“> <h4 id=„Client“>Client</h4> <p>Auf den Clients werden nun die host-up und host-down Dateien angepasst.</p> <ul readability=„1“><li readability=„2“> <p><strong>/etc/tinc/NETZWERK/hosts/server-up</strong> (INTERNE_SERVER_IP wird durch die VPN-interne Netzwerkadresse des Servers ersetzt):</p> <div class=„code“> <table class=„notranslate syntaxtable“ readability=„2“><tr readability=„5“><td class=„linenos“> <div class=„linenodiv“> <pre> 1 2 3 4 5 6 7 8 </pre></div> </td> <td class=„code“ readability=„5“> <div class=„notranslate syntax“ readability=„10“> <pre> #!/bin/sh VPN_GATEWAY=INTERNE_SERVER_IP ORIGINAL_GATEWAY=`ip route show | grep ^default | cut -d ' ' -f 2-5` ip route add $REMOTEADDRESS $ORIGINAL_GATEWAY ip route add $VPN_GATEWAY dev $INTERFACE ip route add 0.0.0.0/1 via $VPN_GATEWAY dev $INTERFACE ip route add 128.0.0.0/1 via $VPN_GATEWAY dev $INTERFACE </pre></div> </td> </tr></table></div> </li> <li readability=„1“> <p><strong>/etc/tinc/NETZWERK/hosts/server-down</strong>:</p> <div class=„code“> <table class=„notranslate syntaxtable“ readability=„2“><tr readability=„4“><td class=„linenos“> <div class=„linenodiv“> <pre> 1 2 3 4 5 6 7 </pre></div> </td> <td class=„code“ readability=„5“> <div class=„notranslate syntax“ readability=„9“> <pre> #!/bin/sh ORIGINAL_GATEWAY=`ip route show | grep ^default | cut -d ' ' -f 2-5` ip route del $REMOTEADDRESS $ORIGINAL_GATEWAY ip route del $VPN_GATEWAY dev $INTERFACE ip route del 0.0.0.0/1 dev $INTERFACE ip route del 128.0.0.0/1 dev $INTERFACE </pre></div> </td> </tr></table></div> </li> </ul></div> </div> </div> <div class=„section_1“ readability=„11“> <h2 id=„Problembehebung“>Problembehebung</h2> <p>Sollte etwas nicht wie gew&#252;nscht funktionieren, so l&#228;sst sich Tinc mit den Parametern <code class=„notranslate“>-D -d5</code> im Debug-Modus starten. Wird dadurch sehr viel ausgegeben, so kann man auch eine geringere Zahl als Parameter angeben.</p> <div class=„section_2“ readability=„10“> <h3 id=„Firewall“>Firewall</h3> <div class=„section_3“ readability=„11“> <h4 id=„UDP-Pakete-werden-blockiert“>UDP Pakete werden blockiert</h4> <p>Tinc l&#228;sst sich auch &#252;ber eine TCP-Verbindung tunneln, was bei einigen Firewalls notwendig ist, allerdings die Geschwindigkeit beeinflussen kann. In der entsprechenden <strong>host-Datei</strong> wird folgendes eingef&#252;gt:</p> <pre class=„notranslate“> TCPonly = yes </pre></div> <div class=„section_3“ readability=„10“> <h4 id=„Port-wird-blockiert“>Port wird blockiert</h4> <p>Um den Port, &#252;ber den ein Knoten erreichbar ist, zu &#228;ndern, m&#252;ssen dessen <strong>tinc.conf</strong> und <strong>host-Datei</strong> angepasst werden:</p> <ul readability=„1“><li readability=„2“> <p><strong>tinc.conf</strong>:</p> <pre class=„notranslate“> BindToAddress = *:1234 </pre> <p>Anstelle des Sternchens l&#228;sst sich auch eine spezielle Netzwerkadresse angeben.</p> </li> <li> <p><strong>hosts/knoten</strong>:</p> <pre class=„notranslate“> Port = 12345 </pre></li> </ul></div> </div> <div class=„section_2“ readability=„13“> <h3 id=„Virtualisierte-Systeme“>Virtualisierte Systeme</h3> <div class=„section_3“ readability=„14“> <h4 id=„TUN-TAP“>TUN/TAP</h4> <p>Auf vielen virtuellen Servern teilt sich das virtualisierte Betriebssystem den Kernel mit dem Host, sodass einige ben&#246;tigte Module nicht verf&#252;gbar sein k&#246;nnen. Ob das TUN/TAP-Modul geladen wurde, erkennt man mit dem Befehl:</p> <div class=„bash contents“> <pre class=„notranslate“> lsmod | grep tun </pre></div> <p>Sollte dies nicht der Fall sein (der Befehl gibt nichts zur&#252;ck), so muss man das Ger&#228;t selbst erstellen:</p> <div class=„bash contents“ readability=„36“> <pre class=„notranslate“> sudo mkdir -p /dev/net sudo mknod /dev/net/tun c 10 200 sudo chmod 600 /dev/net/tun </pre></div> </div> <div class=„section_3“ readability=„14“> <h4 id=„iptables-masquerading“>iptables masquerading</h4> <p>Sollte das Masquerading-Modul von <a href=„https://wiki.ubuntuusers.de/iptables/“ class=„internal“>iptables</a> nicht verf&#252;gbar sein, so kann man auch Source-NAT benutzen. Dazu ersetzt man in <strong>/etc/rc.local</strong>:</p> <pre class=„notranslate“> iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/16 -j MASQUERADE # das geht nur, wenn das Interface nicht venet0:0 (also keine Map) ist </pre> <p>durch</p> <pre class=„notranslate“> iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -j SNAT –to-source EXT_IP </pre> <p>wobei <code class=„notranslate“>EXT_IP</code> durch die &#246;ffentliche IP des Servers ersetzt wird.</p> <div class=„box notice“ readability=„6“> <h3 class=„box notice“>Hinweis:</h3> <div class=„contents“ readability=„37“> <p>Oftmals reicht eine Anfrage an die Administratoren des Servers, um die ben&#246;tigten Module zu laden.</p> </div> </div> </div> </div> </div> <div class=„section_1“> <ul readability=„1“><li> <p><a href=„http://tinc-vpn.org/“ rel=„nofollow“ class=„external“>Projektseite</a> <img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/35/40/gb.png“ alt=„{en}“/></p> <ul><li> <p><a href=„http://tinc-vpn.org/docs/“ rel=„nofollow“ class=„external“>Dokumentation</a> <img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/35/40/gb.png“ alt=„{en}“/></p> </li> </ul></li> <li readability=„0“> <p><a href=„https://www.heise.de/-785436“ class=„interwiki interwiki-heise“>Dezentrales VPN mit Tinc - Tinc vermascht Rechner sicher &#252;bers Internet</a> - heise Netze, 09/2009</p> </li> <li readability=„0“> <p><a href=„http://www.admin-magazin.de/Das-Heft/2009/02/Virtual-Private-Networks-mit-Tinc“ rel=„nofollow“ class=„external“>Tunnelbau - Virtual Private Networks mit Tinc</a> - Artikel ADMIN Magazin, 02/2009</p> </li> <li readability=„1“> <p><a href=„https://wiki.ubuntuusers.de/Serverdienste/#VPN“ class=„internal“>VPN</a> <img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/29/47/overview.png“ alt=„{&#220;bersicht}“/> Programm&#252;bersicht</p> </li> <li readability=„1“> <p><a href=„https://www.youtube.com/watch?v=V-fhXawtQXQ?t=38m50s“ class=„interwiki interwiki-youtube“>Tunneling 101 &#8211; von &#252;berall ins Netz (SSH, Tinc, Socks, Krypto)</a> <img src=„https://media-cdn.ubuntu-de.org/wiki/attachments/49/40/de.png“ alt=„{de}“/> - Vortrag, Ubucon Berlin 2015</p> </li> </ul></div> </html>