OpenVPN ist zweifellos der beste Weg, um eine sichere Verbindung zu einem Netzwerk über das Internet herzustellen .
OpenVPN ist eine Open-Source- VPN-Ressource, mit der Benutzer unsere Navigation maskieren können, um nicht Opfer von Informationsdiebstahl im Netzwerk zu werden. Dies sind sehr wichtige Sicherheitsaspekte, die wir berücksichtigen müssen. Dieses Mal analysieren wir den OpenVPN- Konfigurationsprozess in einer Ubuntu 16.04- Umgebung .
- Schützen Sie den Datenverkehr beim Durchsuchen des Netzwerks.
- Es funktioniert wie ein Tunnel über eine beliebige IP-Adresse unter Verwendung eines einzelnen TCP- oder UDP-Ports.
- Konfigurieren Sie mehrere skalierbare VPN- Server .
- Verwenden Sie Verschlüsselungs- und Authentifizierungsfunktionen, um den Datenverkehr zu schützen.
- Dynamischer Schlüsselaustausch.
- Erstellen Sie sichere Ethernet- Bridges .
- VPN-Verwaltung über eine grafische Oberfläche in Windows- und Mac OS-Umgebungen.
- Root-Benutzer
- Droplet Ubuntu 16.04
1. Wie installiere ich Update und installiere OpenVPN in Ubuntu 16.04?
Zuerst werden wir Ubuntu 16.04 mit dem folgenden Befehl aktualisieren:
sudo apt-get update
Sobald das System aktualisiert ist, installieren wir OpenVPN mit dem folgenden Befehl. Wir akzeptieren den Download und die jeweilige Installation der OpenVPN-Pakete.
sudo apt-get installiere openvpn easy-rsa
Auf diese Weise haben wir OpenVPN in Ubuntu 16 installiert und müssen nun den Konfigurationsprozess durchführen.
2. So legen Sie das CA-Verzeichnis unter Ubuntu 16.04 fest
Die CA (Certificate Authority – Certificate of Authority) ist das Mittel, mit dem wir Vertrauenszertifikate ausstellen können, da OpenVPN ein VPN ist, das die TLS / SSL-Protokolle verwendet.
Dazu kopieren wir die easy-rsa-Templates mit dem Befehl make-cadir in unser Home-Verzeichnis und geben im Terminal von Ubuntu 16.04 Folgendes ein:
make-cadir ~ / openvpn-ca
Jetzt greifen wir auf die zuvor erstellte Route zu:
cd ~ / openvpn-ca
3. Konfigurieren Sie die Variablen der Autoritätszertifikate in Ubuntu 16.04
Es ist erforderlich, dass wir die Werte konfigurieren, die von den Zertifizierungsstellen- oder Zertifizierungsstellenzertifikaten verwendet werden. Dazu müssen wir die vars- Datei im Verzeichnis bearbeiten.
Wir können diese Datei mit dem bevorzugten Editor öffnen. In diesem Fall ist es nano:
sudo nano vars
In dieser Datei finden Sie die Variablen, die angepasst und konfiguriert werden können, um die Art und Weise zu bestimmen, in der die Autoritätszertifikate erstellt werden. Wir werden zum Ende der Datei gehen, bis wir diese Variablen finden:
export KEY_COUNTRY = "US" export KEY_PROVINCE = "CA" export KEY_CITY = "San Francisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "[email protected]" export KEY_OU = "MyOrganizationalUnit"
Wir bearbeiten diese Werte basierend auf den erforderlichen Parametern. Auf die gleiche Weise bearbeiten wir die Exportzeile KEY_NAME, der der entsprechende Name zugewiesen wurde. In diesem Fall haben wir sie als Server bezeichnet.
Wir speichern die Änderungen mit der Kombination:
+ O Strg + O
und wir haben den Editor mit verlassen
+ X Strg + X
4. So erstellen Sie das Autorisierungszertifikat in Ubuntu 16.04
Mit diesen definierten Werten fahren wir mit der Erstellung des Autorisierungszertifikats fort.
Sobald wir im Verzeichnis sind, werden wir den folgenden Befehl ausführen:
Quellenvariablen
Wir führen den angegebenen Befehl aus, um eine saubere Umgebung zu haben:
./clean-all
Jetzt erstellen wir das CA-Stammzertifikat mit dem folgenden Befehl:
./build-ca
Wir können eine Reihe von Fragen sehen, die wir bereits in der vars-Datei konfiguriert haben, sodass wir nur die Eingabetaste drücken müssen, um sie automatisch zu vervollständigen. Auf diese Weise haben wir das Zertifikat erstellt , das für den Rest des Prozesses nützlich ist.
5. Wie erstelle ich ein Server-Zertifikat, einen verschlüsselten Schlüssel und Dateien in Ubuntu 16.04?
An dieser Stelle erstellen wir das Serverzertifikat und die zugehörigen Schlüssel.
Dazu führen wir folgenden Befehl aus:
./build-key-server server
Wir müssen den Servernamen durch den in der Exportzeile (KEY_NAME der vars-Datei) zugewiesenen Servernamen ersetzen. Automatisch werden die bereits in der vars-Datei definierten Werte ausgegeben. Drücken Sie also die Eingabetaste.
Wir können sehen, dass das Zertifikat korrekt erstellt wurde.
Als nächstes erstellen wir andere Parameter, wie zum Beispiel die Diffie-Hellman-Verschlüsselung , die beim Austausch von Schlüsseln verwendet werden kann. Dazu verwenden wir die folgende Zeile.
./build-dh
Dieser Vorgang dauert einige Minuten. Wir können auch eine HMAC-Signatur generieren, mit der wir die TLS-Integritätsstufen des Servers verbessern können.
openvpn --genkey --secret keys / ta.key
6. Wie erstelle ich ein Server-Zertifikat, einen Schlüssel und verschlüsselte Dateien in Ubuntu 16.04?
Dieser Vorgang kann auf dem Client-Computer ausgeführt und später mit dem CA-Server signiert werden, diesmal führen wir ihn jedoch aus Zeitgründen direkt aus.Wenn dies nicht der Fall ist, wechseln Sie erneut in das Verzeichnis ~ / openvpn-ca und führen dort den Befehl source vars aus.
Nun geben wir die folgende Zeile ein, in der wir den Namen des Kunden definieren:
./build-key solvetic1
Wir müssen die Eingabetaste in den entsprechenden Fragen drücken, die bereits zuvor konfiguriert wurden
Dieser Befehl erstellt Anmeldeinformationen, ohne dass ein Kennwort erforderlich ist. Wenn wir aus Sicherheitsgründen eine Anmeldeinformation mit einem Kennwort erstellen möchten, müssen wir die folgende Zeile ausführen:
./build-key-pass (client name)
7. So konfigurieren Sie den OpenVPN-Dienst in Ubuntu 16.04
Der nächste Schritt besteht darin, den OpenVPN-Dienst so zu konfigurieren, dass alles wie gewünscht funktioniert. Zuerst kopieren wir die Dateien, die wir im Pfad ~ / openvpn-ca erstellt haben, in den Pfad / etc / openvpn. Denken Sie daran, dass die CA-Zertifikate, die Schlüssel, die Diffie-Hellman-Datei und die HMAC-Datei erstellt wurden .
Dazu greifen wir auf folgendes Verzeichnis zu:
cd ~ / openvpn-ca / keys
Dort werden wir die folgende Zeile für den Kopiervorgang ausführen:
sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn
Jetzt müssen wir eine OpenVPN-Konfigurationsdatei in dieses Verzeichnis kopieren und entpacken, um sie als Basis zu verwenden. Dazu geben wir Folgendes ein:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
8. Wie man die Konfiguration von OpenVPN in Ubuntu 16.04 anpasst
Sobald wir diese Dateien im erforderlichen Pfad haben, passen wir die OpenVPN-Konfiguration an, indem wir auf die Datei server.conf zugreifen :
sudo nano /etc/openvpn/server.conf
Dort nehmen wir folgende Anpassungen vor. Gehen wir zur Zeile tls-auth ta.key 0 # Diese Datei ist geheim und darunter werden wir Folgendes hinzufügen.
Schlüsselrichtung 0
In der Chiffrierzeile AES-128-CBC entfernen wir das Symbol; Geben Sie am Anfang und unterhalb dieser Zeile Folgendes ein.
Auth SHA256
Dies dient zum Erstellen einer Authentifizierungszeile zur Auswahl des Nachrichtenalgorithmus. In den Zeilen user und group entfernen wir das Symbol von; befindet sich am Anfang.
Als optionale Alternativen können wir Folgendes hinzufügen.
Dazu werden wir in der vorherigen Datei folgende Änderungen vornehmen: Trennen wir die Leitungen: "redirect-gateway def1 bypass-dhcp" drücken Push "DHCP-Option DNS 208.67.222.222" Push "DHCP-Option DNS 208.67.220.220"
Ebenso können wir das Protokoll in der Proto- Zeile anpassen .
Zuerst aktivieren wir die IP-Adressweiterleitung , dh der Server leitet den Datenverkehr weiter. Dazu müssen wir die Datei /etc/sysctl.conf bearbeiten:
sudo nano /etc/sysctl.conf
In der Datei finden wir die Zeile net.ipv4.ip_forward = 1 und zerlegen sie, indem wir das Symbol # am Anfang entfernen.
Wir speichern die Änderungen und hinterlassen die Datei. Für alle Änderungen, die in der aktuellen Sitzung angewendet werden sollen, führen wir den folgenden Befehl aus.
sudo sysctl -p
ip route | grep default
In diesem Beispiel ist die öffentliche Netzwerkschnittstelle enp0s3. Nun greifen wir auf die Regelkonfigurationsdatei für ihre Anpassung zu und geben Folgendes ein:
sudo nano /etc/ufw/before.rules
Das folgende Fenster wird angezeigt.
Diese Datei verwaltet die Konfiguration, die vorangestellt werden muss, bevor die typischen UFW-Regeln ausgeführt werden. Im oberen Teil geben wir die folgenden Zeilen ein, die die POSTROUTING-Konfiguration festlegen:
# START OPENVPN-REGELN # NAT-Tabellenregeln * nat : POSTROUTING AKZEPTIEREN [0: 0] # Verkehr vom OpenVPN-Client zulassen zu (Schnittstelle) -A POSTROUTING -s 10.8.0.0/8 -o (Schnittstelle) -j MASQUERADE COMMIT # END OPENVPN-REGELN
Es ist wichtig, dass wir im Feld enp0s3 den korrekten Namen der zu verwendenden Schnittstelle festlegen . Wir speichern die Änderungen mit der Kombination:
+ O Strg + O
und wir verließen den Editor mit:
+ X Strg + X
Jetzt müssen wir zulassen, dass die UFW die Pakete standardmäßig akzeptiert. Dazu führen wir den folgenden Befehl aus:
sudo nano / etc / default / ufw
In der Zeile DEFAULT_FORWARD_POLICY modifizieren wir den Begriff DROP durch ACCEPT.
Wir behalten die Änderungen.
sudo ufw erlauben 1194 / udp
Wir fügen auch den SSH-Port hinzu :
sudo ufw erlauben OpenSSH
Um die Änderungen zu laden, verwenden wir die folgenden Befehle.
sudo ufw deaktivieren sudo ufw aktivieren
Mit dem Befehl sudo ufw status können wir überprüfen, ob die Regeln hinzugefügt wurden:
9. So starten und aktivieren Sie den OpenVPN-Dienst in Ubuntu 16.04
Mit diesen bereits definierten Werten können wir den OpenVPN-Dienst in Ubuntu starten. Dazu muss der von uns zugewiesene Name angegeben werden.
Dazu führen wir folgende Zeile aus:
sudo systemctl starte openvpn @ server
Später überprüfen wir den OpenVPN-Status anhand der folgenden Zeile:
sudo systemctl status openvpn @ server
Wir können sehen, dass Ihr Zustand korrekt ist und zufriedenstellend begonnen hat. Drücken Sie den Buchstaben q, um zur Befehlszeile zurückzukehren. Auf die gleiche Weise können wir die tun0-Schnittstelle von OpenVPN überprüfen, indem wir Folgendes eingeben:
ip addr show tun0
Damit der OpenVPN-Dienst bei jedem Sitzungsstart automatisch ausgeführt wird, müssen Sie den folgenden Parameter eingeben:
sudo systemctl aktiviert openvpn @ server
10. So erstellen Sie die OpenVPN-Client-Struktur in Ubuntu 16.04
Der nächste Schritt besteht darin, die Konfigurationsdateien des Clients zu erstellen. Dazu erstellen wir diese Struktur im persönlichen Verzeichnis, indem wir Folgendes ausführen:
mkdir -p ~ / client-configs / files
Wir werden die Berechtigungen auf dieser Route blockieren, da die Schlüssel erstellt wurden. Wir werden die folgende Zeile verwenden:
chmod 700 ~ / client-configs / files
11. Wie erstelle ich eine OpenVPN-Konfigurationsbasis in Ubuntu 16.04?
An diesem Punkt werden wir eine Client-Konfigurationsbasis in das Verzeichnis kopieren, um sie als Basis zu haben. Führen Sie Folgendes aus:
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~ / client-configs / base.conf
Wir öffnen diese Datei mit unserem Lieblingseditor:
sudo nano ~ / client-configs / base.conf
Dort lokalisieren wir die Gegenstelle und geben die IP-Adresse des Servers ein, auf die der UDP-Port 1194 folgt:
In dieser Datei werden folgende Änderungen vorgenommen:
- Kommentieren Sie die Benutzer- und Gruppenzeilen aus , indem Sie das Zeichen entfernen.
- Wir kommentieren die Zeilen ca , cert und key mit dem Symbol #
- Wir fügen die Chiffrierlinien AES-128-CBC und auth SHA256 hinzu
- Unterhalb der vorherigen Zeile haben wir die Tastenrichtung 1 geschrieben
- Am Ende der Datei fügen wir folgende Zeilen hinzu:
script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf
Wenn es bei Ihnen nicht funktioniert, probieren Sie diese andere Form des Skript-Sicherheitsbefehls aus:
Skriptsicherheit 2 / up / etc / openvpn / update-resolv-conf / down / etc / openvpn / update-resolv-conf
Wir speichern die Änderungen mit der Kombination:
+ O Strg + O
und wir verließen den Editor mit:
+ X Strg + X
12. Wie erstelle ich ein Skript für die OpenVPN-Konfiguration in Ubuntu 16.04?
Dieses Skript ist für das Kompilieren der wichtigsten Ereignisse der Zertifikats-, Schlüssel- und Verschlüsselungsdateien im Pfad ~ / client-configs / files verantwortlich . Wir erstellen eine Datei namens make_config.sh mit der folgenden Syntax:
sudo nano ~ / client-configs / make_config.sh
Eine leere Datei wird geöffnet, in der die folgenden Zeilen hinzugefügt werden:
#! / bin / bash # Erstes Argument: Client-ID KEY_DIR = ~ / openvpn-ca / keys OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} <(echo -e '<ca>') $ {KEY_DIR} /ca.crt <(echo -e '</ ca> n <cert>') $ {KEY_DIR} / $ {1} .crt <(echo -e '</ cert> n <key>') $ {KEY_DIR} / $ {1} .key <(echo -e '</ key> n <tls-auth>') $ {KEY_DIR} /ta.key <(echo -e '</ tls-auth>') > $ {OUTPUT_DIR} / $ {1} .ovpn
Wir speichern die Änderungen und verlassen den Editor. Wir werden diese Datei ausführbar machen, indem wir Folgendes eingeben:
sudo chmod 700 ~ / client-configs / make_config.sh
13. Wie die OpenVPN-Client-Konfigurationsdateien in Ubuntu 16.04
Der nächste Schritt besteht darin, die Dateien zu erstellen, die für den als TechnoWikis1 erstellten Client konfiguriert werden sollen .
Dazu geben wir folgende Zeilen ein:
cd ~ / client-configs ./make_config.sh client1 [plain] Schritt 2 [/ plain] Der Inhalt dieses Ordners wird mit dem Befehl ls angezeigt: ls ~ / client-configs / files
Wir sehen, dass dort der Client TechnoWikis1 korrekt angelegt ist.
14. So übertragen Sie die OpenVPN-Konfiguration auf die OpenVPN-Client-Computer in Ubuntu 16.04
Sobald der gesamte Konfigurationsprozess in Ubuntu 16 abgeschlossen ist, ist es Zeit, die TechnoWikis1.ovpn-Datei auf die entsprechenden Geräte wie Computer oder Mobilgeräte zu übertragen.
Wir können den gewünschten Übertragungsclient basierend auf dem von uns verwendeten System verwenden. Ein Übertragungsbeispiel kann in einer Fedora 25-Umgebung Folgendes sein:
sftp [email protected]: client-configs / files / TechnoWikis1.ovpn ~ /
In diesem Beispiel verwenden wir Windows und den Filezilla- Client:
15. Wie installiere und starte ich OpenVPN unter Ubuntu 16.04?
OpenVPN ist für Windows, Linux, Mac OS, Android, FreeBSD usw. verfügbar. Unter folgendem Link können wir die entsprechende Version von OpenVPN herunterladen:
Als nächstes werden wir sehen, wie OpenVPN in den verschiedenen Betriebssystemen ausgeführt wird.
C: Programme OpenVPN config
Von dort aus können wir mit der rechten Maustaste auf die Datei klicken und in dieser Konfigurationsdatei die Option OpenVPN starten auswählen
Auf diese Weise stellen wir eine Verbindung zum OpenVPN-Server her.
Zuerst haben wir das System aktualisiert und OpenVPN mit den folgenden Befehlen installiert:
sudo apt-get update
sudo apt-get installiere openvpn
Wenn wir CentOS verwenden, werden wir die folgenden Befehle verwenden:
sudo yum installiere epel-release sudo yum installiere openvpn
Sobald OpenVPN installiert ist , führen wir den folgenden Befehl aus:
ls / etc / openvpn
Im nächsten Schritt bearbeiten Sie die mit dem gewünschten Editor übertragene .ovpn-Datei .
sudo nano archivo.ovpn
In der geöffneten Datei müssen wir die folgenden Zeilen auskommentieren :
Skriptsicherheit 2 up / etc / openvpn / update-resolv-conf
down / etc / openvpn / update-resolv-con
Jetzt können wir uns mit der folgenden Syntax mit dem VPN verbinden:
sudo openvpn --config File.ovpn
Wenn Sie die Anwendung in der Titelleiste ausführen, wird das entsprechende Symbol angezeigt. Klicken Sie dort auf Verbinden und wählen Sie den von uns konfigurierten Client aus, z. B. TechnoWikis1.
Die .ovpn- Datei muss zur Verwendung über USB auf das Telefon übertragen werden.
Wenn wir die Anwendung ausführen, gehen wir zum Menü und wählen den Ort aus, an dem wir die .ovpn-Datei haben und von dort importieren wir sie. Um eine Verbindung herzustellen, klicken Sie auf die Schaltfläche Verbinden .
Auf jede der angegebenen Arten ist das Ziel, über VPN auf Ubuntu 16.04 zuzugreifen und die Vorteile von OpenVPN zu nutzen.
Wie Sie sehen, ist das Einrichten eines OpenVPN-Servers in Ubuntu etwas komplex, aber mit diesem vollständigen Handbuch haben Sie Schritt für Schritt alles, was Sie tun müssen, um es in diesem System in Betrieb zu nehmen. Wenn Sie zusätzlich zu Ubuntu andere Distributionen verwenden, können Sie hier einen OpenVPN-Server in Debian konfigurieren und installieren.
OpenVPN Server Debian