GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> OpenVPN

Einrichten eines OpenVPN-Servers mit Ubiquiti EdgeRouter (EdgeOS) und Viscosity

Virtuelle private Netzwerke (VPNs) können für eine Reihe sehr nützlicher Anwendungen genutzt werden. Sie können sich sicher mit jedem öffentlichen WLAN-Hotspot verbinden. Sie können Geoblocking-Einschränkungen auf Ihren bevorzugten Websites überwinden. Und Sie können sich sogar von überall auf der Welt mit Ihrem Heim- oder Büronetzwerk verbinden, als ob Sie direkt an Ihrem Schreibtisch sitzen würden. Diese Anleitung führt Sie durch den Prozess der Einrichtung Ihres eigenen OpenVPN-Servers und der Verbindung mit Ihrem Exemplar von Viscosity.

Wenn Sie Ihren eigenen OpenVPN-Server betreiben, können Sie alles, was Sie im Internet tun, verschlüsseln, sodass Sie Ihr Online-Banking sicher über das kostenlose WLAN in Ihrem Lieblingscafé erledigen können. Alles, was Sie über die VPN-Verbindung senden, wird von Ihrem Gerät verschlüsselt, bis es Ihren OpenVPN-Server zu Hause erreicht. Wenn Sie Ihren OpenVPN-Server für den Zugriff auf Ihr Heim- oder Büronetzwerk einrichten, erhalten Sie vollen Zugriff auf alle Ihre Dateien in Ihrem Netzwerk.

Diese Anleitung führt Sie durch die Schritte zum Einrichten eines OpenVPN-Servers auf Ubiquiti EdgeRouter (EdgeOS), der es Ihnen ermöglicht, sicher von einem entfernten Standort aus auf Ihr Heim-/Büronetzwerk zuzugreifen und optional Ihren gesamten Netzwerkverkehr darüber zu senden, damit Sie darauf zugreifen können das Internet auch sicher. Dieses Handbuch wurde mit einem Ubiquiti EdgeRouter Lite geschrieben, sollte aber mit jedem Ubiquiti-Gerät funktionieren, auf dem EdgeOS v1.9 oder höher ausgeführt wird.

In diesem Leitfaden werden keine Probleme im Zusammenhang mit der Einrichtung Ihres Routers behandelt. Ein Router mit EdgeOS fungiert wahrscheinlich selbst als Router, daher gehen wir davon aus, dass der Ubiquiti EdgeRouter mit seiner eigenen IP-Adresse direkt mit dem Internet verbunden ist.

Vorbereitung

Für diese Anleitung gehen wir von Folgendem aus:

  • Sie haben einen bereits funktionsfähigen Ubiquiti EdgeRouter, auf dem EdgeOS (auch als "EdgeMax-Software" bekannt) v1.9 oder höher ausgeführt wird.
  • Ihr Router wurde mit mindestens einer WAN- und einer LAN-Schnittstelle eingerichtet
  • Sie sind über eine LAN-Verbindung mit Ihrem Ubiquiti EdgeRouter verbunden.
  • Es wurde nur der Ersteinrichtungsassistent zum Einrichten Ihres Routers mit einer WAN- und LAN-Schnittstelle ausgeführt.
  • Sie haben bereits eine Kopie von Viscosity auf Ihrem Client-Gerät installiert

Weitere Informationen zu Ubiquiti EdgeRouter- und EdgeOS-Produkten finden Sie unter https://www.ubnt.com/broadband/#edgemax. Produktaktualisierungen für Ihren Router finden Sie unter https://www.ubnt.com/download/. Wenn Sie einen OpenVPN-Server auf einem anderen Betriebssystem einrichten möchten, lesen Sie bitte unsere anderen Anleitungen.

Wenn Sie noch keine Kopie von Viscosity auf Ihrem Client installiert haben, lesen Sie bitte diese Einrichtungsanleitung zur Installation von Viscosity (Mac | Windows).

Unterstützung

Leider können wir keinen direkten Support für die Einrichtung eines eigenen OpenVPN-Servers leisten. Wir stellen diesen Leitfaden höflich zur Verfügung, um Ihnen den Einstieg zu erleichtern und Ihre Kopie von Viscosity optimal zu nutzen. Wir haben die Schritte in diesem Handbuch gründlich getestet, um sicherzustellen, dass Sie, wenn Sie die unten aufgeführten Anweisungen befolgen, auf dem besten Weg sind, die Vorteile des Betriebs Ihres eigenen OpenVPN-Servers zu genießen.

Weitere Informationen oder Hilfe zu Ihrem Edgerouter finden Sie in den Community-Foren unter https://community.ubnt.com/t5/EdgeRou.../EdgeMAX

Erste Schritte

Wir gehen davon aus, dass Sie Ihre Netzwerkschnittstellen bereits wie folgt eingerichtet haben:

  • 'Internet' - eth0 oder pppoe0 mit dem Internet verbunden
  • „Lokal“ – eth1 mit Ihrem lokalen Heimnetzwerk verbunden

Generieren von Zertifikaten und Schlüsseln

Im nächsten Schritt generieren Sie Ihre Konfigurationen für den Server und Ihre Clients sowie die dazugehörigen Zertifikate. Sie können dies ganz einfach tun, indem Sie dem Leitfaden zum Erstellen von Zertifikaten und Schlüsseln folgen. Generieren Sie alles auf Ihrem PC oder Mac und notieren Sie sich dann den Pfad zu Ihrem Server Ordner, der erstellt wird, werden wir die Dateien hier später verwenden.

Wenn Sie den Standard-DNS-Server (10.8.0.1) verwenden, müssen Sie selbst einen DNS-Server einrichten. Anweisungen finden Sie am Ende dieses Artikels. Wir empfehlen stattdessen die Verwendung eines vorhandenen DNS-Servers, am einfachsten ist ein öffentlich verfügbarer DNS-Server wie der von Google (8.8.8.8 und 8.8.4.4).

Wir müssen nun die folgenden Dateien nach /config/auth/ kopieren Verzeichnis auf Ihrem Edgerouter, das sich auf dem Server befindet Ordner, den openvpn-generate gerade erstellt hat, empfehlen wir die Verwendung von SCP. Wenn Sie mit SCP nicht vertraut sind, finden Sie in unserem Einführungshandbuch Hilfestellungen zum Übertragen von Dateien mit SCP.

  • ca.crt
  • server.crt
  • server.key
  • dh.pem

Wenn Sie SCP über die Befehlszeile verwenden, wäre ein Beispielbefehl
scp path/to/server/ca.crt [email protected]:/config/auth/

OpenVPN-Serverkonfiguration

Zum Zeitpunkt des Verfassens dieses Artikels enthält EdgeOS keine GUI-Schnittstelle zum Einrichten eines OpenVPN-Servers, wie dies bei anderen VPN-Protokollen der Fall ist. Glücklicherweise sind jedoch alle Tools auf dem Router verfügbar, um einen OpenVPN-Server einfach über die Befehlszeile konfigurieren zu können.

Sie können auf verschiedene Arten auf die Befehlszeilenschnittstelle Ihres Routers zugreifen. Für die Zwecke dieses Handbuchs verwenden wir die im Webportal enthaltene Befehlszeilenschnittstelle. Um darauf zuzugreifen, öffnen Sie eine Webseite und navigieren Sie zur IP-Adresse Ihres EdgeRouter-Geräts (standardmäßig https://192.168.1.1). Melden Sie sich an und klicken Sie dann auf die CLI-Schaltfläche in der oberen rechten Ecke dieser Seite. Dadurch wird ein CLI-Fenster mit schwarzem Hintergrund in Ihrem Browser geöffnet. Sie können sich mit denselben Daten anmelden, mit denen Sie sich auf der EdgeOS-Webseite angemeldet haben.

Fortgeschrittene Benutzer können dieser Anleitung auch folgen, indem sie über die Konsole oder SSH auf das Gerät zugreifen.


Es gibt eine Reihe verschiedener Einstellungen, die wir in unserer OpenVPN-Serverkonfiguration anpassen müssen. Wechseln Sie im Terminal in den Konfigurationsmodus, indem Sie Folgendes eingeben:

configure

Sie sollten sehen, dass sich die Eingabeaufforderung von $ ändert zu # . Wenn Sie bei der Eingabe der folgenden Konfigurationsbefehle einen Fehler machen, können Sie einen zuvor eingegebenen Befehl entfernen, indem Sie ihn wiederholen, aber das Wort „set“ am Anfang durch das Wort „delete“ ersetzen.

Fügen Sie Folgendes in das Terminalfenster ein:

# Configure this OpenVPN instance to run as the VPN server
set interfaces openvpn vtun0 mode server

# The OpenVPN server needs to know the location of the Diffie Hellman file
#NOTE: Depending on how you generated your keys, this file name might be 'dh.pem' instead
set interfaces openvpn vtun0 tls dh-file '/config/auth/dh.pem'

# Our VPN connection will be transported over UDP
set interfaces openvpn vtun0 openvpn-option "--proto udp"

# The server needs to keep a record of client virtual IP addresses so that they
# can be reassigned if the server goes down
set interfaces openvpn vtun0 openvpn-option "--ifconfig-pool-persist ipp.txt"

# To ensure that each side of the VPN knows if the connection has been severed,
# we want to ping each side every 10 seconds. If either side fails to recieve a
# ping within 2 minutes, then it will assume the other side is down
set interfaces openvpn vtun0 openvpn-option "--keepalive 10 120"

# There can be security issues if you run the OpenVPN server as root, so we will
# downgrade the user and group
set interfaces openvpn vtun0 openvpn-option "--user nobody --group nogroup"

# To avoid attempting to access resources that may no longer be accessible on
# restart
set interfaces openvpn vtun0 openvpn-option "--persist-key --persist-tun"

# To write (and rewrite) a short summary of current VPN connections every minute
# to a file
set interfaces openvpn vtun0 openvpn-option "--status openvpn-status.log"

# The verbosity of this connection logging (displayed in the Viscosity 'Details'
#  window) can range from 0 (silent) to 9 extremely verbose. We will use the 
# default of 3
set interfaces openvpn vtun0 openvpn-option "--verb 3"

# To prevent more than 10 duplicates of the same log message in a row from
# flooding the Viscosity log
set interfaces openvpn vtun0 openvpn-option "--mute 10"

# The credential files
set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ca.crt'
set interfaces openvpn vtun0 tls cert-file '/config/auth/server.crt'
set interfaces openvpn vtun0 tls key-file '/config/auth/server.key'

# The server will use the default OpenVPN port (1194)
set interfaces openvpn vtun0 openvpn-option "--port 1194"

# We need the VPN to create a tun network interface through which we can 
# route all our traffic:
set interfaces openvpn vtun0 openvpn-option "--dev vtun0"

# The VPN requires a private IP subnet. We will use the default OpenVPN IP
# subnet
set interfaces openvpn vtun0 server subnet '10.8.0.0/24'

# We want VPN clients connected to this server to be able to access any hosts
# accessible on your home network. We are assuming that your local network
# subnet is 192.168.0.x/24. If it is something else, you will need to change the
# IP address in the command below.
set interfaces openvpn vtun0 server push-route 192.168.0.0/24

#Set the OpenVPN server to push a DNS server to clients. This can be your local DNS
#which we setup later, an external DNS of your choice, or you can omit this command
#to setup DNS on the client only.
set interfaces openvpn vtun0 server name-server 192.168.1.1

# For enhanced security, set a cipher and auth hash
set interfaces openvpn vtun0 openvpn-option "--cipher AES-256-CBC"
set interfaces openvpn vtun0 openvpn-option "--auth SHA256"

# Lastly, we want to allow hosts on the home network to be able to see VPN
# clients connected to the OpenVPN server
set interfaces openvpn vtun0 openvpn-option "--client-to-client"

#Save and end the configuration
commit
save
exit

Achten Sie besonders auf die IP-Adresse im set interfaces openvpn vtun0 server push-route 192.168.0.0/24 . Stellen Sie sicher, dass dieses Subnetz mit Ihrem Heim-/Büro-LAN-IP-Subnetz übereinstimmt. Wenn Sie diesen VPN-Server nicht für den Zugriff auf Ihr Heim-/Büro-LAN einrichten, können Sie diese Zeile ganz überspringen.

Wir sind jetzt mit der Befehlszeile fertig, alles andere kann über die EdgeOS-GUI über einen Webbrowser erledigt werden. Melden Sie sich als Nächstes über den Browser Ihrer Wahl bei Ihrer Route an und Sie sollten die neue OpenVPN-Oberfläche auf dem Dashboard sehen.


Firewall-Regeln

Wenn Sie das Standard-Firewall-Setup verwenden, müssen wir nur ein paar Dinge einrichten. Zuerst müssen wir die NAT-Maskierung für die VPN-Schnittstelle aktivieren. Öffnen Sie dazu einen Webbrowser, navigieren Sie zu Ihrem EdgeRouter-Gerät und melden Sie sich an. Klicken Sie als Nächstes auf Firewall/NAT oben im Fenster und wählen Sie dann NAT aus Registerkarte, die darunter erscheint. Klicken Sie auf Quell-NAT-Regel hinzufügen und konfigurieren Sie die folgenden Optionen:

  • Beschreibung – OpenVPN-MASQ eth0
  • Wählen Sie „Maskerade verwenden“
  • Wählen Sie "Alle Protokolle"
  • Ausgangsschnittstelle - eth0
  • Quelladresse - 10.8.0.0/24


Klicken Sie dann auf Speichern. Wir müssen eine Regel für jede Schnittstelle hinzufügen, mit der OpenVPN-Clients kommunizieren können sollen, also müssen wir mindestens eine weitere hinzufügen. Klicken Sie auf Quell-NAT-Regel hinzufügen erneut und konfigurieren Sie die folgenden Optionen:

  • Beschreibung – OpenVPN-MASQ eth1
  • Wählen Sie „Maskerade verwenden“
  • Wählen Sie "Alle Protokolle"
  • Ausgangsschnittstelle - eth1
  • Quelladresse - 10.8.0.0/24


Klicken Sie dann auf Speichern.

Als nächstes müssen wir eine Firewall-Regel konfigurieren, damit wir uns mit dem OpenVPN-Server verbinden können, wenn wir uns außerhalb des lokalen Netzwerks befinden, z. B. unterwegs oder in einem Café. Klicken Sie dazu auf Firewall/NAT und klicken Sie dann auf Firewall-Richtlinien Registerkarte, die darunter erscheint


Sie sollten hier einen Regelsatz mit dem Namen WAN_LOCAL sehen . Wir möchten eine neue Regel hinzufügen, also klicken Sie auf Aktionen rechts und wählen Sie Regelsatz bearbeiten aus . Klicken Sie im neu angezeigten Fenster auf Neue Regel hinzufügen und füllen Sie die folgenden Details aus:

Registerkarte „Allgemein“:

  • Beschreibung - Externe Verbindungen zu OpenVPN zulassen
  • Aktion – Akzeptieren
  • Protokoll - UDP


Zielregisterkarte:

  • Hafen - 1194


Klicken Sie auf Speichern , und klicken Sie dann auf Regelsatz speichern . Sie sollten sich jetzt von einem externen Standort aus mit Ihrem OpenVPN-Server verbinden können.

DNS-Server

Wenn Sie vorhaben, den gesamten Netzwerkverkehr über Ihren VPN-Server zu verschlüsseln, wird empfohlen, Ihren eigenen DNS-Server zu aktivieren. EdgeOS verfügt über einen integrierten DNS-Forwarder, mit dem wir unseren eigenen DNS-Server für die VPN-Verbindung bereitstellen können, um DNS-bezogene Angriffe zu verhindern.

Wenn Ihr Router bereits für Ihr lokales Netzwerk eingerichtet ist (und Sie den Befehl eingegeben haben, Ihren Router als DNS für OpenVPN zu verwenden), ist es extrem einfach, Ihre lokale DNS-Einrichtung wiederzuverwenden.

Öffnen Sie dazu einen Webbrowser, navigieren Sie zu Ihrem EdgeRouter-Gerät und melden Sie sich an. Klicken Sie auf Dienste und klicken Sie dann auf DNS Registerkarte, die darunter erscheint. Klicken Sie auf Abhörschnittstelle hinzufügen , wählen Sie vtun0 aus in der neu erscheinenden Dropdown-Liste und klicken Sie dann auf Speichern darunter.

Einrichten der Viskosität

Der letzte Schritt ist die Einstellung der Viskosität. Dank openvpn-generate ist dies so einfach wie das Importieren und Verbinden.

Importieren

Kopieren Sie Ihre *.visz-Datei, die Sie mit openvpn-generate erstellt haben, auf Ihren Mac oder Windows-Computer, auf dem Viscosity installiert ist, und doppelklicken Sie auf die Datei. Sie sollten eine Eingabeaufforderung sehen, dass die Konfiguration erfolgreich importiert wurde.

Bearbeiten Sie nach dem Import Ihre Verbindung und gehen Sie zur Registerkarte Erweitert. Fügen Sie die folgenden zwei Befehle in neuen Zeilen hinzu:

cipher AES-256-CBC
auth SHA256

Klicken Sie dann auf Speichern, um diese Änderungen zu speichern.

Herstellen und Verwenden Ihrer VPN-Verbindung

Sie können jetzt eine Verbindung herstellen. Klicken Sie auf das Viskositätssymbol in der macOS-Menüleiste oder der Windows-Taskleiste, um das Viskositätsmenü zu öffnen, wählen Sie die importierte Verbindung aus und Viscosity stellt eine Verbindung her.

Um zu überprüfen, ob das VPN betriebsbereit ist, können Sie das Fenster „Details“ im Menü „Viskosität“ öffnen. Dadurch können Sie Verbindungsdetails, Datenverkehr und das OpenVPN-Protokoll anzeigen.



Das war's, Sie haben Ihren eigenen OpenVPN-Server eingerichtet. Herzlichen Glückwunsch, Sie können jetzt die Vorteile des Betriebs Ihres eigenen OpenVPN-Servers genießen!


OpenVPN
  1. Apache mit Tomcat, eine Schritt-für-Schritt-Anleitung zur Installation und Konfiguration

  2. So richten Sie einen OpenVPN-Server unter Ubuntu 22.04 ein und konfigurieren ihn

  3. So installieren und hosten Sie einen OpenVPN-Server mit Docker

  4. Einrichten eines Verschleierungsservers mit Obfsproxy und Viscosity

  5. Installieren und konfigurieren Sie den OpenVPN-Server FreeBSD 12

Einrichten eines OpenVPN-Servers mit Sophos UTM und Viscosity

Einrichten eines OpenVPN-Servers mit Sophos XG und Viscosity

Einrichten eines OpenVPN-Servers mit Synology und Viscosity

Einrichten eines OpenVPN-Servers mit Tomato-Router und Viscosity

Einrichten eines OpenVPN-Servers mit Ubuntu und Viscosity

Einrichten eines OpenVPN-Servers mit VyOS und Viscosity