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

Einrichten eines OpenVPN-Servers mit DD-WRT 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 einer DD-WRT-Instanz, die es Ihnen ermöglicht, von einem entfernten Standort aus sicher auf Ihr Heim-/Büronetzwerk zuzugreifen und optional Ihren gesamten Netzwerkverkehr darüber zu senden, damit Sie darauf zugreifen können auch sicher im Internet.

Da DD-WRT hauptsächlich auf Router-Hardware verwendet wird, gehen wir davon aus, dass die DD-WRT-Instanz eine direkte Verbindung zum Internet und eine eigene IP-Adresse hat. Daher werden wir keine Probleme im Zusammenhang mit der Verwendung Ihrer DD-WRT-Instanz hinter einem anderen Router berücksichtigen.

Vorbereitung

Für diese Anleitung gehen wir von Folgendem aus:

  • Sie haben bereits die passende Version von DD-WRT installiert für Ihre Router-Hardware
  • DD-WRT wurde mit mindestens einer WAN-Schnittstelle und einer LAN-Schnittstelle eingerichtet
  • Während dieser Anleitung sind Sie mit Ihrem Client-Gerät über dessen LAN-Schnittstelle mit dem DD-WRT-Server verbunden
  • Diese Installation von DD-WRT ist eine Neuinstallation
  • Sie haben bereits eine Kopie von Viscosity auf Ihrem Client-Gerät installiert

Wenn Sie eine Kopie von DD-WRT herunterladen und installieren müssen, finden Sie Informationen unter http://www.dd-wrt.com/wiki/index.php/Installation. Wir werden nicht auf die Details zum Einrichten einer DD-WRT-Instanz eingehen, viele Anleitungen sind online zu finden. Unabhängig von der Version von DD-WRT, die Sie ausführen, ist es sehr wahrscheinlich, dass viele oder sogar alle der in diesem Handbuch beschriebenen Schritte weiterhin gelten. Wenn Sie einen OpenVPN-Server auf einem anderen Betriebssystem einrichten möchten, lesen Sie bitte unsere anderen Anleitungen.

Ihr Client-Gerät muss über die LAN-Schnittstelle mit dem DD-WRT-Server verbunden sein. Dies ist erforderlich, damit Sie auf das Bedienfeld zugreifen können, um die DD-WRT-Konfiguration zu ändern. Die Einzelheiten, wie Sie dies erreichen können, hängen von Ihrer speziellen Netzwerkkonfiguration ab.

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 eines eigenen OpenVPN-Servers zu genießen.

Für weitere Informationen oder Hilfe zu DD-WRT empfehlen wir einen Besuch unter https://dd-wrt.com/support/

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

Erstellen des OpenVPN-Servers

Jetzt können wir das webbasierte Control Panel verwenden, um den OpenVPN-Server auf unserer DD-WRT-Instanz einzurichten. Sie müssen sich von Ihrem Client-Gerät, das mit der LAN-Schnittstelle des DD-WRT-Servers verbunden ist, bei der Systemsteuerung anmelden. Bitte beachten Sie, dass "C:\path\to" und "path/to/" unten durch den Speicherort ersetzt werden sollten, an dem Sie Ihr Zertifikat/Ihre Schlüssel erstellt haben.

  1. Öffnen Sie einen Browser auf Ihrem Client und navigieren Sie zur IP-Adresse der LAN-Schnittstelle Ihres DD-WRT-Servers (so etwas wie http://192.168.1.1 ). Wenn Sie sich zum ersten Mal bei Ihrem DD-WRT-Bedienfeld anmelden, werden Sie aufgefordert, neue Anmeldeinformationen zu erstellen.



  2. Klicken Sie auf Services Registerkarte und dann VPN Tab.
  3. Im OpenVPN-Daemon Klicken Sie im Abschnitt auf Aktivieren . Dadurch wird der Abschnitt erweitert und es werden Bereiche bereitgestellt, in die Sie die oben erstellten Zertifikate einfügen können.
  4. Stellen Sie sicher, dass der Starttyp Parameter auf WAN Up eingestellt ist .
  5. Lesen Sie auf Ihrem Clientgerät im Terminal (Mac) oder in der Eingabeaufforderung (Windows) den Inhalt von ca.crt Datei, indem Sie Folgendes eingeben:
    Mac
    cat path/to/server/ca.crt
    Windows
    type "C:\path\to\server\ca.crt" ein
  6. Kopieren Sie die Ausgabe dieses Befehls (einschließlich der Teile -----BEGIN CERTIFICATE----- und -----END CERTIFICATE-----) und fügen Sie sie in das DD-WRT-Kontrollfeld ein Abschnitt mit der Bezeichnung CA Cert .
  7. Kopieren Sie die Ausgabe des folgenden Befehls und fügen Sie sie in das Public Server Cert ein Abschnitt der DD-WRT-Systemsteuerung:
    Mac
    cat path/to/server/server.crt
    Windows
    type "C:\path\to\server\server.crt"
  8. Kopieren Sie die Ausgabe des folgenden Befehls und fügen Sie sie in den Private Server Key ein Abschnitt der DD-WRT-Systemsteuerung.
    Mac
    cat path/to/server/server.key
    Windows
    type "C:\path\to\server\server.key" ein
  9. Kopieren Sie die Diffie-Hellman-Parameterausgabe von und fügen Sie sie in das DH PEM ein Abschnitt der DD-WRT-Systemsteuerung:
    Mac
    cat path/to/server/dh.pem
    Windows
    type "C:\path\to\server\dh.pem" ein

Schließlich müssen wir die Serverkonfiguration einfügen. Fügen Sie Folgendes in die OpenVPN-Konfiguration ein Abschnitt des DD-WRT-Kontrollfelds:

# The credential files
dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem

# Our VPN connection will be transported over UDP
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
ifconfig-pool-persist /tmp/openvpn/ip-pool.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
keepalive 10 120

# To avoid attempting to access resources that may no longer be accessible on
# restart
persist-key
persist-tun

# To write (and rewrite) a short summary of current VPN connections every minute
# to a file
status /tmp/openvpn/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
verb 3

# To prevent more than 10 duplicates of the same log message in a row from
# flooding the Viscosity log
mute 10

# Provide GUI access over port 5002
management 127.0.0.1 5002

# This server will use the default OpenVPN port (1194)
port 1194

# We need the VPN to create a tun network interface through which we can route
# all our traffic
dev tun0

# The VPN requires a private IP subnet. We will use the default OpenVPN IP
# subnet
server 10.8.0.0 255.255.255.0

# 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
push "route 192.168.0.0 255.255.255.0"

# We want to allow hosts connected to the OpenVPN server to be able to see each
# other
client-to-client

Achten Sie besonders auf die IP-Adresse im push "route 192.168.0.0 255.255.255.0" . 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 auskommentieren. Wenn Sie fertig sind, klicken Sie auf Apply Settings Knopf unten. Dadurch wird der OpenVPN-Server mit diesen Einstellungen gestartet.

DNS-Servereinstellungen

Wenn Sie vorhaben, den gesamten Netzwerkverkehr über Ihren VPN-Server zu verschlüsseln, wird empfohlen, Ihren eigenen DNS-Server zu aktivieren.

  1. Klicken Sie auf Setup Registerkarte im Web-Steuerungsfeld und scrollen Sie nach unten zu den Netzwerkadressen-Servereinstellungen (DHCP) Sektion.
  2. Stellen Sie sicher, dass alle drei der folgenden Einstellungen aktiviert sind:
    • Verwenden Sie DNSMasq für DHCP
    • Verwenden Sie DNSMasq für DNS
    • DHCP-autorisierend
  3. Klicken Sie auf Apply Settings Schaltfläche, um diese Änderungen zu speichern.
  4. Klicken Sie auf die Dienste und scrollen Sie dann nach unten zu DNSMasq Sektion.
  5. Stellen Sie sicher, dass beide der folgenden Einstellungen aktiviert sind:
    • DNSMasq
    • Lokales DNS
  6. Unter diesen Einstellungen sollten Sie ein Feld für Zusätzliche DNSMasq-Optionen sehen . Kopieren Sie die folgenden Zeilen in dieses Feld:
    domain-needed
    bogus-priv

    interface=tun0
    listen-address=127.0.0.1

    server=8.8.8.8
    server=8.8.4.4
    wo wir die Google DNS-Server verwenden (8.8.8.8 und 8.8.4.4). Wenn Sie einen anderen DNS-Dienstanbieter Ihrer Wahl haben, können Sie dessen Server hier verwenden.
  7. Klicken Sie auf Apply Settings Schaltfläche unten auf der Seite. Dadurch wird der DNSMasq-Server mit diesen Einstellungen neu gestartet.

Zeitserver

Es ist eine gute Idee, die Uhr auf Ihrem DD-WRT-Router richtig einzurichten.

  1. Klicken Sie auf Setup und scrollen Sie nach unten zu den Zeiteinstellungen Sektion.
  2. Stellen Sie Ihre Zeiteinstellungen entsprechend Ihrer Region ein. Eine Google-Suche nach dem Zeitserver Ihrer Region sollte Ihnen eine geeignete Server-IP/Name (z. B. pool.ntp.org) liefern.



  3. Klicken Sie auf Apply Settings Schaltfläche unten auf der Seite.
  4. Um zu bestätigen, dass die Zeiteinstellungen übernommen wurden, klicken Sie auf Administration und klicken Sie dann auf Commands Unterregisterkarte.
  5. In den Befehlen geben Sie Folgendes ein:
    date
    und drücken Sie Run Commands Taste. Dies sollte das aktuelle Datum und die Uhrzeit ausgeben (höchstwahrscheinlich in der UTC-Zeitzone).

Firewall-Einstellungen

  1. Klicken Sie auf Administration und klicken Sie dann auf Commands Unterregisterkarte.
  2. Kopieren Sie Folgendes in die Befehle box:
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
    iptables -I FORWARD -p udp -s 10.8.0.0/24 -j ACCEPT
    iptables -I INPUT -p udp --dport=1194 -j ACCEPT
    iptables -I OUTPUT -p udp --sport=1194 -j ACCEPT

    iptables -I INPUT -p udp -i eth0 -j ACCEPT
    iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT

    iptables -I INPUT -p udp -i br0 -j ACCEPT
    iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
  3. Klicken Sie auf Save Firewall Taste.

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.

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. So richten Sie einen OpenVPN-Server unter Ubuntu 22.04 ein und konfigurieren ihn

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

  3. Einrichten eines Verschleierungsservers mit Obfsproxy und Viscosity

  4. OpenVPN-Server unter Ubuntu 20.04 installieren und einrichten

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

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 Ubiquiti EdgeRouter (EdgeOS) und Viscosity

Einrichten eines OpenVPN-Servers mit Ubuntu und Viscosity

Einrichten eines OpenVPN-Servers mit VyOS und Viscosity