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

Einrichten eines OpenVPN-Servers mit Red Hat Linux 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.

Dieser Leitfaden führt Sie durch die Schritte zum Einrichten eines OpenVPN-Servers auf einem Red Hat Linux-Host, der Ihnen den sicheren Zugriff auf Ihr Heim-/Büronetzwerk von einem entfernten Standort aus ermöglicht und optional Ihren gesamten Netzwerkverkehr durch ihn sendet, damit Sie darauf zugreifen können auch sicher im Internet.

Vorbereitung

Für diese Anleitung gehen wir von Folgendem aus:

  • Sie haben bereits die neueste Version von Red Hat Enterprise Linux installiert (8.4 zum Zeitpunkt des Schreibens)
  • Sie haben root Zugriff auf diese Installation
  • Kennen Sie den Namen Ihrer Netzwerkschnittstellen (Anweisungen gleich unten)
  • Diese Installation von Red Hat ist eine Neuinstallation
  • Sie haben bereits eine Kopie von Viscosity auf Ihrem Client-Gerät installiert

Wenn Sie eine Kopie von Red Hat herunterladen und installieren müssen, finden Sie eine Testversion unter https://access.redhat.com/products/re.../evaluation. Wir werden nicht auf die Details zum Einrichten einer Red Hat-Instanz eingehen, viele Anleitungen sind online zu finden. Wenn Sie eine andere Version von Red Hat verwenden, gelten sehr wahrscheinlich viele oder sogar alle der in diesem Handbuch beschriebenen Schritte weiterhin. 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).

Um den Namen Ihrer primären Netzwerkschnittstelle (WAN-Zugriff) abzurufen, führen Sie Folgendes auf Ihrem RHEL-Server aus:
ip route | grep default | awk 'NR==1 {print $(NF-4)}'

Wenn Sie über eine zweite Netzwerkschnittstelle für den Zugriff auf Maschinen in Ihrem lokalen Netzwerk verfügen, benötigen Sie beim Einrichten der Firewall und des Routings auch deren Namen.

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.

Für weitere Informationen oder Hilfe zu RHEL wird Support unter https://www.redhat.com/en/services/support

angeboten

Unzählige RHEL-Communities und -Foren sind ebenfalls leicht im Internet durchsuchbar.

Zugriff auf die Befehlszeilenschnittstelle

Die in diesem Handbuch beschriebenen Schritte werden über die Befehlszeilenschnittstelle (d. h. Terminal) auf Ihrem RHEL-Server ausgeführt. Wenn Sie diesen Server remote ausführen, müssen Sie die SSH-Anwendung verwenden, um eine sichere Verbindung zwischen Ihrem Client-Gerät und dem Server herzustellen (um sich mit „SSH in“ Ihren Server einzuloggen). Wenn Sie Ihren OpenVPN-Server auf einem Virtual Private Server (VPS) einrichten, kennen Sie möglicherweise nur die Weboberfläche. Viele VPS-Anbieter bieten zusätzlich zum Webinterface einen SSH-Zugang. Wenden Sie sich für Einzelheiten bitte an Ihren VPS-Anbieter.

Wenn Sie neu bei SSH sind, haben wir einige Anweisungen in unserem Einführungsleitfaden.

Erste Schritte

Nachdem Sie sich bei root angemeldet haben, müssen wir sicherstellen, dass das Repository von Red Hat auf dem neuesten Stand ist, indem Sie Folgendes eingeben:

yum update

Dadurch werden die vorinstallierten Pakete durchlaufen und aktualisiert. Wenn Updates gefunden werden, werden Sie gefragt, ob Sie fortfahren möchten. Bestätigen Sie dies, indem Sie y eingeben . Möglicherweise werden Sie darüber informiert, dass Sie nach Abschluss der Paketaktualisierungen neu starten müssen. Melden Sie sich in diesem Fall nach dem Neustart wieder als root am Terminal an.

Als nächstes müssen wir EPEL (Extra Packages for Enterprise Linux) installieren, da dieses das OpenVPN-Paket enthält. Führen Sie für RHEL 8 Folgendes aus:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
ARCH=$( /bin/arch )
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"

Für andere RHEL-Versionen folgen Sie bitte den EPEL-Anweisungen hier .

Installieren Sie als nächstes OpenVPN:

yum install openvpn -y

Generieren von Konfigurationen, 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. Sie können entweder dem Abschnitt für Linux mit dem RHEL RPM-Installationsprogramm folgen und Ihre Client-Konfigurationen vom Server kopieren (wir empfehlen dies) oder alles auf Ihrem PC oder Mac generieren und den Server kopieren Ordner, der auf Ihrem RHEL-Server generiert wird.

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

Nachdem Sie Ihre Konfigurationen generiert haben, müssen Sie die Serverkonfiguration auf Ihren Server übertragen oder Ihre Clientkonfigurationen von Ihrem Server übertragen. Wenn Sie lokalen Zugriff haben, ist ein USB-Laufwerk am einfachsten. Falls nicht, finden Sie in unserem Einführungshandbuch Hilfestellungen zum Übertragen von Dateien mit SCP.

IP-Weiterleitung

Um unsere Anfragen durch das VPN weiterzuleiten, möchten wir, dass sich der OpenVPN-Server wie ein Router verhält. Daher müssen wir die IP-Weiterleitung aktivieren.

  1. Im Terminal können wir die IP-Weiterleitung auf dem Red Hat-Server aktivieren, indem wir Folgendes eingeben:
    echo 1 > /proc/sys/net/ipv4/ip_forward
  2. Um sicherzustellen, dass Hosts im Heim-/Büronetzwerk den VPN-Server finden können, müssen wir dafür sorgen, dass der Server auf alle ARP-Anfragen antwortet:
    echo 1 > /proc/sys/net/ipv4/conf/ens33/proxy_arp
    wobei ens33 ist die Netzwerkschnittstelle des Heim-/Büronetzwerks, wenn Sie zwei Netzwerkschnittstellen haben, oder Ihr
  3. Bei jedem Neustart des Servers werden diese Befehle rückgängig gemacht. Um sicherzustellen, dass dies nicht passiert, müssen wir die Datei sysctl.conf ändern:
    nano /etc/sysctl.conf
  4. Fügen Sie die folgenden Zeilen am Ende dieser Datei hinzu:
    net.ipv4.ip_forward = 1
    und
    net.ipv4.conf.ens33.proxy_arp = 1
  5. Drücken Sie ctrl + x Nano beenden. Speichern Sie die Änderungen, wenn Sie dazu aufgefordert werden.
  6. Um die an der Datei sysctl.conf vorgenommenen Änderungen zu aktivieren, geben Sie Folgendes ein:
    sysctl -p /etc/sysctl.conf

Firewall-Regeln

Wir werden die firewalld verwenden Firewall standardmäßig auf Red Hat installiert. Wenn Sie OpenVPN auf einem Server installieren, der bereits über ein eigenes Firewall-Setup verfügt, stellen Sie sicher, dass Sie die Regeln hinzufügen, um unseren OpenVPN-Datenverkehr zuzulassen. Wenn es sich jedoch nur um einen einfachen eigenständigen Red Hat-Server handelt, sollten die folgenden Firewall-Einstellungen ausreichen, um Ihren OpenVPN-Server zum Laufen zu bringen.

  1. Lassen Sie openvpn zu service:
    firewall-cmd --permanent --add-service=openvpn
    firewall-cmd --add-service=openvpn
  2. Stellen Sie den OpenVPN-Server so ein, dass er Maskerade bereitstellt:
    firewall-cmd --permanent --add-masquerade
    firewall-cmd --add-masquerade
  3. OpenVPN-Port (1194) zulassen:
    firewall-cmd --permanent --add-port=1194/udp
  4. DNS-Port (53) zulassen:
    firewall-cmd --permanent --add-port=53/udp
  5. Starten Sie die Firewall mit diesen neuen Einstellungen neu:
    firewall-cmd --reload

Starten des OpenVPN-Servers

An dieser Stelle sind die Grundlagen abgeschlossen. Ihre Serverkonfiguration und Dateien sollten auf Ihren Server kopiert werden, von wo Sie sie generiert haben.

Kopieren Sie zunächst die Serverkonfigurationsdateien in das OpenVPN-Verzeichnis:

sudo cp /path/to/configs/server/* /etc/openvpn/

Starten Sie nun Ihren Server und aktivieren Sie ihn auch nach einem Neustart.

systemctl -f enable [email protected]
systemctl start [email protected]

Um den Serverstatus zu prüfen, geben Sie ein:

systemctl -l status [email protected]

Darauf sollte es mit dem Status antworten und in Grün sollten Sie sehen:

...
Active: active (running)
...

Ihr OpenVPN-Server ist jetzt betriebsbereit und bereit für die Verbindung.

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!

Basis-DNS-Server

Wenn Sie sich dafür entscheiden, Ihren eigenen DNS-Server für Clients zu betreiben, finden Sie im Folgenden ein Beispiel für die Einrichtung eines Bindungs-DNS-Servers.

  1. Um den DNS-Server zu installieren, geben Sie Folgendes ein:
    yum install bind bind-utils bind-libs bind-chroot
  2. Um die Weiterleitungsregeln für unseren DNS-Server einzurichten, ändern wir die Konfigurationsdatei:
    nano /etc/named.conf
  3. Oben sehen Sie eine geklammerte Sammlung von Anweisungen mit der Bezeichnung Optionen . Fügen Sie die folgenden zwei Zeilen am Ende der Liste der Optionen ein:
    forwarders {8.8.8.8;8.8.4.4;}; #IP of upstream nameservers
    forward only; #rely completely on our upstream nameservers
    wo wir die DNS-Server von Google verwenden (es steht Ihnen frei, den DNS-Auflösungsdienst Ihrer Wahl zu verwenden).
  4. Fügen Sie das VPN-Subnetz (10.8.0.0/24) zum Mithören hinzu und allow-query Parameter oben in den Optionen, sodass sie jetzt so aussehen:
    ...
    listen-on port 53 { 10.8.0.0/24;127.0.0.1; };
    ...
    allow-query {10.8.0.0/24;localhost; };
    ...
  5. Drücken Sie ctrl + x Nano beenden. Speichern Sie die Änderungen, wenn Sie dazu aufgefordert werden.
  6. Setzen Sie die Berechtigungen der conf-Datei auf 644:
    chmod 644 /etc/named.conf

Da diese conf-Datei fehleranfällig ist, können wir sie überprüfen, indem wir Folgendes eingeben:

named-checkconf /etc/named.conf

Wenn Ihre Konfigurationsdatei keine Fehler enthält, gibt dieser Befehl nichts zurück.

  1. Öffnen Sie die Liste der Nameserver:
    nano /etc/resolv.conf
  2. Stellen Sie den Server-Resolver so ein, dass er auf sich selbst zeigt:
    nameserver 127.0.0.1
  3. Drücken Sie ctrl + x Nano beenden. Speichern Sie die Änderungen, wenn Sie dazu aufgefordert werden.
  4. Wenn Ihr Red Hat-Server auf einem Router mit einem DHCP-Dienst ausgeführt wird, müssen Sie sicherstellen, dass die Datei resolv.conf bei der DHCP-Lease-Erneuerung nicht überschrieben wird. Geben Sie Folgendes ein:
    nano /etc/sysconfig/network-scripts/ifcfg-ens32
    Ersetzen Sie ens33 durch den Namen Ihrer primären Netzwerkschnittstelle, falls dieser anders ist (weitere Informationen finden Sie im Abschnitt „Vorbereitung“)
  5. Stellen Sie sicher, dass die folgenden drei Parameter gesetzt sind:
    BOOTPROTO=dhcp
    PEERDNS=no
    TYPE=Ethernet
  6. Drücken Sie ctrl + x Nano beenden. Speichern Sie die Änderungen, wenn Sie dazu aufgefordert werden.
  7. Um den DNS-Server zu starten, geben Sie Folgendes ein:
    systemctl start named
  8. Automatisches Starten des DNS-Servers beim Systemstart aktivieren:
    systemctl enable named

Das war's, der DNS-Server ist jetzt eingerichtet.


OpenVPN
  1. So fügen Sie Repositories zu Red Hat Linux mit und ohne Proxy hinzu

  2. Eine einfachste Möglichkeit, OpenVPN-Server unter Linux zu installieren und zu konfigurieren

  3. Registrieren Sie Red Hat Enterprise Linux und hängen Sie ein Abonnement mit Ansible an

  4. Einrichten eines Verschleierungsservers mit Obfsproxy und Viscosity

  5. Einrichten eines OpenVPN-Servers mit CentOS 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

Einrichten eines NFS-Servers mit Turnkey Linux