|
|
|
Um von einem Debian-Server außerhalb des HU-Netzwerkes auf eine GitLab Container Registry zugreifen zu können (wie bspw. der [testcenter](https://scm.cms.hu-berlin.de/iqb/testcenter/container_registry) oder [studio-lite](https://scm.cms.hu-berlin.de/iqb/studio-lite/container_registry) Registry), ist aktuell eine VPN-Verbindung mit dem HU-Netz notwendig. Hierzu muss ein OpenVPN3-Client installiert und konfiguriert werden.
|
|
|
|
|
|
|
|
**Installation des OpenVPN3-Clients**
|
|
|
|
## Installation des OpenVPN3-Clients
|
|
|
|
1. `$ sudo mkdir -p /etc/apt/keyrings && curl -fsSL https://packages.openvpn.net/packages-repo.gpg | sudo tee /etc/apt/keyrings/openvpn.asc`
|
|
|
|
2. `$ DISTRO=$(lsb_release -c | awk '{print $2}')`
|
|
|
|
3. `$ echo "deb [signed-by=/etc/apt/keyrings/openvpn.asc] https://packages.openvpn.net/openvpn3/debian $DISTRO main" | sudo tee /etc/apt/sources.list.d/openvpn-packages.list`
|
|
|
|
4. `$ sudo apt update`
|
|
|
|
5. `$ sudo apt install openvpn3`
|
|
|
|
|
|
|
|
1. `sudo mkdir -p /etc/apt/keyrings && curl -fsSL https://packages.openvpn.net/packages-repo.gpg | sudo tee /etc/apt/keyrings/openvpn.asc`
|
|
|
|
2. `DISTRO=$(lsb_release -c | awk '{print $2}')`
|
|
|
|
3. `echo "deb [signed-by=/etc/apt/keyrings/openvpn.asc] https://packages.openvpn.net/openvpn3/debian $DISTRO main" | sudo tee /etc/apt/sources.list.d/openvpn-packages.list`
|
|
|
|
4. `sudo apt update`
|
|
|
|
5. `sudo apt install openvpn3`
|
|
|
|
|
|
|
|
|
|
|
|
**Konfiguration des OpenVPN3-Clients**
|
|
|
|
|
|
|
|
## Konfiguration des OpenVPN3-Clients
|
|
|
|
Mit einem aktuellen OpenVPN-Client (Version > 3.4.2) funktionieren die in der [HU-Anleitung](https://pages.cms.hu-berlin.de/noc/pdfman/VPN/OpenVPN/Linux/ovpn-linux.pdf) genannten HU-VPN-Konfigurationsdateien `hu-berlin.ovpn`, `hu-berlin-full.ovpn` und `hu-berlin_alternative.ovpn` leider nicht mehr. Stattdessen ist vorerst die auf der [OpenVPN-Einstiegseite](https://www.cms.hu-berlin.de/de/dl/netze/vpn/openvpn) erwähnte Konfigrationsdatei [ios-hu-berlin.ovpn](https://pages.cms.hu-berlin.de/noc/openvpn3_installer/ios-hu-berlin.ovpn) zu verwenden.
|
|
|
|
1. `sudo su - iqb`
|
|
|
|
2. `mkdir -m700 -p $HOME/.openvpn3/autoload`
|
|
|
|
3. `cd .openvpn3`
|
|
|
|
4. `wget https://pages.cms.hu-berlin.de/noc/openvpn3_installer/ios-hu-berlin.ovpn`
|
|
|
|
1. `$ sudo su - iqb`
|
|
|
|
2. `$ mkdir -m700 -p $HOME/.openvpn3/autoload`
|
|
|
|
3. `$ cd .openvpn3`
|
|
|
|
4. `$ wget https://pages.cms.hu-berlin.de/noc/openvpn3_installer/ios-hu-berlin.ovpn`
|
|
|
|
|
|
|
|
Mit dieser Konfigurationsdatei der HU-Berlin könnte man bereits jetzt, mit Hilfe des Befehls `openvpn3 session-start --config ios-hu-berlin.ovpn`, eine VPN-Verbindung zur HU für den User 'IQB' aufbauen. Diese Verbindung würde aber spätestens beim Herunterfahren des Systems gestoppt werden und danach beim Wiederhochfahren des Systems nicht wieder automatisch neu gestartet werden. Hierzu sind zusätzliche Konfigurationsschritte notwendig.
|
|
|
|
|
|
|
|
**Konfiguration des automatischen Starts des OpenVPN3-Clients beim Booten des Servers**
|
|
|
|
|
|
|
|
Da die HU-Berlin für die Authentifizierung des Users einer VPN-Verbindung die Kombination von Benutzer-Kennung und Benutzer-Passwort verwendet, muss die Konfigurationsdatei der HU um diese Credentials für die automatische Verbindungsherstellung beim Booten des Systems erweitert werden. Erstelle hierzu eine Kopie der Konfigurationsdatei `ios-hu-berlin.ovpn` und benenne sie bspw. `vpn-hu-berlin.ovpn` (Schritt 1). Editiere danach diese Datei und ersetze den Ausdruck `auth-user-pass` durch `<auth-user-pass>hu-user hu-password</auth-user-pass>` (Schritte 2-4). Importiere dann die geänderte Konfiguration mit der Option '--persistent' in den OpenVPN3-Configuration-Manager, sodass diese Konfiguration nach dem Neustart des Systems erhalten bleibt (Schritt 5). Beim Neustart werden für den automatischen VPN-Verbindungsaufbau Root-Rechte benötigt, deshalb müssen mit Hilfe der OpenVPN3 eigenen 'Access Control List' die Rechte für das Management der VPN-Verbindung ebenfalls dem Root-User übertragen werden (Schritt 6). Definiere zum Schluss einen systemd-Service, der beim Hochfahren des Systems gestartet wird. Durch die Verwendung der Option '--now' wird der Service sofort gestartet (Schritt 7). Sicherheitshalber sollte das System aber neu gestartet werden, um die Konfiguration abschließend zu testen (Schritt 8).
|
|
|
|
1. `cp ios-hu-berlin.ovpn autoload/vpn-hu-berlin.ovpn`
|
|
|
|
2. `cd autoload`
|
|
|
|
3. `sed -i "s|^auth-user-pass$|<auth-user-pass>\nhu-user\nhu-password\n</auth-user-pass>|" vpn-hu-berlin.ovpn`
|
|
|
|
4. `chmod 600 vpn-hu-berlin.ovpn`
|
|
|
|
5. `openvpn3 config-import --config vpn-hu-berlin.ovpn --name vpn-hu-berlin --persistent`
|
|
|
|
6. `openvpn3 config-acl --show --lock-down true --grant root --transfer-owner-session true --config vpn-hu-berlin`
|
|
|
|
7. `sudo systemctl enable --now openvpn3-session@vpn-hu-berlin.service`
|
|
|
|
## Konfiguration des automatischen Starts des OpenVPN3-Clients beim Booten des Servers
|
|
|
|
Da die HU-Berlin für die Authentifizierung des Users einer VPN-Verbindung die Kombination von Benutzer-Kennung und Benutzer-Passwort verwendet, muss die Konfigurationsdatei der HU um diese Credentials für die automatische Verbindungsherstellung beim Booten des Systems erweitert werden. Erstelle hierzu eine Kopie der Konfigurationsdatei `ios-hu-berlin.ovpn` und benenne sie bspw. `vpn-hu-berlin.ovpn` (Schritt 1). Editiere danach diese Datei und ersetze den Ausdruck `auth-user-pass` durch `<auth-user-pass>hu-user hu-password</auth-user-pass>` (Schritte 2-4). Importiere dann die geänderte Konfiguration mit der Option '`--persistent`' in den OpenVPN3-Configuration-Manager, sodass diese Konfiguration nach dem Neustart des Systems erhalten bleibt (Schritt 5). Beim Neustart werden für den automatischen VPN-Verbindungsaufbau Root-Rechte benötigt, deshalb müssen mit Hilfe der OpenVPN3 eigenen 'Access Control List' die Rechte für das Management der VPN-Verbindung ebenfalls dem Root-User übertragen werden (Schritt 6). Definiere zum Schluss einen systemd-Service, der beim Hochfahren des Systems gestartet wird. Durch die Verwendung der Option '`--now`' wird der Service sofort gestartet (Schritt 7). Sicherheitshalber sollte das System aber neu gestartet werden, um die Konfiguration abschließend zu testen (Schritt 8).
|
|
|
|
1. `$ cp ios-hu-berlin.ovpn autoload/vpn-hu-berlin.ovpn`
|
|
|
|
2. `$ cd autoload`
|
|
|
|
3. `$ sed -i "s|^auth-user-pass$|<auth-user-pass>\nhu-user\nhu-password\n</auth-user-pass>|" vpn-hu-berlin.ovpn`
|
|
|
|
4. `$ chmod 600 vpn-hu-berlin.ovpn`
|
|
|
|
5. `$ openvpn3 config-import --config vpn-hu-berlin.ovpn --name vpn-hu-berlin --persistent`
|
|
|
|
6. `$ openvpn3 config-acl --show --lock-down true --grant root --transfer-owner-session true --config vpn-hu-berlin`
|
|
|
|
7. `$ sudo systemctl enable --now openvpn3-session@vpn-hu-berlin.service`
|
|
|
|
8. Testen des automatischen Verbindungsaufbaus (`sudo reboot`)
|
|
|
|
|
|
|
|
|
|
|
|
**Stoppen, Neustarten und Überwachen der OpenVPN3-Verbindung**
|
|
|
|
|
|
|
|
## Stoppen, Neustarten und Überwachen der OpenVPN3-Verbindung
|
|
|
|
- Stoppen der Verbindung: `openvpn3 session-manage --config vpn-hu-berlin --disconnect`
|
|
|
|
- Neustarten der Verbindung: `openvpn3 session-manage --config vpn-hu-berlin --restart`
|
|
|
|
- Anzeige aller hinterlegten Konfigurationen (des aktuellen Users): `openvpn3 configs-list`
|
| ... | ... | @@ -42,8 +38,7 @@ Da die HU-Berlin für die Authentifizierung des Users einer VPN-Verbindung die K |
|
|
|
- Anzeige des Logs während der Laufzeit: `openvpn3 log --config vpn-hu-berlin`
|
|
|
|
|
|
|
|
|
|
|
|
**Quellen:**
|
|
|
|
|
|
|
|
### Quellen:
|
|
|
|
- https://www.cms.hu-berlin.de/de/dl/netze/vpn/openvpn
|
|
|
|
- https://www.cms.hu-berlin.de/de/dl/netze/vpn/openvpn/allgemein
|
|
|
|
- https://pages.cms.hu-berlin.de/noc/pdfman/VPN/OpenVPN/Linux/ovpn-linux.pdf
|
| ... | ... | |
| ... | ... | |