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

Einrichten eines Verschleierungsservers mit Obfsproxy und Viscosity

Verschleierung kann verwendet werden, um zu verhindern, dass Ihre VPN-Verbindung erkannt und/oder blockiert wird. Einige Administratoren (z. B. WLAN-Hotspots in Cafés) entscheiden sich dafür, den VPN-Verkehr in ihrem Netzwerk zu blockieren. Indem Sie Ihre VPN-Verbindung verschleiern, können Sie sich sicher mit Ihren entfernten Netzwerkressourcen verbinden oder privat im Internet surfen, während Sie mit solchen eingeschränkten Netzwerken verbunden sind.

Netzwerkadministratoren können Tools wie Deep Packet Inspection (DPI) verwenden, um den Datenverkehr nach Protokollen wie HTTP, SSL, VPN usw. zu klassifizieren und einzuschränken. Viscosity verwendet Obfsproxy, um seinen VPN-Datenverkehr zu verschleiern. Obfsproxy wandelt den von Ihrem Computer kommenden VPN-Datenverkehr so ​​um, dass er wie von Ihnen gewählt aussieht, sodass es schwieriger ist, ihn über DPI-Methoden einzuschränken. Es gibt eine Reihe verschiedener Methoden, die Obfsproxy verwenden kann, um Ihren Datenverkehr zu verschleiern, einschließlich obfs2, das einen Verschlüsselungs-Wrapper um Ihren VPN-Datenverkehr hinzufügt, um zu verhindern, dass er wie ein bestimmtes Protokoll aussieht.

Ubuntu-Setup

Vorbereitung

Für diese Anleitung gehen wir von Folgendem aus:

  • Sie haben bereits die neueste Version von Ubuntu installiert (18.04 zum Zeitpunkt des Schreibens)
  • Sie haben root Zugriff auf diese Installation von Ubuntu über Terminal oder ssh
  • Sie haben bereits einen TCP (nicht UDP) OpenVPN-Server eingerichtet
  • Sie haben bereits eine Kopie von Viscosity auf Ihrem Client-Gerät installiert

Der OpenVPN-Server kann sich auf dieser Installation von Ubuntu oder einem anderen Computer befinden, es spielt keine Rolle. Wenn Sie noch keinen OpenVPN-Server eingerichtet haben, sehen Sie sich bitte unsere Einrichtungsanleitungen an. Stellen Sie sicher, dass das OpenVPN-Serverprotokoll auf TCP eingestellt ist, nicht auf UDP. Wir gehen auch davon aus, dass diese Installation von Ubuntu eine Neuinstallation ist, möglicherweise mit einem ebenfalls installierten OpenVPN-Server.

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

Erste Schritte

Dieser Leitfaden führt Sie durch die Einrichtung eines der folgenden Verschleierungsprotokolle:

  • obfs2
  • obfs3
  • Scramblesuit
  • obfs4

Melden Sie sich zunächst mit sudo su - als root an der Befehlszeile an . Nach der Anmeldung müssen wir sicherstellen, dass die Repository-Liste von Ubuntu auf dem neuesten Stand ist, indem wir Folgendes eingeben:

sudo apt-get update

Für obfs2, obfs3 und obfs4 verwenden wir obfs4proxy. Führen Sie Folgendes aus, um obfs4proxy zu installieren:

sudo apt install -y obfs4proxy

Für Scramblesuit benötigen Sie stattdessen obfsproxy, installieren Sie dies mit dem Folgenden und springen Sie dann zum Scramblesuit-Abschnitt weiter unten:

sudo apt install -y obfsproxy

Ein letzter Hinweis, bevor Sie fortfahren:In diesem Handbuch wird Port 12345 als Beispiel verwendet. In den meisten Fällen funktioniert dies problemlos. Möglicherweise möchten Sie dies jedoch auf Port 443 oder 80 ändern, wenn Sie obfsproxy an Orten verwenden, die alle anderen Ports blockieren. Bitte beachten Sie, dass dies die Fähigkeit Ihres Servers, Websites zu hosten oder sich mit externen Quellen zu verbinden, beeinträchtigen kann. Wenn Sie sich also für diese Ports entscheiden, stellen Sie sicher, dass Sie alles testen!

Obfs4proxy-Serverkonfiguration

Um mit der Einrichtung von obfs4proxy zu beginnen, denn wenn Sie das obfs2-, obfs3- oder obfs4-Protokoll verwenden möchten, richten wir zuerst die config. Erstellen Sie wie folgt ein Verzeichnis für die obfs4proxy-Konfiguration:

sudo mkdir -p /var/lib/tor/pt_state/obfs4

Als nächstes erstellen Sie die Konfiguration:

sudo nano /var/lib/tor/pt_state/obfs4/obfs4.config

Und fügen Sie Folgendes ein:

TOR_PT_MANAGED_TRANSPORT_VER=1
TOR_PT_STATE_LOCATION=/var/lib/tor/pt_state/obfs4
TOR_PT_SERVER_TRANSPORTS=obfs4
TOR_PT_SERVER_BINDADDR=obfs4-0.0.0.0:12345
TOR_PT_ORPORT=127.0.0.1:443

Sie können bei Bedarf die folgenden Änderungen vornehmen:

  • TOR_PT_SERVER_TRANSPORTS - Dies ist das zu verwendende Protokoll, ändern Sie es in obfs2 oder obfs3, wenn Sie ein anderes Protokoll verwenden möchten.
  • TOR_PT_SERVER_BINDADDR - Ändern Sie erneut obfs4 in obfs2 oder obfs3, wenn Sie ein anderes Protokoll verwenden möchten. 12345 ist der Port, auf dem obfs4proxy lauscht, Sie können dies auch nach Belieben ändern.
  • TOR_PT_ORPORT - Dies ist die Adresse Ihres OpenVPN-Servers. Wenn Sie den obfs4proxy-Server auf demselben System wie Ihren OpenVPN-Server unter Verwendung von Port 443 ausführen, muss nichts geändert werden, andernfalls ändern Sie diese Adresse und diesen Port nach Bedarf.

Speichern Sie die Konfiguration und beenden Sie nano.

Als nächstes müssen wir einen Dienst für obfs4proxy einrichten. Erstellen Sie dazu eine neue Datei und öffnen Sie diese im Nano-Editor mit:

sudo nano /etc/systemd/system/obfs4proxy.service

Und fügen Sie Folgendes ein, speichern und schließen Sie nano:

[Unit]
Description=obfs4proxy Server

[Service]
EnvironmentFile=/var/lib/tor/pt_state/obfs4/obfs4.config
ExecStart=/usr/bin/obfs4proxy -enableLogging true -logLevelStr INFO

[Install]
WantedBy=multi-user.target

Starten Sie als Nächstes den Dienst und aktivieren Sie ihn so, dass er nach dem Neustart automatisch gestartet wird:

sudo systemctl start obfs4proxy.service
sudo systemctl enable obfs4proxy.service

Sie können den erfolgreichen Start überprüfen mit:

sudo systemctl status obfs4proxy.service

Wenn Sie schließlich das obfs4-Protokoll verwenden, wird beim ersten Start des Servers ein Kennwortschlüssel generiert, den Sie in Viscosity einfügen müssen. Drucken Sie es aus mit:

sudo cat /var/lib/tor/pt_state/obfs4/obfs4_bridgeline.txt | grep 'Bridge obfs4' | sed -e 's/^.*cert=\(.*\) .*$/\1/'

Setup des Scramblesuit-Servers

HINWEIS:Obfsproxy für Scramblesuit ist nicht mehr in den Repositories von Ubuntu 20 (Focal) verfügbar. Sie können es selbst kompilieren, wir empfehlen jedoch stattdessen die Verwendung von Obfs4.

Scramblesuit erfordert eine andere Konfiguration mit dem älteren obfsproxy-Programm. Erstellen Sie zunächst ein leeres Verzeichnis für obfsproxy mit:

sudo mkdir -p /var/lib/tor/pt_state/scramblesuit

Als nächstes müssen wir ein zu verwendendes Passwort generieren. Geben Sie dazu Folgendes in das Terminal ein:

python -c 'import os,base64; print base64.b32encode(os.urandom(20))'

Dies wird eine Reihe von Zahlen und Buchstaben ausgeben, machen Sie eine Kopie davon, das ist Ihr Passwortschlüssel für Scramblesuit, den wir unten und später für Viscosity benötigen.

Erstellen Sie als Nächstes eine Dienstkonfiguration und öffnen Sie sie mit nano:

sudo nano /etc/systemd/system/obfsproxy.service

Und fügen Sie Folgendes ein:

[Unit]
Description=Obfsproxy Server

[Service]
ExecStart=/usr/bin/obfsproxy --log-min-severity=info --data-dir=/var/lib/tor/pt_state scramblesuit --password=YOURPASSWORD --dest=127.0.0.1:443 server 0.0.0.0:12345

[Install]
WantedBy=multi-user.target

Nehmen Sie bei Bedarf die folgenden Änderungen vor:

  • IHR PASSWORT - Ersetzen Sie dies durch den oben generierten Passwortschlüssel.
  • 127.0.0.1:443 - Dies ist die Adresse Ihres OpenVPN-Servers. Dies gilt, wenn Ihr OpenVPN-Server auf demselben System wie obfsproxy läuft und auf Port 443 lauscht, andernfalls ändern Sie dies nach Bedarf.
  • 0.0.0.0:12345 - Hier lauscht obfsproxy auf Verbindungen. Sie können 12345 bei Bedarf in einen anderen Port ändern.

Speichern Sie die Dienstkonfiguration und beenden Sie nano. Wir können dann den Dienst starten und ihn nach dem Neustart automatisch starten lassen mit:

sudo systemctl start obfsproxy.service
sudo systemctl enable obfsproxy.service

Sie können den erfolgreichen Start überprüfen mit:

sudo systemctl status obfsproxy.service

Firewall-Setup

Schließlich müssen wir externe Verbindungen zu Obfsproxy zulassen. Angenommen, Sie haben ufw (unkomplizierte Firewall) gemäß unserem Ubuntu-Serverhandbuch eingerichtet, geben Sie einfach Folgendes ein:

sudo ufw allow 12345
sudo ufw reload

Wenn Sie Ihren Port von 12345 geändert haben, der in dieser Anleitung gezeigt wird, passen Sie die Nummer im ersten Befehl entsprechend an.

Einrichten der Viskosität

Die Benutzeroberfläche der Mac- und Windows-Versionen von Viscosity ist absichtlich sehr ähnlich. Daher konzentrieren wir uns in unserem Leitfaden auf die Mac-Version und weisen auf etwaige Unterschiede zur Windows-Version hin, sobald diese auftreten.

Wenn Sie Viscosity noch nicht ausgeführt haben, starten Sie Viscosity jetzt. In der Mac-Version In der Menüleiste wird das Viskositätssymbol angezeigt. In der Windows-Version Sie sehen das Viskositätssymbol in der Taskleiste.

Klicken Sie auf das Viskositätssymbol in der Menüleiste (Windows :Taskleiste) und wählen Sie "Einstellungen...". Dies zeigt Ihnen die Liste der verfügbaren VPN-Verbindungen. Wir gehen davon aus, dass Sie bereits eine Verbindung zu Ihrem OpenVPN-Server hergestellt haben. Wenn Sie keine Viscosity-Verbindung zu Ihrem OpenVPN-Server erstellt haben, sehen Sie sich bitte unsere OpenVPN-Server-Anleitungen an. Wählen Sie Ihre zuvor konfigurierte Verbindung aus und klicken Sie auf "Bearbeiten":

Konfigurieren der Verbindung

Sie müssen nun die Verbindungsparameter wie folgt ändern:

  1. Im Allgemeinen Ersetzen Sie die Serveradresse durch die IP-Adresse Ihres Obfsproxy-Servers. Dies bleibt unverändert, wenn Ihr Obfsproxy-Server auf demselben Computer wie Ihr OpenVPN-Server läuft.
  2. Aktualisieren Sie den Port auf den in der obigen Konfiguration festgelegten Obfsproxy-Port (in unserem Beispiel 12345).
  3. Das Protokoll muss auf TCP eingestellt sein.


  4. Klicken Sie auf Transport Registerkarte.
  5. Stellen Sie die Verschleierungsmethode auf die in der Obfsproxy-Serverkonfiguration ausgewählte Verschleierungsmethode ein.
  6. Sie können keinen Proxy verwenden, wenn Sie Verschleierung verwenden, stellen Sie also sicher, dass die Option „Verbindung über Proxy“ deaktiviert ist.
  7. Wenn Sie obfs4 oder Scramblesuit verwenden, fügen Sie den Passwortschlüssel in das Feld "Schlüssel" ein.


  8. Klicken Sie auf Save Schaltfläche.

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. Einrichten eines NFS-Servers und -Clients unter CentOS 7.2

  2. So installieren und konfigurieren Sie OpenLiteSpeed ​​Server unter Ubuntu 18.04 zusammen mit MariaDB

  3. Einrichten eines NFS-Servers und -Clients unter OpenSUSE 12.2

  4. Erstellen von Zertifikaten und Schlüsseln für Ihren OpenVPN-Server

  5. Einrichten eines OpenVPN-Servers mit CentOS 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 Ubiquiti EdgeRouter (EdgeOS) und Viscosity

Einrichten eines OpenVPN-Servers mit Ubuntu und Viscosity

Einrichten eines OpenVPN-Servers mit VyOS und Viscosity