VPN mit KNetworkmanager

Zunächst sollte knetworkmanager mit folgenden USE-Flags kompiliert werden, dazu kommt in die Datei /etc/portage/package.use der Inhalt:

kde-misc/knetworkmanager cisco dialup openvpn pptp


Dann kann man neue VPN-Verbindungen konfigurieren über Optionen->Einrichten->VPN-Verbindungen.

Jetzt kann man übers Kontextmenü die VPN-Verbindung bei Bedarf starten.

Soll allerdings die VPN-Verbindung automatisch beim Herstellen einer Netzwerkverbindung gestartet werden, sollte man zunächst den vpnc so einrichten, dass er mit dem Aufruf

vpnc

direkt die richtige VPN-Verbindung aufruft.

Danach legt man die neue Datei /etc/NetworkManager/dispatcher.d/vpn an:

#!/bin/sh
#/etc/NetworkManager/dispatcher.d/vpn

#Parameter einlesen
INTERFACE_COMMITTED=$1
ACTION=$2

#Session-ID des Uni-WLANs
ESSID=“wlan-uni“

#WLAN-Schnittstelle?
INTERFACE=“wlan1″

#Skript verlassen, wenn das übergebene Interface nicht das des WLANs ist
if [ „$INTERFACE“ != „$INTERFACE_COMMITTED“ ]; then
exit 0
fi

#existiert eine Verbindung zu einem Netz mit der ESSID?
ESSID_EXISTS=$(iwconfig $INTERFACE|grep $ESSID|awk {‚print $4‘})

#Skript verlassen, wenn das WLAN das falsche ist
#if [ „$ESSID_EXISTS“ = „“ ]; then
# exit 0
#fi

#Funktionen durchführen, je nach Aktion eine andere
case „$ACTION“ in
up)
#VPNC starten
vpnc unidsl
;;
down)
#VPNC stoppen
#killall vpnc
vpnc-disconnect
;;
pre-up)
#ein vorher laufendes VPNC stoppen
killall vpnc
;;
post-down)
#VPNC wirklich stoppen, falls abgestürzt
killall -9 vpnc
;;
*)
echo „$0: aufgerufen mit falschem Parameter \`$ACTION'“ 1>&2
exit 1
;;
esac


Diese Datei stammt übrigens von wiki.ubuntuusers.de.

Die Datei muss noch ausführbar gemacht werden:

chmod a+x /etc/NetworkManager/dispatcher.d/vpn

Damit das Skript auch beim Netzwerkwechsel ausgeführt wird, sollte unter Gentoo noch der NetworkManagerDispatcher-Dienst gestartet werden. Am besten bei jedem Systemstart:

rc-update add NetworkManagerDispatcher default

Danach sollte man den Rechner einmal neustarten.

Veröffentlicht am
Kategorisiert in Gentoo, Linux