Best Practice: OpenVPN Client/Server-Konfigurationen auf Ubuntu installieren & automatisch starten
Dieser Beitrag beschreibt mein systemd-basiertes Setup zum Installieren und Aktivieren von OpenVPN-Client- oder Server-Konfigurationen auf Ubuntu. Es könnte auch für andere Linux-Distributionen funktionieren, die auf systemd basieren.
Platzieren Sie zuerst die OpenVPN-Konfiguration (normalerweise eine .ovpn-Datei, aber es kann auch eine .conf-Datei sein) in /etc/openvpn. Sie müssen die Dateinamenserweiterung zu .conf ändern – .ovpn funktioniert nicht. Stellen Sie außerdem sicher, dass sich keine Leerzeichen im Dateinamen befinden.
In diesem Beispiel wird unsere ursprüngliche OpenVPN-Konfiguration techoverflow.ovpn genannt, sie muss also nach /etc/openvpn/techoverflow.conf kopiert werden!
Nun können wir die Konfiguration aktivieren (d.h. Autostart beim Booten – aber nicht sofort starten) mit
sudo systemctl enable openvpn@techoverflowFür techoverflow.conf müssen Sie systemctl enable openvpn@techoverflow ausführen, während für eine hypothetische foo.conf Sie systemctl enable openvpn@foo ausführen müssten.
Nun können wir die VPN-Konfiguration starten – d.h. sofort ausführen mit
sudo systemctl start openvpn@techoverflowNun läuft Ihr VPN-Client oder -Server – oder? Wir sollten die Logs überprüfen mit
journalctl -xfu openvpn@techoverflowUm den VPN-Client oder -Server manuell neu zu starten, verwenden Sie
sudo systemctl restart openvpn@techoverflowund führen Sie ähnlich dies aus, um den VPN-Client oder -Server zu stoppen:
sudo systemctl stop openvpn@techoverflowUm anzuzeigen, ob die Instanz läuft – d.h. ihren Status anzeigen, verwenden Sie
sudo systemctl status openvpn@techoverflowBeispielausgabe für einen OpenVPN-Client:
● [email protected] - OpenVPN connection to techoverflow
Loaded: loaded (/lib/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-11-29 03:37:52 CET; 953ms ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Main PID: 4123809 (openvpn)
Status: "Pre-connection initialization successful"
Tasks: 1 (limit: 18689)
Memory: 1.3M
CGroup: /system.slice/system-openvpn.slice/[email protected]
└─4123809 /usr/sbin/openvpn --daemon ovpn-techoverflow --status /run/openvpn/techoverflow.status 10 --cd /etc/openvpn --script-security 2 --config /etc/ope>
Nov 29 03:37:52 localgrid systemd[1]: Starting OpenVPN connection to techoverflow...
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep >
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: library versions: OpenSSL 1.1.1f 31 Mar 2020, LZO 2.10
Nov 29 03:37:52 localgrid systemd[1]: Started OpenVPN connection to techoverflow.
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: TCP/UDP: Preserving recently used remote address: [AF_INET]83.135.163.227:19011
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: UDPv4 link local (bound): [AF_INET][undef]:1194
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: UDPv4 link remote: [AF_INET]83.135.163.22:19011
Nov 29 03:37:53 localgrid ovpn-techoverflow[4123809]: [nas-vpn.haar.techoverflow.net] Peer Connection Initiated with [AF_INET]83.135.163.227:19011