VPN-Gateway einrichten

Aus Portunity Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Starten des Tunnels)
(Tunnel Aufbau)
 
(Der Versionsvergleich bezieht 16 dazwischenliegende Versionen mit ein.)
Zeile 1: Zeile 1:
= Vernetzung von zwei oder mehreren Standorten =
= 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.
+
In dem folgenden Beispiel geht es um die Vernetzung von zwei oder mehr Standorten welche über ein gemeinsames (privates) Netz verfügen sollen.
== Ausgangsszenario  ==
== Ausgangsszenario  ==
-
*Zwei oder mehrere verschiedene normale Internet Zügänge an verschiedenen Standorten
+
*Zwei oder mehrere verschiedene normale Internet Zugänge an verschiedenen Standorten
-
'''Pobleme die gelöst werden können:'''
+
'''Probleme die gelöst werden können:'''
Man möchte aus dem Netzwerk von Standort-A auf das Netzwerk von Standort-B zugreifen.
Man möchte aus dem Netzwerk von Standort-A auf das Netzwerk von Standort-B zugreifen.
Zeile 22: Zeile 22:
[[Image:vpn gateway(1).png|700px]]
[[Image:vpn gateway(1).png|700px]]
-
== Tunnel Aufbau ==
+
== 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:
+
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
+
   # apt-get update && apt-get upgrade
-
Im nächsten Schritt installieren wir die benötigte Software-Pakete:
+
Im nächsten Schritt installieren wir die benötigten Software-Pakete:  
   # apt-get install openvpn iproute unzip traceroute nano -y  
   # apt-get install openvpn iproute unzip traceroute nano -y  
-
    
+
 
-
Nun wechseln wir in dass durch die vorherige installation automatisch angelegte "openvpn"-Verzeichnis:
+
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
   # cd /etc/openvpn
-
Melden Sie sich jetzt in der ISP-Suite ein und erstellen mit einem Klick auf "Client anlegen" einen neuen Client:  
+
'''Melden Sie sich jetzt in der ISP-Suite an und erstellen mit einem Klick auf "Client anlegen" einen neuen Client:'''
-
[[Datei:ISP-Suite-Client-Anlegen.PNG|700px]]
+
[[Image:ISP-Suite-Client-Anlegen.PNG|700px]]  
-
'''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:'''
+
'''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:'''  
-
[[Datei:ISP-Suite2-passwort.PNG]]
+
[[Image:ISP-Suite2-passwort.PNG]]  
-
In dem nächsten Schritt müssen Sie die für den gerade erstellten VPN-Client die Konfiguration herunterladen. In dem Fall brauchen wir die OpenVPN Konfiguration für Windows/Linux.
+
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'''.  
-
Jetzt müssen Sie den Inhalt von dem Archiv auf den VPN-Gate Standort in das "/etc/openvpn"-Verzeichniss hochladen. 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 vpn(6-stellige Nummer)-OpenVPN-Config.zip -d /etc/openvpn/
+
# unzip vpnXXXXXX-OpenVPN-Config.zip -d /etc/openvpn/
 +
<br> 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.
-
Nun müssen Sie Ihre .login Datei mit einem beliebigen Editor. In dem Beispiel nutzen wir nano, da dieser sich besonders für anfänger eignet.
 
-
 
 
   # nano /etc/openvpn/vpnXXXXXX.login
   # nano /etc/openvpn/vpnXXXXXX.login
-
Ersetzen Sie hierbei die Kreuze durch die Client-ID.
+
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.  
-
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.
+
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.  
-
Mit der Tastenkombination '''STRG + O''' speichern Sie die Datei ab und mit '''STRG + X''' wird Sie dann wieder geschlossen.
+
 +
<br>
 +
<br> '''Wichtig! Bitte öffnen Sie die Datei portunity.conf und ersetzen in der Zeile "remote &lt;OpenVPN-Server&gt; 1194" das &lt;OpenVPN-Server&gt; durch die im Produkt unter: Konfiguration-&gt;Info-&gt;OpenVPN-Server angegebene Adresse.'''
-
 
-
'''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
   # nano /etc/openvpn/vpnXXXXXX.conf
Zeile 77: Zeile 80:
   # service openvpn start
   # service openvpn start
Mit dem Befehl '''ifconfig''' können Sie überprüfen ob der Tunnel nun läuft.
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.
+
Sollte dort die '''tun0''' als Schnittstelle aufgelistet sein, war die Einrichtung erfolgreich.
   # ifconfig
   # ifconfig
   eth0 ....
   eth0 ....
Zeile 97: Zeile 100:
In unserem Fall muss der Tunnel '''nicht als Standard Gateway''' verwendet werden! Deswegen müssen wir die folgende Zeile in der Konfigurationsdatei auskommentieren :
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)
   #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.
+
Wir bearbeiten wieder die Konfiguration mit:
-
Mit dem Vim Editor bearbeiten wir die Datei der Kernel-Konfigurationen:  
+
-
   # vim /etc/sysctl.conf
+
  #nano /etc/openvpn/vpnXXXXXX.conf
-
Die folgende Zeilen müssen eingefügt werden (mit der Taste "i" aktiviert man die Bearbeitung des Textes):
+
 
 +
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.eth0.forwarding=1
   net.ipv4.conf.tun0.forwarding=1
   net.ipv4.conf.tun0.forwarding=1
-
Speichern und Schliessen der Datei erfolgt mit dem Eintippen ''':wq''' und der Eingabe-Taste.
+
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:
-
Zunächst tippen wir das Befehl ein:
+
   # nano /etc/network/interfaces
-
   #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.
+
So könnten die Einstellungen beispielsweise aussehen: 
-
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
   iface eth0 inet static
   address 192.168.1.201
   address 192.168.1.201
Zeile 119: Zeile 134:
   gateway 217.144.133.70
   gateway 217.144.133.70
   up route add 192.168.178.0/24 via 172.30.0.50
   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
+
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
   iface eth0 inet static
   address 192.168.178.21
   address 192.168.178.21
Zeile 130: Zeile 147:
-
Jetzt fehlen uns nur die notwendige Routen auf den beiden Routern. Wobei es nicht möglich wäre, das Verfahren jeder verschiedene Router anzuzeigen.
+
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 #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
   Router auf dem Standort #2: ip route add 192.168.178.0/24 via 192.168.1.201
   
   
-
'''Die Vernetzung ist nun bereit geworden!'''
+
'''Die Konfiguration sollte somit Fertig sein!'''

Aktuelle Version vom 12:03, 10. Okt. 2022

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