Standardmäßig werden die IPs für die VPN Clients vom OpenVPN Server willkürlich vergeben. Nach Arbeiten am Server kann es vorkommen, dass sich die Client IPs verändert haben. Wer die Clients aber über fixe IPs ansprechen will, kann den OpenVPN Server entsprechend einstellen.
Dazu wird am Server die Datei „/etc/openvpn/server.conf“ angepasst und folgende Zeile hinzugefügt:
client-config-dir ccd
Im nächsten Schritt wird ein neues Verzeichnis „/etc/openvpn/ccd“ erstellt. Dieses Verzeichnis enthält erweiterte Konfigurationen für die einzelnen Clients. Wer z.B. besondere Einstellungen an den Client mit der Bezeichnung „thomas-pc“ übergeben will, erstellt eine neue Datei mit genau dieser Bezeichnung im ccd Verzeichnis.
In diese Clientspezifische Konfigurationsdatei wird diese Zeile geschrieben:
ifconfig-push 10.8.0.2 255.255.255.0
… sodass an den Client die IP 10.8.0.2 und das Subnetz 255.255.255.0 vergeben werden. (Ich nutze „topology subnet“ in der Server Konfiguration, sodass ich ein Subnetz statt einer Server IP übergeben kann. Konfiguration basierend auf diesem Beitrag)
Jetzt noch die Datei abspeichern und den OpenVPN Server neu starten. Auch die OpenVPN Clients müssen neu gestartet werden, damit sie die neuen IPs übernehmen. Für alle weiteren ccd Konfigurationen muss der Server nicht mehr neu gestartet werden, sondern nur die Clients.
Wichtig: Je nach Topologie muss nicht
> ifconfig-push 10.8.0.2 255.255.255.0
sondern
> ifconfig-push 10.8.0.2 10.8.0.1
eingetragen werden (10.8.0.1 ist die IP des VPN-Servers innerhalb des VPN).
Andernfalls erhält man folgende Fehlermeldung und der Client baut keine Verbindung auf:
> WARNING: Since you are using –dev tun with a point-to-point topology, the second argument to –ifconfig must be an IP address. You are using something (255.255.255.0) that looks more like a netmask. (silence this warning with –ifconfig-nowarn)
Vielen Dank für diese äusserst hilfreiche Beschreibung! :-)