ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

VPN Plugins

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel erläutert, wie man sich mittels einer Erweiterung für den Network-Manager mit einem Virtuellen Privaten Netzwerk verbindet. Andere Möglichkeiten und Hinweise zur Nutzung finden sich unter OpenVPN,VPNC. Nutzer des KDE-Desktops können kvpnc nutzen.

Installation

Ubuntu Paketquellen

Folgende Pakete sind je nach Bedarf zu installieren [1]:

  • network-manager-pptp (universe[2], für Windows-VPN-Zugang)

  • network-manager-pptp-kde (universe, für Cisco-VPN-Zugang, zusätzlich ab Lucid)

  • network-manager-pptp-gnome (universe, für Cisco-VPN-Zugang, zusätzlich ab Lucid)

  • network-manager-openvpn (universe, für OpenVPN-Zugang)

  • network-manager-openvpn-kde (universe, für Cisco-VPN-Zugang, zusätzlich ab Lucid)

  • network-manager-openvpn-gnome (universe, für Cisco-VPN-Zugang, zusätzlich ab Lucid)

  • network-manager-vpnc (universe, für Cisco-VPN-Zugang)

  • network-manager-vpnc-kde (universe, für Cisco-VPN-Zugang, zusätzlich ab Lucid)

  • network-manager-vpnc-gnome (universe, für Cisco-VPN-Zugang, zusätzlich ab Lucid)

  • network-manager-openconnect (universe, für Cisco-AnyConnect-VPN-Zugang)

Nach der Installation muss der Network-Manager neu gestartet werden[4]:

sudo service network-manager restart 

Einrichtung

Über das Symbol des Network-Managers im Panel kann man jetzt eine neue VPN-Verbindung anlegen.

./networkmanager_vpn.png

Dabei hilft ein Assistent. Die folgende Beispielkonfiguration bezieht sich auf ein PPTP-Netzwerk. Normalerweise genügt es, im ersten Reiter "Connection" einen Namen und den Server anzugeben.

./04-Assistent-Connection.png

Allerdings kann es sinnvoll sein, im Reiter "Routing" einen Netzwerkbereich anzugeben, damit der restliche Verkehr nicht unnötig über die VPN-Verbindung geleitet wird. Dieser Adressbereich ist gegebenenfalls beim VPN-Betreiber zu erfragen.

./05-Assistent-Routing.png

Verbindung nutzen

Die Verbindung wird aktiviert, wenn man sie im Menü des Network-Managers auswählt. Eine Internetverbindung muss dazu bereits bestehen. Beim ersten Verbinden werden Benutzername und Passwort für den Netzwerkzugang abgefragt. Wenn man diese Daten nur einmal eingeben möchte, kann man sie speichern lassen, sollte dazu allerdings aus Sicherheitsgründen unbedingt den GNOME Schlüsselbund benutzen.

./90-Auth.png

Problembehebung

Gruppenpasswort

Sollte das Gruppenpasswort bei einer Konfigurationsdatei für das Cisco-VPN-Protokoll in der PCF-Datei verschlüsselt abgespeichert sein (eine sehr lange hexadezimale Zahl), so kann man sie ggf. manuell entschlüsseln (siehe cisco-decode {en}) und in Klartext übertragen.

Dies ist nicht mehr notwendig. Das Gruppen-Passwort wird beim Importieren der PCF-Datei automatisch entschlüsselt.

Die VPN-Konfiguration ist im Network-Manager nicht verfügbar

In den Netzwerkeinstellungen müssen alle über den Network-Manager zu verwaltenden Geräte über DHCP konfiguriert werden, sonst erscheint auch keine Konfigurationsmöglichkeit der VPN-Verbindungen im Network-Manager-Terminal. In 8.04 ist die Aktivierung des "Roaming-Modus" in der Regel ausreichend.

Die VPN-Verbindung wird nicht genutzt obwohl aktiviert

Es kann in der Karteikarte "IPv4-Einstellungen" nach linke Maustaste auf "Routen..." ein Haken bei "Diese Verbindung nur für Ressourcen dieses Netzwerks verwenden" gesetzt werden. Ist dieser Haken gesetzt, wird die VPN-Verbindung nie als Standardverbindung verwendet. Dies führt dazu, dass z.B. ssh-Verbindungen nicht den VPN-Tunnel nutzen und so eventuell von einer Firewall blockiert werden. Entweder den Haken entfernen oder die entsprechenden Netzwerkbereiche hinzufügen. (Dieses Fehlverhalten tritt unter Umständen auch in einer frischen Natty-Installation auf, kann aber auf die hier beschriebene Weise behoben werden!)

Verbindung kann nicht aufgebaut werden

Oft ist es wichtig, dass bei der Internetverbindung, die verwendet wird, DHCP aktiviert wird, also keine statischen internen IPs vergeben werden. Zu DHCP siehe hier: (Netzwerk)

MTU-Wert anpassen, bei Verbindungsproblemen

Einige Unis oder Hochschulen setzen voraus, dass man einen bestimmten MTU-Wert für den Tunnel besitzt, sonst bekommt man nach dem erfolgreichen Verbindungsaufbau keine Verbindung ins Netz. Das VPNC-Plugin hat jedoch einen MTU von 1412 fest einkodiert, der Cisco-VPN benutzt aber standardmäßig einen MTU von 1356, um fehlerfrei zu funktionieren.

MTU nach Verbindungsaufbau setzen

Man kann den MTU-Wert des Tunnels mit folgendem Befehl per Hand setzen:

sudo ifconfig tun0 mtu 1356 

Dafür ist eine erfolgreiche Verbindung über VPN notwendig, da erst nach dem Verbinden das "tun0"-Device vorhanden ist. Dieser Schritt ist bei jedem Verbindungsaufbau notwendig, lässt sich aber automatisieren, indem man ein Dispatcher-Script im Verzeichnis /etc/NetworkManager/dispatcher.d/ anlegt. Das folgende Beispiel 10vpnc-up setzt den MTU-Wert auf 1356, wenn eine VPN-Verbindung hergestellt wurde:

1
2
3
4
5
6
7
8
#!/bin/sh
INTERFACE=$1
ACTION=$2

if [ "$ACTION" = "vpn-up" ]; then
    sleep 3
    ifconfig "$INTERFACE" mtu 1356
fi

MTU-Wert im Quelltext anpassen und Paket neukompilieren

Alternativ kann man die Quellen über die Ubuntu-Paketquellen laden und den MTU-Wert im Quelltext ändern. Dieses ist mit einem kleinen Eingriff schnell gemacht.

Man legt sich am besten ein Verzeichnis an, in das man die Quellen herunterlädt. Es wird vorausgesetzt, dass man in der sources.list die Quelldateien aktiviert [2] hat. Dazu muss man, je nach Ubuntu-Version, unterschiedliche Zeilen einfügen:

Quellen herunterladen und weiteres Vorgehen

Jetzt lädt man die Quellen in das zuvor angelegte Verzeichnis. Falls man die Quellen gerade eingefügt hat, sollte man die Quelltexte aktualisieren. Darauf wechselt man in das Verzeichnis network-manager-vpnc-<VERSION>, wobei <VERSION> die VPNC Version aus der Quelle ist, und daraufhin in das Unterverzeichnis src.

cd network-manager-vpnc-<VERSION>/src 

Dort editiert man die Datei nm-vpnc-service-vpnc-helper.c, sucht nach der Zeile val = uint_to_gvalue (1412); und passt den Wert an die jeweilige Uni oder Hochschule an, z.B. 1356. Nach der Änderung sollte das Ganze wie folgt aussehen:

        /* Set MTU to 1356 */
        val = uint_to_gvalue (1356);

Nun wird das Verzeichnis verlassen und wie im Folgenden beschrieben aus der Quelle ein installierbares Paket erstellt. Dazu müssen vorher noch die richtigen Abhängigkeiten für den Paketbau erfüllt werden.

Befehl zum Installieren der Build-Abhängigkeiten:

sudo apt-get build-dep network-manager-vpnc 

sudo aptitude build-depends network-manager-vpnc 

cd ..
dpkg-buildpackage 

Nachdem der Kompiliervorgang abgeschlossen wurde, findet man im Unterverzeichnis das zugehörige Paket. Dieses wird installiert, dabei wird ein vorhandene network-manager-vpnc- Installation ersetzt. Optional kann man jetzt noch die Pakete wieder entfernen, die für die Abhängigkeit installiert wurden.

sudo dpkg -i ../*.deb
sudo apt-get autoremove 

Das Paket kann man jetzt sichern und für eine spätere Installation wiederverwenden.

Fehlendes Tray-Icon nach einem Neustart

Falls das Tray-Icon vom Netzwerkmanager unter Hardy nach der Aktualisierung nicht mehr zu sehen sein sollte, muss auf der Konsole das Applet manuell aufgerufen werden. Es startet fortan aber wieder selbständig.

nm-applet 

VPN-Verbindung fehlgeschlagen (VPN-Geheimnisse)

Wenn eine Fehlermeldung in der Art Die Verbindung XY konnte nicht hergestellt werden, da keine gültigen VPN-Geheimnisse vorliegen, kann ein Neustart des NetworkManagers mit einem der folgenden Befehle helfen:

sudo service network-manager restart
sudo restart network-manager 

ubuntuusers.local › WikiNetworkManagerVPN Plugins