Anonim

Warum sollten Sie ein VPN verwenden, um auf Ihr Zuhause zuzugreifen?

Schnellzugriff

  • Warum sollten Sie ein VPN verwenden, um auf Ihr Zuhause zuzugreifen?
  • Richten Sie den Pi ein
    • Installieren Sie Raspbian
  • Richten Sie OpenVPN ein
    • Zertifizierungsstelle
    • Machen Sie einige Schlüssel
    • Serverkonfiguration
    • Starten Sie den Server
  • Client-Setup
    • Client-Konfiguration
  • Port-Weiterleitung
  • Mit dem Client verbinden
  • Schlussgedanken

Es gibt viele Gründe, warum Sie remote auf Ihr Heimnetzwerk zugreifen möchten, und der beste Weg, dies zu tun, ist ein VPN-Server. Bei einigen Routern können Sie einen VPN-Server direkt im Router einrichten. In vielen Fällen müssen Sie jedoch selbst einen einrichten.

Ein Himbeer-Pi ist ein guter Weg, um dies zu erreichen. Sie benötigen nicht viel Energie, um zu laufen, und sie haben genug Energie, um einen VPN-Server zu betreiben. Sie können eine neben Ihrem Router einrichten und diese im Grunde vergessen.

Wenn Sie remote auf Ihr Heimnetzwerk zugreifen können, können Sie von überall aus auf Ihre Dateien zugreifen. Sie können Ihre Heimcomputer remote ausführen. Sie können sogar die VPN-Verbindung Ihres Hauses von unterwegs aus nutzen. Mit einem solchen Setup können Sie Ihr Telefon, Tablet oder Laptop von überall aus so verwenden, als wäre es zu Hause.

Richten Sie den Pi ein

Bevor Sie mit dem Einrichten des VPN beginnen können, müssen Sie Ihren Raspberry Pi einrichten. Es ist am besten, den Pi mit einem Gehäuse und einer Speicherkarte mit angemessener Größe einzurichten. 16 GB sollten mehr als genug sein. Wenn möglich, verbinden Sie Ihren Pi mit einem Ethernet-Kabel mit Ihrem Router. Dadurch werden Netzwerkverzögerungen minimiert.

Installieren Sie Raspbian

Das beste Betriebssystem für Ihren Pi ist Raspbian. Es ist die Standardauswahl der Raspberry Pi Foundation und basiert auf Debian, einer der sichersten und stabilsten verfügbaren Linux-Versionen.

Gehen Sie zur Rasbian-Download-Seite und holen Sie sich die neueste Version. Sie können hier die „Lite“ -Version verwenden, da Sie keinen grafischen Desktop benötigen.

Laden Sie währenddessen die neueste Version von Etcher für Ihr Betriebssystem herunter. Extrahieren Sie nach Abschluss des Downloads das Raspbian-Image. Öffnen Sie dann Etcher. Wählen Sie das Raspbian-Bild aus, aus dem Sie es extrahiert haben. Wählen Sie Ihre SD-Karte (Legen Sie sie zuerst ein). Zum Schluss schreiben Sie das Bild auf die Karte.

Lassen Sie die SD-Karte in Ihrem Computer, wenn es fertig ist. Öffnen Sie einen Dateimanager und navigieren Sie zur Karte. Sie sollten ein paar verschiedene Partitionen sehen. Suchen Sie nach der Boot-Partition. Es ist das mit einer "kernel.img" -Datei. Erstellen Sie eine leere Textdatei auf der Partition "boot" und nennen Sie sie "ssh" ohne Dateierweiterung.

Sie können endlich Ihren Pi anschließen. Stellen Sie sicher, dass Sie es zuletzt einstecken. Sie benötigen weder Bildschirm noch Tastatur oder Maus. Sie greifen über Ihr Netzwerk remote auf den Raspberry Pi zu.

Geben Sie dem Pi ein paar Minuten Zeit, um sich einzurichten. Öffnen Sie dann einen Webbrowser und navigieren Sie zum Verwaltungsbildschirm Ihres Routers. Suchen Sie den Raspberry Pi und notieren Sie sich die IP-Adresse.

Öffnen Sie OpenSSH, egal ob Sie Windows, Linux oder Mac verwenden. Stellen Sie mit SSH eine Verbindung zum Raspberry Pi her.

$ ssh

Verwenden Sie natürlich die tatsächliche IP-Adresse des Pi. Der Benutzername ist immer pi und das Passwort ist himbeer.

Richten Sie OpenVPN ein

OpenVPN ist nicht gerade einfach als Server einzurichten. Die gute Nachricht ist, dass Sie es nur einmal tun müssen. Vergewissern Sie sich daher vor dem Einstieg, dass Raspbian auf dem neuesten Stand ist.

$ sudo apt update Upgrade von $ sudo apt

Nach Abschluss des Updates können Sie OpenVPN und das erforderliche Zertifikatdienstprogramm installieren.

$ sudo apt installiere openvpn easy-rsa

Zertifizierungsstelle

Um Ihre Geräte zu authentifizieren, wenn sie versuchen, eine Verbindung zum Server herzustellen, müssen Sie eine Zertifizierungsstelle zum Erstellen von Signaturschlüsseln einrichten. Diese Schlüssel stellen sicher, dass nur Ihre Geräte eine Verbindung zu Ihrem Heimnetzwerk herstellen können.

Erstellen Sie zunächst ein Verzeichnis für Ihre Zertifikate. In dieses Verzeichnis verschieben.

$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs

Suchen Sie nach OpenSSL-Konfigurationsdateien. Verknüpfen Sie dann die neueste mit openssl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

Im selben Ordner "certs" befindet sich eine Datei namens "vars". Öffnen Sie diese Datei mit Ihrem Texteditor. Nano ist die Standardeinstellung, aber Sie können Vim jederzeit installieren, wenn Sie sich damit besser auskennen.

Suchen Sie zuerst die Variable KEY_SIZE. Es ist standardmäßig auf 2048 eingestellt. Ändern Sie es auf 4096.

export KEY_SIZE = 4096

Der Hauptblock, mit dem Sie sich befassen müssen, enthält Informationen zu Ihrer Zertifizierungsstelle. Es hilft, wenn diese Informationen korrekt sind, aber alles, woran Sie sich erinnern können, ist in Ordnung.

export KEY_COUNTRY = "US" export KEY_PROVINCE = "CA" export KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "" export KEY_OU = "MyOrganizationalUnit" export KEY_NAME = "HomeVPN"

Wenn Sie alles haben, speichern und beenden.

Das Easy-RSA-Paket, das Sie zuvor installiert haben, enthält viele Skripts, mit denen Sie alles einrichten können, was Sie benötigen. Sie müssen sie nur ausführen. Fügen Sie zunächst die Datei "vars" als Quelle hinzu. Damit werden alle Variablen geladen, die Sie gerade festgelegt haben.

$ sudo source ./vars

Räumen Sie als Nächstes die Schlüssel auf. Sie haben keine, machen Sie sich also keine Sorgen über die Meldung, dass Ihre Schlüssel gelöscht werden.

$ sudo ./clean-install

Erstellen Sie schließlich Ihre Zertifizierungsstelle. Sie haben bereits die Standardeinstellungen festgelegt, sodass Sie nur die angezeigten Standardeinstellungen akzeptieren können. Denken Sie daran, ein sicheres Kennwort festzulegen und die letzten beiden Fragen nach dem Kennwort mit "Ja" zu beantworten.

$ sudo ./build-ca

Machen Sie einige Schlüssel

Sie haben sich die Mühe gemacht, eine Zertifizierungsstelle einzurichten, damit Sie Schlüssel signieren können. Jetzt ist es Zeit, etwas zu machen. Erstellen Sie zunächst den Schlüssel für Ihren Server.

$ sudo ./build-key-server server

Als nächstes bauen Sie die Diffie-Hellman-PEM. Dies ist, was OpenVPN verwendet, um Ihre Client-Verbindungen zum Server zu sichern.

$ sudo openssl dhparam 4096> /etc/openvpn/dh4096.pem

Der letzte Schlüssel, den Sie ab sofort benötigen, wird als HMAC-Schlüssel bezeichnet. OpenVPN signiert mit diesem Schlüssel jedes einzelne Informationspaket, das zwischen dem Client und dem Server ausgetauscht wird. Es hilft, bestimmte Arten von Angriffen auf die Verbindung zu verhindern.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Serverkonfiguration

Du hast die Schlüssel. Der nächste Schritt bei der Einrichtung von OpenVPN ist die Serverkonfiguration. Zum Glück gibt es hier nicht viel zu tun. Debian bietet eine Basiskonfiguration, mit der Sie loslegen können. Beginnen Sie also damit, diese Konfigurationsdatei abzurufen.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf

Verwenden Sie erneut Ihren Texteditor, um /etc/openvpn/server.conf zu öffnen. Als erstes müssen Sie die Dateien ca, cert und key finden. Sie müssen sie so einstellen, dass sie den tatsächlichen Speicherorten der von Ihnen erstellten Dateien entsprechen, die sich alle in / etc / openvpn / certs / keys befinden.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # Diese Datei sollte geheim gehalten werden

Suchen Sie die dh-Einstellung und ändern Sie sie entsprechend dem von Ihnen erstellten Diffie-Hellman-PEM.

dh dh4096.pem

Legen Sie auch den Pfad für Ihren HMAC-Schlüssel fest.

tls-auth /etc/openvpn/certs/keys/ta.key 0

Suchen Sie die Chiffre und vergewissern Sie sich, dass sie mit dem folgenden Beispiel übereinstimmt.

Chiffre AES-256-CBC

Die nächsten Optionen sind vorhanden, sie sind jedoch mit einem; auskommentiert. Entfernen Sie die Semikolons vor jeder Option, um sie zu aktivieren.

drücke "redirect-gateway def1 bypass-dhcp" drücke "dhcp-option DNS 208.67.222.222" drücke "dhcp-option DNS 208.67.220.220"

Suchen Sie nach den Benutzer- und Gruppenoptionen. Kommentieren Sie sie aus und ändern Sie den Benutzer in "openvpn".

Benutzer openvpn group nogroup

Schließlich sind diese beiden letzten Zeilen nicht in der Standardkonfiguration enthalten. Sie müssen sie am Ende der Datei hinzufügen.

Legen Sie den Authentifizierungs-Digest fest, um eine stärkere Verschlüsselung für die Benutzerauthentifizierung anzugeben.

# Authentication Digest auth SHA512

Begrenzen Sie dann die Verschlüsselung, die OpenVPN verwenden kann, auf nur stärkere. Dies hilft, mögliche Angriffe auf schwache Chiffren zu begrenzen.

# Grenzwert-Verschlüsselung TLS-DHE-RSA-MIT-AES-256-GCM-SHA384: TLS-DHE-RSA-MIT-AES-128-GCM-SHA256: TLS-DHE-RSA-MIT-AES-256- CBC-SHA: TLS-DHE-RSA-MIT-KAMELIE-256-CBC-SHA: TLS-DHE-RSA-MIT-AES-128-CBC-SHA: TLS-DHE-RSA-MIT-KAMELIE-128-CBC- SHA

Das ist alles für die Konfiguration. Speichern Sie die Datei und beenden Sie sie.

Starten Sie den Server

Bevor Sie den Server starten können, müssen Sie den von Ihnen angegebenen openvpn-Benutzer einrichten.

$ sudo adduser --system --shell / usr / sbin / nologin --no-create-home openvpn

Es ist ein spezieller Benutzer, der nur OpenVPN ausführt und sonst nichts macht.

Starten Sie nun den Server.

$ sudo systemctl start openvpn $ sudo systemctl start

Überprüfen Sie, ob beide ausgeführt werden

$ sudo systemctl status openvpn * .service

Wenn alles gut aussieht, aktivieren Sie sie beim Start.

$ sudo systemctl enable openvpn $ sudo systemctl enable

Client-Setup

Ihr Server ist jetzt eingerichtet und läuft. Als nächstes müssen Sie Ihre Client-Konfiguration einrichten. Dies ist die Konfiguration, die Sie verwenden, um Ihre Geräte mit Ihrem Server zu verbinden. Kehren Sie zum Ordner certs zurück und bereiten Sie die Erstellung der Client-Schlüssel vor. Sie können für jeden Client einen eigenen Schlüssel oder für alle Clients einen Schlüssel erstellen. Für den Heimgebrauch sollte ein Schlüssel in Ordnung sein.

$ cd / etc / openvpn / certs $ sudo source ./vars $ sudo ./build-key client

Der Prozess ist fast identisch mit dem des Servers. Befolgen Sie daher die gleichen Schritte.

Client-Konfiguration

Die Konfiguration für Clients ist der für den Server sehr ähnlich. Auch hier haben Sie eine vorgefertigte Vorlage, auf der Sie Ihre Konfiguration aufbauen können. Sie müssen es nur an den Server anpassen.

Wechseln Sie in das Client-Verzeichnis. Packen Sie dann die Beispielkonfiguration aus.

$ cd / etc / openvpn / client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Öffnen Sie die Datei client.ovpn mit Ihrem Texteditor. Suchen Sie dann die Remote-Option. Angenommen, Sie verwenden noch kein VPN, dann suchen Sie bei Google nach "What is my IP". Nehmen Sie die angezeigte Adresse und stellen Sie die Remote-IP-Adresse darauf ein. Belassen Sie die Portnummer.

remote 107.150.28.83 1194 #Diese IP ist ironischerweise ein VPN

Ändern Sie die Zertifikate so, dass sie die von Ihnen erstellten widerspiegeln, genau wie Sie es mit dem Server getan haben.

ca ca.crt cert client.crt key client.key

Suchen Sie die Benutzeroptionen, und kommentieren Sie sie aus. Es ist in Ordnung, die Kunden als niemandem zu führen.

Benutzer nobody group nogroup

Deaktivieren Sie die Option tls-auth für HMAC.

tls-auth ta.key 1

Suchen Sie als Nächstes nach der Verschlüsselungsoption und stellen Sie sicher, dass sie mit dem Server übereinstimmt.

Chiffre AES-256-CBC

Fügen Sie dann einfach die Einschränkungen für die Authentifizierungsübersicht und die Verschlüsselung am Ende der Datei hinzu.

# Authentifizierungs-Digest-Authentifizierung SHA512 # Verschlüsselungsbeschränkungen tls-cipher TLS-DHE-RSA-MIT-AES-256-GCM-SHA384: TLS-DHE-RSA-MIT-AES-128-GCM-SHA256: TLS-DHE-RSA-MIT -AES-256-CBC-SHA: TLS-DHE-RSA-MIT-KAMELIE-256-CBC-SHA: TLS-DHE-RSA-MIT-AES-128-CBC-SHA: TLS-DHE-RSA-MIT-KAMELIE -128-CBC-SHA

Wenn alles richtig aussieht, speichern Sie die Datei und beenden Sie sie. Verwenden Sie tar, um die Konfiguration und die Zertifikate zu packen, damit Sie sie an den Client senden können.

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C / etc / openvpn / certs / keys ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn

Übertragen Sie das Paket an den Client, wie Sie möchten. SFTP, FTP und ein USB-Laufwerk sind großartige Optionen.

Port-Weiterleitung

Damit dies funktioniert, müssen Sie Ihren Router so konfigurieren, dass eingehender VPN-Verkehr an den Pi weitergeleitet wird. Wenn Sie bereits ein VPN verwenden, müssen Sie sicherstellen, dass Sie keine Verbindung über denselben Port herstellen. Wenn ja, ändern Sie den Port Ihrer Client- und Serverkonfigurationen.

Stellen Sie eine Verbindung zum Webinterface Ihres Routers her, indem Sie dessen IP-Adresse in Ihrem Browser eingeben.

Jeder Router ist anders. Trotzdem sollten sie alle eine Form dieser Funktionalität haben. Finden Sie es auf Ihrem Router.

Das Setup ist grundsätzlich auf jedem Router gleich. Geben Sie den Start- und Endport ein. Sie sollten identisch mit denen sein, die Sie in Ihren Konfigurationen festgelegt haben. Stellen Sie dann die IP-Adresse auf die IP-Adresse Ihres Raspberry Pi ein. Speichern Sie Ihre Änderungen.

Mit dem Client verbinden

Jeder Kunde ist anders, daher gibt es keine universelle Lösung. Unter Windows benötigen Sie den Windows OpenVPN-Client .

Unter Android können Sie Ihren Tarball öffnen und die Schlüssel auf Ihr Telefon übertragen. Installieren Sie dann die OpenVPN-App. Öffnen Sie die App und geben Sie die Informationen aus Ihrer Konfigurationsdatei ein. Wählen Sie dann Ihre Schlüssel aus.

Unter Linux müssen Sie OpenVPN ähnlich wie auf dem Server installieren.

$ sudo apt installiere openvpn

Wechseln Sie dann in / etc / openvpn und entpacken Sie den Tarball, den Sie gesendet haben.

$ cd / etc / openvpn $ sudo tar xJf /path/to/client.tar.xz

Benennen Sie die Client-Datei um.

$ sudo mv client.ovpn client.conf

Starten Sie den Client noch nicht. Es wird scheitern. Sie müssen zuerst die Portweiterleitung auf Ihrem Router aktivieren.

Schlussgedanken

Sie sollten jetzt ein funktionierendes Setup haben. Ihr Client verbindet sich direkt über Ihren Router mit dem Pi. Von dort aus können Sie über Ihr virtuelles Netzwerk eine gemeinsame Nutzung und Verbindung herstellen, sofern alle Geräte mit dem VPN verbunden sind. Es gibt keine Begrenzung, so dass Sie immer alle Ihre Computer mit dem Pi VPN verbinden können.

Verwandeln Sie einen Himbeer-Pi in einen VPN, um von überall aus auf Ihr Netzwerk zuzugreifen