VPN-Gateway einrichten

Aus Portunity Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Vernetzung von zwei oder mehreren Standorten

In dem folgenden Beispiel geht es um die Vernetzung von zwei oder mehr Standorten welche über ein Gemeinsames (Privates) Netz verfügen sollen.

Ausgangsszenario

  • Zwei oder mehrere verschiedene normale Internet Zügänge an verschiedenen Standorten

Pobleme die gelöst werden können:

Man möchte aus dem Netzwerk von Standort-A auf das Netzwerk von Standort-B zugreifen. Man könnte von unterwegs auf das Netzwerk von beiden Standorte zugreifen.

Anwendungsszenarien

  • Mobiler Zugriff auf Daten
    • Datenabgleich und Datenaustausch (FTP-Server, Freigabe von Datenservern oder Bereichen via Samba / Windows-Freigaben)
    • Betrieb von Inhouse Instant-Messeger-Servern (XMPP, Openfire)
    • Video-Streaming-Applikationen / -Geräte und entsprechender Überwachungs- und Steuer-Software
    • Terminal-Dienste und Remote-Controll

Lösung

Tunnel Aufbau

In diesem Beispiel werden wir zwei Pi-Rechner als VPN-Gate Standorte einrichten. Als Clients werden zwei Laptops, zwei Rechnern und zwei mobile Geräte verwendet. Das OpenVPN Programm wird als Tunnel-Protokoll benutzt. Wir loggen uns als "root" an unseren Pi-Rechner ein und führen erst eine vollständige Aktualisierung aus:

 # apt-get update && apt-get upgrade

Als nächster Schritt installieren wir die benötigte Software-Pakete:

 # apt-get install openvpn iproute vim traceroute
 

Und in das neu erstellte "openvpn"-Verzeichnis wechseln:

 # cd /etc/openvpn

Loggen Sie sich bitte in die ISP-Suite ein und klicken Sie dort auf "Client anlegen":

Datei:ISP-Suite-Client-Anlegen.PNG

direkt danach müssen Sie ein Passwort für den Client eintippen, vergessen Sie bitte nicht auf die Taste "Speichern" zu klicken:

Datei:ISP-Suite2-passwort.PNG

wir laden per wget die OpenVPN-Konfigurationsdateien und Schlüssel des Clientes herunter. Den entsprechend Link könne Sie aus der ISP-Suite entnehmen (mit Rechtsklick auf den Link neben "OpenVPN Konfiguration" und "Link Adresse kopieren" wählen).

 # wget (Link aus dem ISP-Suite)

Jetzt entpacken wir die Datei mit tar.

 # tar -xzvf vpn(6-stellige Nummer)-OpenVPN-Config.zip

Mit einem beliebigen Editor (hier vim) öffnen wir die .login Datei.

 # vi /etc/openvpn/portunity.login 

Mit Drücken der Taste i editieren wir die Datei und ergänzen Sie nach dem Namen des Clientes das vorgegebene Passwort. Mit ESC deaktivieren wir den Editor-Modus und mit :wq und Drucken der Eingabe-Taste wird die Datei gespeichert und geschlossen.

Wichtig! Bitte öffnen Sie die Datei portunity.conf und ersetzen in der Zeile "remote <OpenVPN-Server> 1194" das <OpenVPN-Server> durch die im Produkt unter: Konfiguration->Info->OpenVPN-Server angegebene Adresse.

 # vi /etc/openvpn/portunity.conf

Starten des Tunnels

mit dem folgenden Befehl

 # /etc/init.d/openvpn start portunity

oder alternativ :

 # service openvpn start

überprüfen ob der Tunnel läuft(die Schnittstelle tun0 sollte schon aufgetaucht sein):

 # ifconfig
  eth0 ....
  tun0 ....

Wenn der Tunnel nicht aufgebaut wurde können wir er auch manuell starten.

 # openvpn /etc/openvpn/portunity.conf

Für die zutreffende Anleitungen des Tunnels Aufbau klicken Sie auf dem Link: [1] Hier kann man die Anleitungen für mobile iOS Geräte finden: [2]

Anpassung nach dem Tunnel Aufbau

In unserem Fall muss der Tunnel nicht als Standard Gateway verwendet werden! Deswegen müssen wir die folgende Zeile in der Konfigurationsdatei auskommentieren :

 #redirect-gateway   (so wird nicht die ganze Internet Datenmenge durch den Tunnel laufen)

Damit die Vernetzung der Standorten einwandfrei angewendet werden kann, werden ein paar bootfeste Routen eingesetzt und zwar, auf unseren zwei Pi-Rechnern (VPN-Gate Standorte) und Routern. Die Pis laufen unter dem Raspbian Betriebssystem (linux), das heißt alle benötigte Konfigurationen werden mit der Bash-Konsole per Befehle eingerichet. Als allerstes muss aber das Port-Forwarding für die IPv4 Paketen der eth0 und tun0 Schnittstellen aktiviert und bootfest eingestellt werden. Mit dem Vim Editor bearbeiten wir die Datei der Kernel-Konfigurationen:

 # vim /etc/sysctl.conf

Die folgende Zeilen müssen eingefügt werden (mit der Taste "i" aktiviert man die Bearbeitung des Textes):

 net.ipv4.conf.eth0.forwarding=1
 net.ipv4.conf.tun0.forwarding=1

Speichern und Schliessen der Datei erfolgt mit dem Eintippen :wq und der Eingabe-Taste.

Zunächst tippen wir das Befehl ein:

 #sysctl -p

Damit die Einstellungen wirken können ,sollen wir einmal unsere Clients neustarten lassen. Und nun können wir die Routen und eine beliebige statische IP Adresse hinfügen. Wir editieren zuerst die folgende Datei auf dem Standort #2 (Pi-Rechner):

 # vi /etc/network/interfaces

Die Einstellung sollte beispielsweise so aussehen:

 iface eth0 inet static
 address 192.168.1.201
 netmask 255.255.255.0
 gateway 217.144.133.70
 up route add 192.168.178.0/24 via 172.30.0.50

Wir setzen mit der entsprechenden Einstellung auf dem Standort #1 fort.

 # vi /etc/network/interfaces
 iface eth0 inet static
 address 192.168.178.21
 netmask 255.255.255.0
 gateway 217.144.133.70
 up route add 192.168.1.0/24 via 172.30.0.49


Jetzt fehlen uns nur die notwendige Routen auf den beiden Routern. Wobei es nicht möglich wäre, das Verfahren jeder verschiedene Router anzuzeigen.

 Router auf dem Standort #1: ip route add 192.168.1.0/24 via 192.168.178.21
 Router auf dem Standort #2: ip route add 192.168.178.0/24 via 192.168.1.201

Die Vernetzung ist nun bereit geworden!

Persönliche Werkzeuge