Einführung
Unabhängig davon, ob Sie sich aus der Ferne mit Ihrem Unternehmensnetzwerk verbinden oder ein virtuelles Netzwerk zwischen zwei entfernten Punkten über ein unsicheres Netzwerk (z. B. Internet) aufbauen möchten, benötigen Sie irgendwie ein VPN (Virtual Private Network). Mit einem VPN können Sie über das Internet oder nicht vertrauenswürdige Netzwerke eine sichere Verbindung zu einem entfernten LAN (Local Area Network) herstellen.
SoftEther ist ein Open-Source-VPN-Server, eine Alternative zu OpenVPN. Es gilt als die leistungsfähigste und benutzerfreundlichste Multiprotokoll-VPN-Software der Welt.
Unser Artikel befasst sich mit der Einrichtung von SoftEther unter Ubuntu Xenial Xerus Linux.
Was Sie brauchen
- Ubuntu 16.04 Xenial Xerus Linux
- Es werden 30 GB verfügbarer Speicherplatz empfohlen
- Ein Root-Privileg
Beachten Sie, dass die für diesen Artikel verwendeten Binärdateien x64-Architekturen sind. Wenn Ihr Computer nicht x64 ist, müssen Sie die geeigneten Binärdateien auswählen.
Konventionen
# – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo
command
$ – erfordert, dass gegebene Linux-Befehle als normaler nicht-privilegierter Benutzer ausgeführt werden
> – gegebener Befehl muss von der vpncmd-Befehlszeilenschnittstelle ausgeführt werden
Server vorbereiten
Aktualisieren Sie das System:
$ sudo apt update $ sudo apt upgrade
Installieren Sie (falls noch nicht installiert) build-essential
für Kompilierungszwecke:
$ sudo apt install build-essential
SoftEther installieren
Softether-Quellen holen
Lassen Sie uns die SoftEther-Quellen abrufen (der neueste Build ist die Version 4.22, die am 27.11.2016 veröffentlicht wurde):
$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Entpacken Sie die Quellen
$ tar xzf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Nach erfolgreicher Dekomprimierung finden wir einen Ordner namens vpnserver
in unserem aktuellen Verzeichnis.
Von den Quellen installieren
$ cd vpnserver $ sudo make
Während des Installationsvorgangs müssen wir 1
eingeben Um die Lizenzvereinbarung zu lesen, geben Sie 1
ein erneut, um zu bestätigen, dass wir die Lizenzvereinbarung gelesen haben, und geben Sie abschließend 1
ein um der Lizenzvereinbarung zuzustimmen.
Nach der Installation können wir die Ausgabe durchgehen, um zu bestätigen, dass der gesamte Prozess korrekt und fehlerfrei verlaufen ist.
Sobald alles richtig gemacht wurde, können wir das VPN ausführen Server aus dem Installationsordner mit diesem Befehl:
$ sudo ./vpnserver start
Lass es uns besser machen, indem wir es als daemon
konfigurieren .
Konfiguration als Daemon
Befolgen Sie diese Schritte, um unseren VPN-Server als daemon
zu konfigurieren .
Verschieben Sie den Installationsordner nach /usr/local
$ cd .. $ sudo mv vpnserver /usr/local
Geben Sie den Dateien die entsprechenden Rechte
$ cd /usr/local/vpnserver/ $ sudo chmod 600 * $ sudo chmod 700 vpnserver $ sudo chmod 700 vpncmd
Bevor wir fortfahren, überprüfen wir, ob der VPN-Server auf unserem Server normal funktionieren kann. Es ist wichtig, diese Überprüfung durchzuführen, bevor Sie vpnserver
starten .
- Führen Sie
vpncmd
aus Befehl - Geben Sie
3
ein - Geben Sie dann
check
ein
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Wenn alles gut gemacht ist, sollten wir am Ende der Operation die Meldung „Alle Prüfungen bestanden“ erhalten.
Erstellen Sie einen systemd-Dienst
Erstellen Sie die Datei /lib/systemd/system/vpnserver.service
$ sudo vi /lib/systemd/system/vpnserver.service
Und fügen Sie den folgenden Inhalt darin ein:
[Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target
Jetzt startet der VPN-Server automatisch beim Booten und wir können den vpnserver mit systemctl
verwalten .
SoftEther VPN-Server für die Verwendung vorbereiten
SoftEther bietet viele Anwendungsfälle:Ad-hoc-VPN, Fernzugriff auf LAN, LAN-zu-LAN-Bridge usw. In diesem Artikel konfigurieren wir es für die Verwendung als „Fernzugriff auf LAN“.
Wir erstellen zunächst eine virtual hub
, und stellen Sie dann eine Art Verbindung zwischen diesem virtual hub
her und das Servernetzwerk (das Unternehmens-LAN).
Legen Sie ein Admin-Passwort für vpncmd fest
Aus offensichtlichen Gründen wird empfohlen, sofort ein Admin-Passwort für vpncmd
festzulegen sobald der VPN-Server installiert ist. Dies geschieht über den vpncmd
Dienstprogramm:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Wie im obigen Bild gezeigt, wählen wir 1
für „Verwaltung von VPN-Server oder VPN-Bridge“, dann drücken Sie einfach Enter
für die folgenden Fragen, bis wir VPN Server>
erhalten prompt. An der Eingabeaufforderung geben wir ServerPasswordSet
ein .
Erstellen Sie einen virtuellen Hub
Durch die Verwendung von vpncmd
, werden wir einen virtual hub
erstellen mit dem Namen „myFirstHUB“:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > HubCreate myFirstHUB
Verbinden Sie den virtuellen Hub mit dem Servernetzwerk
Damit Clients das Servernetzwerk erreichen können, müssen wir den virtual hub
verknüpfen zum LAN. Dies kann über eine lokale Bridge-Verbindung oder über SecureNAT
erfolgen Funktion.
In unserem Fall die SecureNAT
Funktion verwendet wird. SecureNAT
Funktion ermöglicht die Verwendung des VPN-Servers als einfaches Netzwerk-Gateway, DHCP-Server oder einfaches Gateway für den Fernzugriff auf entfernte Standorte.
Wählen wir unseren virtual hub
aus und aktivieren Sie SecureNAT
Funktion.
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > Hub myFirstHUB > SecureNatEnable
Benutzer erstellen
Befehl zum Erstellen eines Benutzers:UserCreate
Nach der Erstellung des Benutzers müssen wir ein Passwort festlegen. Beachten Sie, dass es möglich ist, andere Authentifizierungsmethoden zu verwenden:NTLM
, RADIUS
usw. Die Standard-Authentifizierungsmethode ist „Passwort“.
Befehl zum Festlegen des Passworts:UserPasswordSet
Client-Konfiguration
SoftEther bietet Clients für viele Betriebssysteme einschließlich Linux.
Laden Sie den Client herunter
Wir werden wget
verwenden Befehl zum Herunterladen des Clients.
$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Entpacken Sie die Quellen
$ tar xzf softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Von den Quellen installieren
Die Client-Kompilierung ist ähnlich wie beim Server.
$ cd vpnclient $ sudo make
Nach der Installation ändern wir die Dateiberechtigungen wie folgt:
$ sudo chmod 600 * $ sudo chmod 700 vpnclient $ sudo chmod 700 vpncmd
Jetzt können wir den VPN-Client starten und die erforderliche Konfiguration vornehmen, um eine Verbindung zum Server herzustellen.
$ sudo ./vpnclient start $ sudo ./vpncmd
Wählen Sie 2
um „Verwaltung des VPN-Clients“ aufzurufen. Und führen Sie diese Aktionen aus:
- Erstellen Sie einen virtuellen Adapter (verwenden Sie
NiceCreate
, geben Sie „irgendeinen“ Namen ein) - Erstellen Sie eine VPN-Verbindung (
AccountCreate account0
) - Geben Sie den Hostnamen und die Portnummer des Zielservers an (server:port)
- Wählen Sie den
virtual hub
aus mit dem Sie verbunden werden möchten (in unserem Fall verwenden wir „myFirstHUB“, das auf dem Server erstellt wird) - Geben Sie den Benutzernamen ein
- Verwenden Sie den zuvor erstellten virtuellen Adapter
Jetzt können wir die VPN-Client-Verbindung starten. Zuvor müssen wir das Passwort für den Benutzer angeben, den wir zuvor in der VPN-Verbindung konfiguriert haben.
> AccountPassword account0 > standard > AccountConnect account0
Der Client ist jetzt verbunden, aber dem virtuellen Adapter ist keine IP-Adresse zugewiesen. Als letzten Schritt müssen wir eine IP-Adresse vom VPN-Server anfordern. Wir können ifconfig
verwenden Befehl, um den virtuellen VPN-Adapter zu finden (mit dem Präfix vpn_
) und verwenden Sie dann dhclient
Befehl zum Anfordern einer IP-Adresse.
$ sudo dhclient vpn_ethvpn0
Nach diesem Befehl erhält der VPN-Client eine IP-Adresse vom SoftEther VPN-Server und kann mit dem entfernten LAN kommunizieren.
Vielen Dank für Ihr Interesse an diesem Artikel. Wir freuen uns über Ihre Fragen und Verbesserungen.