Ready-to-use Server

VPN solution built with OpenVPN® Community Edition

Open Source VPN Lösung

VPN solution built with OpenVPN® Community Edition Screenshots

OpenVPN® Die Community Edition bietet ein voll ausgestattetes Open Source SSL/TLS Virtual Private Network (VPN). Die TurnKey Linux VPN-Software Appliance nutzt die Open-Source-Software "openvpn-server", "openvpn-client" und "easy-rsa" (entwickelt von OpenVPN® Inc.), um sie zu unterstützen "Site-to-Site"- oder "Gateway"-Zugang. "Site-to-Site" kann 2 ansonsten nicht verbundene LANs verbinden; geeignet für Multi-Site-Unternehmensnetzwerke oder für die Verknüpfung mit einem Amazon VPC. Die "Gateway"-Konfiguration kann den Datenverkehr über öffentliche und/oder unsichere WLAN-Verbindungen sichern und/oder eine sichere Lösung für Remote-Arbeitsszenarien bieten.

Dieses Appliance enthält alle Standardfunktionen in TurnKey Core, und darüber hinaus:

  • OpenVPN®-Konfigurationen:

    • Initialisierungs-Hooks, um gängige OpenVPN®-Bereitstellungen wie "Site-to-Site"-Server- oder Client- und Gateway-Profile zu konfigurieren.

    • Alle Profile unterstützen SSL/TLS-Zertifikate für die Authentifizierung und den Schlüsselaustausch.

    • Server- und Gateway-Bereitstellungen umfassen ein Komfortskript zum Hinzufügen von Clients, zum Generieren aller erforderlichen Schlüssel und Zertifikate sowie ein einheitliches Ovpn-Profil, mit dem Clients problemlos arbeiten können. Verbinden Sie sich mit dem VPN.

    • Ablaufende, verschleierte HTTPS-URLs können für Clients zum Herunterladen ihrer Profile erstellt werden (besonders nützlich bei mobilen Geräten mit einem QR-Code-Scanner).

    • Das Serverprofil unterstützt eine private Subnetzkonfiguration, so dass Clients Server hinter dem OpenVPN®-Server erreichen können.

    • Das Gateway-Profil konfiguriert die Verbindung von Clients, um den gesamten Datenverkehr durch das VPN zu tunneln.

    • Beim Hinzufügen von Clients in einer Server- oder Gateway-Bereitstellung kann ein optionaler Parameter angegeben werden, um Computern in einem Subnetz hinter dem Client die Verbindung zum VPN zu ermöglichen.

    • Für zusätzliche Sicherheit ist OpenVPN® so konfiguriert, dass es Privilegien fallen lässt, in einem für CRL bestimmten Chroot-Gefängnis ausgeführt wird und tls-auth für die HMAC-Signaturverifizierung verwendet, um vor DoS zu schützen Angriffe, Port-Fluting, Port-Scanning und Puffer-Überlauf-Schwachstellen in der SSL/TLS-Implementierung.

Siehe: Nutzungsunterlagen für weitere Details, einschließlich Amazon VPC Notizen und Cloudformation Vorlage.

Anmerkung:OpenVPN® ist eine eingetragene Marke von OpenVPN® Inc. Weder TurnKey Linux noch diese Software Appliance sind mit OpenVPN® Inc verbunden oder werden von OpenVPN® Inc unterstützt.

Mögliche Probleme durch Zeitzonen-Mismatch

Einige VPN-Clientanwendungen erwarten, dass Zertifikats-Zeitstempel in lokaler Zeit vorliegen, TurnKey-Server verwenden jedoch standardmäßig UTC-Zeit.

Das kann zur Schaffung von Zertifikaten führen, die nach Ortszeit noch nicht gültig sind, unter diesen Umständen wird die Verbindung ausfallen.

Um dies zu vermeiden, legen Sie bitte vor der weiteren Konfiguration die Zeitzone für Ihren TurnKey OpenVPN-Server fest.

dpkg-reconfigure tzdata

Für weitere Informationen zur Einstellung der Zeitzone, siehe Dies TurnKey Blogbeitrag.

Anmeldeinformationen (Passwörter beim ersten Booten gesetzt)

  • Webmin, SSH: Benutzername Wurzel

Updates und v19-Validierung

OpenVPN Community Edition, Easy-RSA und iptables werden von Debian 13 Trixie signierten Repositories installiert und aktualisiert. Das Appliance fügt keine Drittanbieter-Anwendungspaketquelle hinzu. Die fokussierten v19-Build-, Firstboot-, authentifizierten Tunnel-, Gateway-Datenpfad-, Neustart- und nichtmutierenden Updater-Checks werden in Die v19 Testnotizen.

Stabile Version: 19.0 (Changelog)

Nutzungsdetails & Logging in für die Administration

Keine Standardpasswörter: Aus Sicherheitsgründen gibt es keine Standardpasswörter. Alle Passwörter sind auf Systeminitialisierung Zeit.

SSL Browser Warnung ignorieren: Browser mögen keine selbstsignierten SSL-Zertifikate, aber dies ist die einzige Art, die automatisch generiert werden kann. Confconsole Erweitertes MenüSie können frei generieren Lassen Sie uns SSL / TLS-Zertifikate einschließen.

Web-Web - Richten Sie Ihren Browser auf entweder:

  1. http://12.34.56.789/ - nicht verschlüsselt, also keine Browserwarnung
  2. https://12.34.56.789/ - verschlüsselt mit selbstsigniertem SSL-Zertifikat

Benutzername für OS System Administration:

Login als Wurzel außer am AWS Marktplatz die den Benutzernamen verwendet Admin.

  1. Richten Sie Ihren Browser auf:
  2. Login mit SSH Client:
    ssh root@12.34.56.789
    

    Sonderfall für AWS-Marktplatz:

    ssh admin@12.34.56.789
    

* Ersetzen Sie 12.34.56.789 durch eine gültige IP oder einen gültigen Hostnamen.

Dokumentation

Wertverknüpfungen:

Überlegungen zur Containerkonfiguration

Wenn Ihr OpenVPN-Server oder Client mit Fehlern wie:

ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory

Sie vermissen wahrscheinlich die tun0-Schnittstelle, die die Netzwerkschnittstelle für Ihren verschlüsselten Tunnel ist.

service openvpn stop
mkdir /dev/net
mknod /dev/net/tun c 10 200
chmod 666 /dev/net/tun
service openvpn start

Wenn Ihr OpenVPN-Server erfolgreich startet, können Sie ein Startskript hinzufügen, um die tun0-Schnittstelle zum Startzeitpunkt zu erstellen:

#! /bin/sh
# Script originally developed by Wolfgang
### BEGIN INIT INFO
# Provides:          tun
# Required-Start:    $network
# Required-Stop:     $openvpn
# Default-Start:     S 1 2
# Default-Stop:      0 6
# Short-Description: Make a tun device.
# Description:       Create a tundev for openvpn
### END INIT INFO

# Aktionen
case "$1" in
    start)
        mkdir /dev/net
        mknod /dev/net/tun c 10 200
        chmod 666 /dev/net/tun
        ;;
    stop)

Aktivieren Sie dann das Skript zum Booten:

chmod 755 /etc/init.d/tun
update-rc.d tun defaults

Achten Sie darauf, Ihren Container neu zu starten, um sicherzustellen, dass Ihr VPN-Dienst ordnungsgemäß startet.

OpenVPN Client als Router

Möglicherweise möchten Sie, dass sich Ihr Turnkey Linux OpenVPN Appliance mit einem OpenVPN-Server oder Gateway verbindet, um den Netzwerkverkehr zu leiten. Beispielhafte Anwendungen können ein Site-to-Site VPN sein, bei dem sich der entfernte Standort (Client) mit dem Zentralbüro (Server) verbindet, oder wenn der Datenverkehr eines anderen Hosts gesichert wird, z. B. Turnkey Linux Torrent Server.

In beiden Fällen müssen Sie zuerst Ihre client.ovpn-Datei als OpenVPN-Standardkonfigurationsdatei einrichten. Sie tun dies, indem Sie die client.ovpn-Datei in eine .conf-Datei in /etc/openvpn: kopieren

cp /root/client.ovpn /etc/openvpn/client.conf

 Dann möchten Sie sicherstellen, dass der OpenVPN-Server erfolgreich startet, indem Sie:

openvpn --config /etc/openvpn/client.conf

Jetzt müssen Sie sicherstellen, dass OpenVPN Ihre Clientverbindung beim Booten des Servers startet, indem Sie die OpenVPN-Konfigurationsdatei bearbeiten und den Autostart-Eintrag "Client" dekommentieren:

nano /etc/default/openvpn
AUTOSTART="client"

Beachten Sie, dass der Wert "AUTOSTART" mit dem Namen der /etc/openvpn.conf-Datei übereinstimmen muss, ohne die ".conf" am Ende. Wenn Ihre .ovpn-Datei einen anderen Namen hatte, wie "user1.conf" müssen Sie den Wert von AUTOSTART="user1" ändern.

Schließlich müssen Sie das Routing zwischen der eth0- und der tun0-Schnittstelle mithilfe von IPTables aktivieren:

iptables -A FORWARD -o tun0 -i eth0 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

Beachten Sie, dass Sie "192.168.1.0/24" durch die IP und das Subnetz Ihres lokalen Netzwerks ersetzen müssen.

An dieser Stelle sollten Sie in der Lage sein, Ihr Routing mit einem anderen Computer zu testen. Sie müssen eine IP-Adresse mit einem Standard-Gateway festlegen, das die statische IP-Adresse Ihres Turnkey Linux OpenVPN-Servers ist. Sie können dann auf eine Website zugreifen, auf der Ihre IP angezeigt wird, um sicherzustellen, dass Ihre IP mit der Ihres VPN-Servers und nicht mit der Ihres ISP übereinstimmt.

Sobald Ihre IPTables-Regeln funktionieren und Ihr Datenverkehr Routing ist, müssen Sie die Regeln in einer bestimmten Datei speichern:

iptables-save | tee /etc/iptables.up.rules

Der Dateiname und der Pfad sind wichtig, da die IPTables-Regeln-Datei bereits vorhanden ist und beim Start des Netzwerks in /etc/network/interfaces, aufgerufen wird, ändern Sie den Namen also nicht.

Andere Orte, an die Sie (nicht TKL-spezifisch) OpenVPN-Informationen erhalten können: