Geländeerkundung

Wie bei vielen anderen VPNs, kommt man auch bei der Einrichtung von Tinc nicht drum herum, mit zahlreichen IP-Adressen zu jonglieren. Im Folgenden soll deshalb ein kleines Beispiel die Verwirrung in Grenzen halten: Die Kloob Reifenwerke GmbH möchte ihre Hauptverwaltung in Aachen mit einer kleinen Außenstelle in Bochum verbinden. Wie in Abbildung 1 zu sehen, existiert derzeit in Aachen ein Netzwerk, dessen Teilnehmer aus dem Bereich »192.168.1.x« eine IP-Adresse beziehen. Einer der Computer mit der IP-Adresse »192.168.1.111« ist über eine zweite Netzwerkkarte an das Internet angeschlossen und von dort aus unter der Adresse »100.1.2.3« zu erreichen. Analog hängen in Bochum alle Computer in einem eigenen Netz »192.168.2.x« . Dort erreicht man vom Internet aus den Rechner »50.1.2.3« , der im internen Netz unter der Adresse »192.168.2.222« erreichbar ist.

Abbildung 1: Die Ausgangssituation der Kloob Reifenwerke GmbH: Die hier in grün gezeichneten Computer hängen sowohl in einem internen Netz, als auch am Internet.
Abbildung 2: Tinc erstellt jeweils eine virtuelle Schnittstelle (tun0) und stöpselt diese über eine gesicherte Verbindung zusammen (rot).

Ein VPN soll nun diese verteilte Infrastruktur zusammenbringen (Abbildung 2). Hier zeigt sich ein weiterer Unterschied zu manch anderer VPN-Lösung: In Tinc definiert der Administrator keine Tunnel, sondern ausschließlich deren Endpunkte. Das spart Arbeit, denn schon bei vier Teilnehmern am VPN wären sonst sechs Tunnel zu graben. Im Beispiel platziert man einen der Endpunkte auf dem Rechner in Aachen, den anderen auf seinem Pendant in Bochum. Zunächst zum Computer in der Aachener Hauptzentrale.

Bohrbeginn

Tinc verlangt nach mehreren Konfigurationsdateien, die es allesamt im Verzeichnis »/etc/tinc« und dessen Unterordnern erwartet. Sofern es noch nicht existiert, legen Sie es genau wie alle folgenden Unterverzeichnisse und Dateien neu an. Sobald der Daemon startet, liest er seine eigenen Einstellungen aus der Datei »/etc/tinc/tinc.conf« . Ihre Inhalte, wie auch die der anderen Konfigurationsdateien, gehorchen dem Muster »Variable = Wert« ; wobei die Variablennamen zwischen Groß- und Kleinschreibung unterscheiden. Für den Rechner in Aachen genügt bereits eine einfache »tinc.conf« mit den folgenden zwei Zeilen:

Name = aachen
Device = /dev/net/tun

Zunächst bekommt der Endpunkt, um den sich der Daemon kümmert, einen »Name« . In diesem Fall soll er einfach »aachen« heißen. »Device« bezeichnet den Gerätenamen der virtuellen Netzwerkkarte, die der Daemon anbieten soll.

Die Grundkonfiguration von »tinc.conf« wird ergänzt durch das Unterverzeichnis »/etc/tinc/hosts« , das für jeden Endpunkt des VPN eine eigene Konfigurationsdatei enthält. Diese wiederum trägt den Namen des jeweiligen Endpunktes und enthält dessen wichtigsten Eckdaten, darunter wie er überhaupt über das Internet zu erreichen ist. Im Beispiel gibt es derzeit nur den Endpunkt »aachen« , folglich benötigt man im Verzeichnis »/etc/tinc/hosts« eine neue Datei mit dem gleichen Namen und folgendem Inhalt:

Adress = 100.1.2.3
Subnet = 192.168.1.0/24

Dieser Server ist vom Internet aus (also für andere Tinc-Daemons) unter der Adresse 100.1.2.3 zu erreichen und hängt im Subnetz 192.168.1.0/24. Anstelle der IP-Adresse 100.1.2.3 kann auch einen eventueller vorhandener Domainname, wie etwa »aachen.reifenwerke.de« verwendet werden. Das ist besonders mit einem Dienst wie DynDNS praktisch. Das »Subnet« bezeichnet das Netzwerk, das über den Rechner 192.168.1.111 ins Internet gelangt und das VPN später nutzen darf. Wenn mehrere Adressbereiche existieren, erstellt der Admin einfach mehrere »Subnet« -Einträge.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019