HelperSheets/OpenVPN.md

80 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2024-08-26 18:09:02 +02:00
# OpenVPN auf dem Raspberry Pi installieren
### Client hinzufügen
```shell
cd ~/easy-rsa
./easyrsa gen-req client1 nopass
```
Danach auf dem CA-Server unterschreiben lassen:
```shell
./easyrsa sign-req client client1
```
Nun das eigene Skript ```make_config.sh``` aufrufen, um die Config-Datei zu erstellen:
```shell
./make_config.sh client1
```
Nun wurde eine ```*.ovpn``` Datei erstellt, welche man nur noch beim Client anwenden braucht.
### OpenVPN auf dem Raspberry Pi installieren
1. Update und Upgrade
```shell
sudo apt-get update && sudo apt-get upgrade
```
2. Nun kann OpenVPN und das Paket unzip installiert werden
```shell
sudo apt-get install openvpn unzip
```
Anschließend besitzt man folgende Ordnerstruktur:
```/etc/openvpn```
Nun kann wie oben gezeigt, eine ```.ovpn``` erstellt werden. Diese kann man dann in dem jeweiligen
Verzeichnis abgelegt werden und so kann der Dienst gestartet werden:
```shell
sudo openvpn --config /etc/openvpn/your_file.ovpn --daemon
```
Mit dem Flag ```--daemon``` wird der Task im Hintergrund ausgeführt.
### Optional: starten des Dienstes nach einem Systemneustart
1. Erstelle eine neue Systemd Service Unit File:
```shell
sudo nano /etc/systemd/system/openvpn@your_file.service
```
Ersetze ```your_file``` mit dem Namen der Datei.
2. Erstelle die Unit File
```text
[Unit]
Description=OpenVPN connection to the Server
After=network.target
[Service]
User=<YourUsername>
ExecStart=/usr/sbin/openvpn --config /etc/openvpn/your_file.ovpn --daemon
ExecStop=/usr/sbin/openvpn --config /etc/openvpn/your_file.ovpn --daemon --stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
```
Gute Erklärung zu einem Autostart: [thedigitalpictureframe](https://www.thedigitalpictureframe.com/ultimate-guide-systemd-autostart-scripts-raspberry-pi/)
Anschließend lesen wir die Datei neu ein und starten den Prozess:
```shell
sudo systemctl daemon-reload
sudo systemctl enable openvpn@your_file
```
Nun noch ```sudo reboot now``` und der Service sollte aktiv sein nach dem Neustart.