OpenVPN ist eine bewährte Open-Source-Lösung für sichere VPN-Verbindungen. Damit können Sie verschlüsselt auf Ihr Netzwerk zugreifen.
Warum OpenVPN?
- Sicher: Starke Verschlüsselung mit OpenSSL
- Flexibel: Läuft auf allen Plattformen
- Bewährt: Seit Jahren im Einsatz
- Open Source: Kostenlos und überprüfbar
Schnelle Installation mit Skript
Das einfachste Setup mit dem OpenVPN-Road-Warrior-Skript:
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
./openvpn-install.shDas Skript führt durch die Konfiguration: 1. IP-Adresse bestätigen 2. Port wählen (Standard: 1194) 3. DNS wählen 4. Ersten Client erstellen
Manuelle Installation
Pakete installieren
# Ubuntu/Debian
apt update
apt install openvpn easy-rsa
# CentOS/AlmaLinux
dnf install epel-release
dnf install openvpn easy-rsaPKI (Public Key Infrastructure) erstellen
# Easy-RSA Verzeichnis
make-cadir ~/openvpn-ca
cd ~/openvpn-caVariablen konfigurieren
Bearbeiten Sie vars:
nano varsset_var EASYRSA_REQ_COUNTRY "DE"
set_var EASYRSA_REQ_PROVINCE "Bayern"
set_var EASYRSA_REQ_CITY "Muenchen"
set_var EASYRSA_REQ_ORG "MeineFirma"
set_var EASYRSA_REQ_EMAIL "admin@example.com"
set_var EASYRSA_REQ_OU "IT"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_CA_EXPIRE 3650
set_var EASYRSA_CERT_EXPIRE 365CA erstellen
./easyrsa init-pki
./easyrsa build-ca nopassServer-Zertifikat erstellen
./easyrsa gen-req server nopass
./easyrsa sign-req server serverDiffie-Hellman-Parameter
./easyrsa gen-dhTLS-Auth Key
openvpn --genkey secret ta.keyDateien kopieren
cp pki/ca.crt /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
cp pki/dh.pem /etc/openvpn/
cp ta.key /etc/openvpn/Server-Konfiguration
Erstellen Sie /etc/openvpn/server.conf:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-GCM
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3IP-Forwarding aktivieren
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -pNAT konfigurieren
Mit iptables:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADEFür persistente Regeln:
apt install iptables-persistent
netfilter-persistent saveOder mit UFW:
In /etc/ufw/before.rules vor *filter:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMITIn /etc/default/ufw:
DEFAULT_FORWARD_POLICY="ACCEPT"ufw allow 1194/udp
ufw reloadOpenVPN starten
systemctl start openvpn@server
systemctl enable openvpn@server
systemctl status openvpn@serverClient erstellen
Client-Zertifikat
cd ~/openvpn-ca
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1Client-Konfiguration
Erstellen Sie client1.ovpn:
client
dev tun
proto udp
remote IHRE-SERVER-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
key-direction 1
verb 3
<ca>
# Inhalt von ca.crt hier einfügen
</ca>
<cert>
# Inhalt von client1.crt hier einfügen
</cert>
<key>
# Inhalt von client1.key hier einfügen
</key>
<tls-auth>
# Inhalt von ta.key hier einfügen
</tls-auth>Automatisches Erstellen
Skript für Client-Konfiguration:
#!/bin/bash
CLIENT=$1
CA_DIR=~/openvpn-ca
cat > ${CLIENT}.ovpn << EOF
client
dev tun
proto udp
remote IHRE-SERVER-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
key-direction 1
verb 3
<ca>
$(cat ${CA_DIR}/pki/ca.crt)
</ca>
<cert>
$(cat ${CA_DIR}/pki/issued/${CLIENT}.crt)
</cert>
<key>
$(cat ${CA_DIR}/pki/private/${CLIENT}.key)
</key>
<tls-auth>
$(cat ${CA_DIR}/ta.key)
</tls-auth>
EOFClient-Verbindung
Linux
apt install openvpn
openvpn --config client1.ovpnWindows
1. OpenVPN GUI installieren 2. .ovpn-Datei in C:\Users\NAME\OpenVPN\config kopieren 3. Mit Rechtsklick auf Tray-Icon verbinden
macOS
Tunnelblick installieren und .ovpn importieren.
Android/iOS
OpenVPN Connect App installieren und .ovpn importieren.
Client widerrufen
cd ~/openvpn-ca
./easyrsa revoke client1
./easyrsa gen-crl
cp pki/crl.pem /etc/openvpn/In server.conf hinzufügen:
crl-verify crl.pemsystemctl restart openvpn@serverTroubleshooting
Verbindung schlägt fehl
# Server-Logs
journalctl -u openvpn@server
tail -f /var/log/openvpn/openvpn.log
# Firewall prüfen
ufw status
iptables -L -nKein Internet über VPN
IP-Forwarding und NAT prüfen:
cat /proc/sys/net/ipv4/ip_forward
iptables -t nat -LDNS-Probleme
Anderen DNS in server.conf setzen:
push "dhcp-option DNS 8.8.8.8"Sicherheits-Tipps
1. Starke Zertifikate: Mindestens 2048-Bit 2. TLS-Auth: Schützt vor DoS 3. Regelmäßige Updates: OpenVPN aktuell halten 4. Client-Zertifikate verwalten: Widerrufsliste pflegen 5. Logs überwachen: Ungewöhnliche Zugriffe erkennen
Fazit
OpenVPN ist eine zuverlässige VPN-Lösung. Für die schnelle Installation empfiehlt sich das Angristan-Skript. Für mehr Kontrolle die manuelle Einrichtung. Moderne Alternative: WireGuard (schneller, einfacher).