Hi Stephan,
On Mon, Nov 17, 2008 at 14:55:29 +0100, Stephan Enderlein (Freifunk Dresden) wrote:
openvpn nutzt das tap/tun device, um neue Netzwerkintefaces zu erzeugen. Soweit ich weiss ist das Erzeugen dieser tap devices nur von root moeglich. openvpn kann glaube unter einem anderen nutzer laufen.
Das Erzeugen eines tun/tap Interface geht noch ohne root-Rechte, solange man passende Zugriffsrechte auf /dev/net/tun hat. Aber das resultierende Interface dann "up" zu setzen und mit einer IP-Adresse zu versehen braucht zwingend root-Rechte bzw. die Capability CAP_NET_ADMIN.
Die ip Befehle (iproute2 packet) lassen sich aber nur von root nutzen, um die interfaces und routen im system zu setzen. Dabei wuerde sudo helfen.
Ja, oder ausfuehren dieser Befehle nach tunctl in einem Initskript, wenn moeglich (siehe unten).
Aber soll openvpn alles automatisch konfigurieren, so muss irgendwo das passwort gespeichert werden auf das dann der "root" zugriff hat. Das laesst sich vermutlich nicht unterbinden.
Mit openvpn habe ich wenig Erfahrung. Wenn sich openvpn aber so wie qemu dazu ueberreden laesst, fertig vorkonfigurierte tap-Interfaces zu verwenden, kann man den Interface-Konfigteil/Routen setzen in ein Initskript auslagern und openvpn dann tatsaechlich ohne root-Rechte laufen lassen.
Die Frage ist: Lassen sich die IP-Adressen/Routen im voraus setzen, oder ergeben sie sich erst aus der openvpn-Konfiguration?
Gruss, Chris