In het verleden heb ik uitgelegd hoe je een OpenVPN Server op een Debian Server installeert. Dat werkt allemaal prima, maar het nadeel hiervan is dat je alles via de command-line moet doen (bijvoorbeeld toevoegen van nieuwe clients).

Vandaag leg ik uit hoe je met een dedicated Raspberry Pi een OpenVPN server kunt opzetten met een web-based User-Interface waarmee je gemakkelijk je OpenVPN server kunt bekijken en beheren. Dit alles is mogelijk met het Raspberry-Gateway project die naast een OpenVPN server met User-Interface ook nog andere optionele Docker containers bevat voor extra functionaliteit zoals Pihole, qBitTorrent, Grafana dashboards en nog meer.

Prepareren Raspberry Pi

Als eerste moeten we een Raspberry Pi prepareren met een Operating Systeem. Dit doen we m.b.v. de Raspberry Pi Imager software. Download en installeer deze software. Als je deze opstart zal deze 3 keuzes geven:




Kies je model, gewenste OS (Raspberry Pi OS Lite (64-bit)) en lokatie waar je storage media voor je Raspberry Pi (SD kaart of USB disk) op geschreven moet worden. Zorg ervoor dat je bij de opties ook SSH enabled:





Kies nu [Start Write] om je OS te Schrijven naar je storage device. Start hiermee tenslotte je Raspberry Pi op.

Installatie

Ik heb hiervoor de documentatie van het Raspberry-Gateway project gevolgd.

Installeer package Ansible:

sudo apt-get install -y git ansible python3-pip

Clone de volgende repository van GIT:

git clone https://github.com/d3vilh/raspberry-gateway

Ga dan naar deze directory en installeer de requirements (dit duurde bij mij erg lang en je ziet geen progress):

cd raspberry-gateway
ansible-galaxy collection install -r requirements.yml




Log hierna uit en weer in (anders kan web-based installatie fout gaan). Als laatste stap moet je nog een web-based installatie uitvoeren. Run hiervoor de Webinstall binary:



Ga nu met een web-browser naar de URL die je te zien krijgt:



Kies de onderdelen en wachtwoorden die je wilt gebruiken en druk tenslotte op de [Save] button onderaan gevolgd door [Install] button. Dit duurt even, maar je kunt de voortgang volgen in het winddow onderaan.

Gebruik

De diverse web-interfaces zijn op verschillende poorten van het IP-adres van je Raspberry Pi te benaderen met een web-browser:




Ik gebruik de Raspberry-Gateway voornamelijk voor de OpenVPN server met User-Interface. Voor hoe je jouw OpenVPN server precies instelt verwijs ik je naar de OpenVPN documentatie.

Ik kan deze nu dus eindelijk grafische beheren met de web-based User-Interface die er als volgt uitziet:




Het toevoegen van een nieuwe client doe je door in het hoofdmenu ‘Certificates’ te kiezen en dan de [Create Certficate] knop te drukken. Vul vervolgens je gegevens in. De gecreëerde OVPN profile kun je dan bijvoorbeeld naar je betreffende device (b.v. iPhone) emailen en daar importeren in de OpenVPN client.


Naast de OpenVPN Server + UI heb ik ook gekozen om Portainer.io (beheer van je Docker images) en Grafana (grafieken tonen) te installeren. Hieronder krijg een indruk hoe dat er uitziet:







Instellen port-forward voor OpenVPN Server

Om gebruik te maken van de OpenVPN server op een client moet je nog een port-forward instellen op je router waar je internet binnenkomt. Deze moet dan wijzen naar het IP-adres van je Raspberry Pi. In mijn geval gebruik ik Unifi Controller software en doe ik dit bij: Settings > Security > Port Forwarding



Conclusie

Met Raspberry Gateway kun je heel simpel en snel een OpenVPN Server opzetten die je grafisch kunt beheren. Tevens bevat deze nog allerlei andere nuttige tools. In combinatie met een Raspberry Pi heb je zo een goedkope en doeltreffende oplossing. Ik kan deze combinatie van harte aanraden.