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 Zugänge an verschiedenen Standorten

Probleme 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, Lync)
    • 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 RaspberryPIs 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" auf unseren RaspberryPIs ein und führen erst eine vollständige Aktualisierung aus:

 # apt-get update && apt-get upgrade

Im nächsten Schritt installieren wir die benötigten Software-Pakete:

 # apt-get install openvpn iproute unzip traceroute nano -y 

Jetzt müssen wir das IPv6 Kernemodul aktivieren.

 # modprobe ipv6

Damit diese Einstellung auch Bootfest ist (Bootfest = Einstellung geht nach einem Neustart nicht verloren) muss die Zeile "ipv6" in die /etc/modules reingeschrieben werden.

 # nano /etc/modules

Und dort an das Ender der Datei einfach "ipv6" (Ohne die Anführungszeichen) reinschreiben. Mit STRG + O Speichern wir die Datei und mit STRG + X schließen wir diese wieder.

Nun wechseln wir in das durch die vorherige installation automatisch angelegte "openvpn"-Verzeichnis:

 # cd /etc/openvpn

Melden Sie sich jetzt in der ISP-Suite an und erstellen mit einem Klick auf "Client anlegen" einen neuen Client:

direkt danach müssen Sie ein Passwort für den Client vergeben welches Sie sich merken sollten. Vergessen Sie bitte nicht rechts auf die Taste "Speichern" zu klicken:

Image:ISP-Suite2-passwort.PNG

Für den nächsten Schritt müssen Sie, für den gerade erstellten VPN-Client, die Konfiguration herunterladen. In diesem Fall brauchen wir die OpenVPN Konfiguration für Windows/Linux. Jetzt müssen Sie das Archiv in das "/etc/openvpn"-Verzeichniss des VPN-Gate-Standorts entpacken. Dies können Sie am einfachsten über SFTP (eine einfache SSH Installation genügt) und der passenden Software wie WinSCP oder FileZilla bewerkstelligen. Alternativ können Sie die SD-Karte in Ihren PC verschieben und alles von Hand in das richtige Verzeichnis kopieren. Jetzt entpacken wir die Datei mit unzip.

# unzip vpnXXXXXX-OpenVPN-Config.zip -d /etc/openvpn/


Nun müssen Sie Ihre *.login Datei mit einem beliebigen Editor bearbeiten. In dem Beispiel nutzen wir nano, da dieser sich besonders für Anfänger eignet.

 # nano /etc/openvpn/vpnXXXXXX.login

Ersetzen Sie hierbei die Kreuze durch die Client-ID. Wie die Datei genau heißt bzw welche ID das ist können Sie am Namen des zuvor heruntergeladenen Archives und/oder dessen Inhalt ausmachen.

Ergänzen Sie nach dem Namen des Clientes das vorgegebene Passwort. Mit der Tastenkombination STRG + O speichern Sie die Datei ab und mit STRG + X wird Sie dann wieder 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.

 # nano /etc/openvpn/vpnXXXXXX.conf

Starten des Tunnels

mit dem folgenden Befehl

 # /etc/init.d/openvpn start vpnXXXXXX

oder alternativ :

 # service openvpn start

Mit dem Befehl ifconfig können Sie überprüfen ob der Tunnel nun läuft. Sollte dort die tun0 als Schnittstelle aufgelistet sein, war die Einrichtung erfolgreich.

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


Wenn Sie Interesse an weiteren Anleitungen zum Thema OpenVPN haben, finden Sie hier eine Übersicht

unserer Anleitungen:

[1]

Unter anderem auch eine Anleitung wie Sie einen Tunnel mit Ihrem Mobilen iOS Gerät Einrichten:

[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)

Wir bearbeiten wieder die Konfiguration mit:

 #nano /etc/openvpn/vpnXXXXXX.conf
 

Und setzen eine Raute (#) vor die Zeile: redirect-gateway Nun können wir die Datei wieder mit STRG + O speichern und mit STRG + X schließen.

Damit die Vernetzung der Standorte einwandfrei funktionieren kann, werden ein paar bootfeste Routen gesetzt und zwar, auf unseren zwei Pi-Rechnern (VPN-Gate Standorte) sowie den Routern. Auf den Pis läuft das Raspbian Betriebssystem (Linux), was bedeutet, dass alle benötigte Konfigurationen mit der Bash-Konsole per Befehle eingerichet werden. Als allerstes muss jedoch das Port-Forwarding für die IPv4 Pakete der eth0 und tun0 Schnittstellen aktiviert und bootfest eingestellt werden.

Mit nano bearbeiten wir die Datei der Kernel-Konfigurationen:

 # nano /etc/sysctl.conf

Die folgende Zeilen müssen ans Ende angefügt werden:

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

Speichern können Sie mit der Tastenkombination STRG+O und mit STRG+X wird der Editor wieder beendet. Damit die Einstellungen vom System übernommen werden, müssen Sie noch folgenden Befehl ausführen:

 # sysctl -p

Anschließend starten wir den Raspberry Pi neu.

 # reboot

Nun können wir anfangen eine statische IP-Adresse zu vergeben. Dazu editieren wir foldenge Datei auf dem Standort #2:

 # nano /etc/network/interfaces

So könnten die Einstellungen beispielsweise 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

Nun bearbeiten wir den ersten Standort und gehen wie beim vorherigen vor, lediglich die IP-Adresse sowie die Route ändern sich:

 # nano /etc/network/interfaces

So könnten die Einstellungen beispielsweise aussehen:

 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 in beiden Routern. Hierbei ist wichtig zu erwähnen das wir leider keine genaue Anleitung dazu schreiben können, da dieses Verfahren von Router zu Router anders ist.

 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 Konfiguration sollte somit Fertig sein!

Persönliche Werkzeuge