Ein VPN ermöglicht Ihnen, sicher und privat auf Ihr Netzwerk zuzugreifen. Dieses Tutorial zeigt, wie Sie OpenVPN auf einem Ubuntu Server einrichten.
Voraussetzungen
- Ein Ubuntu Server mit Root- oder sudo-Zugriff.
- Eine öffentliche IP-Adresse oder eine Domain (für den Zugriff von aussen).
Schritt 1: System vorbereiten
Server aktualisieren
Stellen Sie sicher, dass Ihr Server auf dem neuesten Stand ist:
sudo apt update && sudo apt upgrade -y
Notwendige Pakete installieren
Installieren Sie die OpenVPN- und Easy-RSA-Pakete:
sudo apt install openvpn easy-rsa -y
Schritt 2: PKI (Public Key Infrastructure) einrichten
Easy-RSA konfigurieren
Erstellen Sie ein Verzeichnis für Easy-RSA und wechseln Sie hinein:
make-cadir ~/easy-rsa cd ~/easy-rsa
Variablen anpassen
Bearbeiten Sie die Datei vars
:
nano vars
Passen Sie folgende Werte an:
set_var EASYRSA_REQ_COUNTRY "DE" set_var EASYRSA_REQ_PROVINCE "Your_Province" set_var EASYRSA_REQ_CITY "Your_City" set_var EASYRSA_REQ_ORG "Your_Organization" set_var EASYRSA_REQ_EMAIL "your_email@example.com" set_var EASYRSA_REQ_OU "Your_Organizational_Unit"
Speichern und schliessen Sie die Datei.
Zertifikate erstellen
Initialisieren Sie die PKI:
./easyrsa init-pki
Erstellen Sie die Zertifizierungsstelle (CA):
./easyrsa build-ca
(Geben Sie ein starkes Passwort ein und merken Sie es sich!)
Erstellen Sie ein Server-Zertifikat und einen Schlüssel:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
Erstellen Sie Diffie-Hellman-Parameter:
./easyrsa gen-dh
Erstellen Sie ein HMAC-Signaturschlüssel:
openvpn --genkey --secret ta.key
Schritt 3: OpenVPN konfigurieren
Server-Konfigurationsdatei erstellen
Erstellen Sie eine neue Konfigurationsdatei:
sudo nano /etc/openvpn/server.conf
Fügen Sie folgenden Inhalt hinzu:
port 1194 proto udp dev tun ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key dh /etc/openvpn/dh.pem auth SHA256 tls-auth /etc/openvpn/ta.key 0 server 10.8.0.0 255.255.255.0 ifconfig-pool-persist /var/log/openvpn/ipp.txt keepalive 10 120 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status /var/log/openvpn/status.log verb 3
Speichern und schliessen Sie die Datei.
Zertifikate und Schlüssel kopieren
Kopieren Sie alle generierten Dateien in das OpenVPN-Verzeichnis:
sudo cp ~/easy-rsa/pki/ca.crt /etc/openvpn/ sudo cp ~/easy-rsa/pki/issued/server.crt /etc/openvpn/ sudo cp ~/easy-rsa/pki/private/server.key /etc/openvpn/ sudo cp ~/easy-rsa/pki/dh.pem /etc/openvpn/ sudo cp ~/easy-rsa/ta.key /etc/openvpn/
Schritt 4: OpenVPN starten und aktivieren
OpenVPN-Dienst aktivieren
Starten Sie den OpenVPN-Dienst:
sudo systemctl start openvpn@server
Aktivieren Sie den Dienst für den automatischen Start:
sudo systemctl enable openvpn@server
Firewall konfigurieren
Erlauben Sie VPN-Verbindungen:
sudo ufw allow 1194/udp
Aktivieren Sie IP-Weiterleitung:
sudo nano /etc/sysctl.conf
Entfernen Sie das #
vor folgender Zeile:
net.ipv4.ip_forward=1
Speichern Sie die Datei und wenden Sie die Änderungen an:
sudo sysctl -p
Schritt 5: Client konfigurieren
Client-Zertifikate erstellen
Erstellen Sie ein Zertifikat für einen Client:
cd ~/easy-rsa ./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
Client-Konfigurationsdatei erstellen
Erstellen Sie eine Datei client1.ovpn
mit folgendem Inhalt:
client dev tun proto udp remote your_server_ip 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server auth SHA256 cipher AES-256-CBC key-direction 1 <ca> # CA-Zertifikat-Inhalt </ca> <cert> # Client-Zertifikat-Inhalt </cert> <key> # Client-Schlüssel-Inhalt </key> <tls-auth> # ta.key-Inhalt </tls-auth>
Fügen Sie die Inhalte der entsprechenden Dateien zwischen die Tags ein und übertragen Sie die Datei auf den Client.
Fazit
Sie haben nun erfolgreich OpenVPN auf Ihrem Ubuntu Server eingerichtet. Mit diesem Setup können Sie sicher und privat auf Ihr Netzwerk zugreifen. Viel Erfolg!