[[Vorlage(Getestet, )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal verwenden] }}} [[Inhaltsverzeichnis(2)]] Der [:NetworkManager:] kann auch Verbindungen zu [wikipedia:Virtual_Private_Network:virtuellen privaten Netzwerken] aufbauen, welche beispielsweise oft in Unternehmen oder Universitäten benutzt werden, um den Netzwerkzugang nur autorisierten Benutzern zu gestatten oder um Mitarbeitern von zu Hause oder unterwegs Zugang zum internen Netzwerk zu ermöglichen. Dieser Artikel erläutert, wie man solche VPNs mit dem NetworkManager benutzt. Dazu sind, abhängig vom Typ der VPNs, zusätzliche Pakete zu installieren. = Installation = Folgende Pakete sind je nach Bedarf zu installieren[1]: * OpenVPN: Siehe auch den speziellen Artikel zu [:OpenVPN:]. \\ {{{#!vorlage Paketinstallation network-manager-openvpn, für OpenVPN-Zugang network-manager-openvpn-gnome }}} * PPTP: \\ {{{#!vorlage Paketinstallation network-manager-pptp, für Windows-VPN-Zugang network-manager-pptp-gnome, für Windows-VPN-Zugang }}} * VPNC: Siehe auch den speziellen Artikel zu [:VPNC:]. \\ {{{#!vorlage Paketinstallation network-manager-vpnc, universe, für Cisco-VPNC network-manager-vpnc-gnome, universe }}} * OpenConnect: \\ {{{#!vorlage Paketinstallation network-manager-openconnect, universe, für Cisco-AnyConnect und weitere Client aus der OpenConnect-Familie network-manager-openconnect-gnome, universe }}} * Weitere VPN-Methoden: Alle verfügbaren Pakete für [:VPN:VPNs] kann man so auflisten: [[Vorlage(Befehl, "apt list '*network-manager*'" ) ]] Man benötigt jeweils das Grundpaket und optional ein für den eigenen Desktop passendes Paket zur Integration in die grafische Oberfläche. Obige Paketnamen gelten für den Desktop [:GNOME:] und müssen für andere Desktops ggf. angepasst werden. Standardmäßig installiert sind die Pakete für die VPN-Methoden openVPN und PPTP. Nach der Installation muss der NetworkManager neu gestartet werden[1][2]: {{{#!vorlage Befehl systemctl restart network-manager.service }}} [[Bild(./vpn_1.png, 300,right)]] = Einrichtung = Als erstes muss ein Verbindungsprofil für die VPN-Verbindung angelegt werden. Dazu klickt [[Vorlage(Tasten, lmb)]] man auf das Symbol für nm-applet und startet mit ''„Verbindungen bearbeiten“'' den nm-connection-editor, oder man öffnet den für den Desktop spezifischen Einstellungsdialog für Netzwerk/VPN, oder man startet nm-connection-editor von einer Kommandozeile[1]. Es erscheint nun der Konfigurationsdialog. Der Namen der VPN-Verbindung kann frei gewählt werden, die anderen Daten sind gemäß Konfiguration des VPN-Servers einzutragen. Die benötigten Zertifikate sollte man auch vom Betreiber des VPN-Servers erhalten. Ein Klick auf ''"Erweitert"'' ruft die erweiterten Konfigurationsmöglichkeiten auf. Auch hier sind die Werte in den Reitern ''"Allgemein"'', ''"Sicherheit"'', ''"TLS Legitimierung"'' und ''"Proxies"'' gemäß Konfiguration des Servers einzusetzen. [[Bild(./vpn_2.png, 300, right)]] [[Anker(Verbindung.nutzen) ]] = Verbindung aufbauen = Liegt eine fertig konfigurierte Verbindung vor, so kann diese aktiviert werden. Dabei muss aber bereits eine Internetverbindung bestehen! Um VPN zu aktivieren klickt man mit der linken Maustaste [[Vorlage(Tasten, lmb)]] auf das Symbol des NetworkManagers und wählt unter ''"VPN Verbindungen"'' seine eingerichtete VPN-Verbindung. Ist dies aktiv, so ist dies an dem kleinen Schloss erkennbar, welches rechts unten am Symbol des NetworkManagers angezeigt wird. Es ist noch nicht möglich, mit dem NetworkManager mehrere VPN-Verbindungen gleichzeitig herzustellen (siehe [gnome:753966:Bug 753966] {en}). [[Bild(./vpn_3.png, 300,right)]] = Verbindung trennen = Zum Beenden einer VPN-Verbindung klickt man wieder auf das Symbol des NetworkManagers und wählt dann ''"VPN Verbindungen -> VPN trennen"''. Zum Löschen einer Verbindung wählt man ''"VPN Verbindungen -> VPN konfigurieren"'', markiert die zu löschende Verbindung und klickt dann auf ''"Löschen..."'' = 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 [http://www.unix-ag.uni-kl.de/~massar/bin/cisco-decode 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-[:Network-Manager#Terminal: Terminal]. == 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 kodiert, 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 (hier beispielhaft `tun0`, muss angepasst werden!) mit folgendem Befehl per Hand setzen: {{{#!vorlage Befehl sudo ip link set 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 [:NetworkManager/Dispatcher: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: {{{#!code bash #!/bin/sh INTERFACE=$1 ACTION=$2 case $ACTION in (vpn-up) sudo ip link set $INTERFACE mtu 1356 ; esac }}} === MTU-Wert im Quelltext anpassen und Paket neu kompilieren === 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 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-''', wobei die VPNC Version aus der Quelle ist, und daraufhin in das Unterverzeichnis '''src'''. {{{#!vorlage Befehl cd network-manager-vpnc-/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. {{{#!vorlage Builddeps network-manager-vpnc }}} {{{#!vorlage Befehl cd .. dpkg-buildpackage }}} Nach erfolgreicher Kompilierung findet man im Unterverzeichnis das zugehörige Paket. Dieses wird installiert, dabei wird eine vorhandene Installation des Pakets '''network-manager-vpnc''' ersetzt. Optional kann man jetzt noch die Pakete wieder entfernen, die für die Abhängigkeit installiert wurden. {{{#!vorlage Befehl sudo dpkg -i ../*.deb sudo apt-get autoremove }}} Das Paket kann man jetzt sichern und für eine spätere Installation wiederverwenden. == VPN-Verbindung fehlgeschlagen (VPN-Geheimnisse) == Bei einer Fehlermeldung in der Art ''„Die Verbindung XY konnte nicht hergestellt werden, da keine gültigen VPN-Geheimnisse vorliegen“'' kann ein [#Installation Neustart des NetworkManagers] helfen. # tag: Internet, Netzwerk