
Ich versuche, ein VPN auf einem Mac OSX-Server wieder zum Laufen zu bringen, und scheine dabei auf ein Problem mit MPPE gestoßen zu sein. Wenn ich versuche, von meinem Laptop im selben lokalen Netzwerk aus eine Verbindung zum VPN herzustellen, erhalte ich die folgenden Meldungen in/var/log/ppp/vpnd.log
2015-07-14 17:01:45 MDT Incoming call... Address given to client = xx.xxx.xx.xxx
Tue Jul 14 17:01:45 2015 : Directory Services Authentication plugin initialized
Tue Jul 14 17:01:45 2015 : Directory Services Authorization plugin initialized
Tue Jul 14 17:01:45 2015 : PPTP incoming call in progress from '192.168.1.154'...
Tue Jul 14 17:01:46 2015 : PPTP connection established.
Tue Jul 14 17:01:46 2015 : using link 0
Tue Jul 14 17:01:46 2015 : Using interface ppp0
Tue Jul 14 17:01:46 2015 : Connect: ppp0 <--> socket[34:17]
Tue Jul 14 17:01:46 2015 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x4c905d23> <pcomp> <accomp>]
Tue Jul 14 17:01:46 2015 : rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x5dd17fa9> <pcomp> <accomp>]
Tue Jul 14 17:01:46 2015 : lcp_reqci: returning CONFACK.
Tue Jul 14 17:01:46 2015 : sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x5dd17fa9> <pcomp> <accomp>]
Tue Jul 14 17:01:46 2015 : rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x4c905d23> <pcomp> <accomp>]
Tue Jul 14 17:01:46 2015 : sent [LCP EchoReq id=0x0 magic=0x4c905d23]
Tue Jul 14 17:01:46 2015 : sent [CHAP Challenge id=0x43 <2a596a4a75602b4946642a2d1b12050b>, name = "server"]
Tue Jul 14 17:01:46 2015 : rcvd [LCP EchoRep id=0x0 magic=0x5dd17fa9]
Tue Jul 14 17:01:46 2015 : rcvd [CHAP Response id=0x43 <afb93f9351af212c460cf851eaf6d0580000000000000000e1bda0d312f0542755399c6ca465b7a8878439608d30f16100>, name = "admin"]
Tue Jul 14 17:01:46 2015 : sent [CHAP Success id=0x43 "S=3B614827970F82512A68E1022EF6F7FC0AF4FA3F M=Access granted"]
Tue Jul 14 17:01:46 2015 : CHAP peer authentication succeeded for admin
Tue Jul 14 17:01:46 2015 : DSAccessControl plugin: User 'admin' authorized for access
Tue Jul 14 17:01:46 2015 : sent [CCP ConfReq id=0x1 <mppe +H -M +S +L -D -C>]
Tue Jul 14 17:01:46 2015 : rcvd [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
Tue Jul 14 17:01:46 2015 : MPPE required but peer negotiation failed
Tue Jul 14 17:01:46 2015 : sent [LCP TermReq id=0x2 "MPPE required but peer negotiation failed"]
Tue Jul 14 17:01:46 2015 : Connection terminated.
Tue Jul 14 17:01:46 2015 : sent [CCP ConfRej id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
Tue Jul 14 17:01:46 2015 : Connect time 0.0 minutes.
Tue Jul 14 17:01:46 2015 : Sent 0 bytes, received 0 bytes.
Tue Jul 14 17:01:46 2015 : PPTP disconnecting...
Tue Jul 14 17:01:46 2015 : PPTP disconnected
2015-07-14 17:01:46 MDT --> Client with address = xx.xxx.xx.xxx has hungup
Was ich aus der Online-Suche herausfinde (insbesondereHier) ist, dass es eine Verschlüsselungsfehlanpassung zwischen dem Client und dem Server gibt. Ich kann auf meinem Server keine grafische Umgebung aufrufen, also habe ich sie über SSH konfiguriert. Die entsprechende Datei auf dem Server scheint zu sein und /Library/Preferences/SystemConfiguration/com.apple.RemoteAccessServers.plist
enthält die folgenden Zeilen zu MPPE
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ActiveServers</key>
<array>
<string>com.apple.ppp.pptp</string>
</array>
<key>Servers</key>
...
<key>com.apple.ppp.pptp</key>
<dict>
...
<key>PPP</key>
<dict>
...
<key>CCPProtocols</key>
<array>
<string>MPPE</string>
</array>
...
<key>MPPEKeySize128</key>
<integer>1</integer>
<key>MPPEKeySize40</key>
<integer>1</integer>
...
</dict>
...
</dict>
</dict>
</dict>
</plist>
Dies scheint so konfiguriert zu sein, dass es sowohl mit 40-Bit- als auch mit 128-Bit-MPPE-Schlüsselgrößen funktioniert. Auf meinem Server befinden sich keine Dateien in /etc/ppp/
. Auf dem Client habe ich Dateien in /etc/ppp/
, aber alles, was mit MPPE zu tun hat, scheint in auskommentiert zu sein/etc/ppp/options.pptp
# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use. Note that MPPE
# requires the use of MSCHAP-V2 during authentication)
# http://ppp.samba.org/ the PPP project version of PPP by Paul Mackarras
# ppp-2.4.2 or later with MPPE only, kernel module ppp_mppe.o
# {{{
# Require MPPE 128-bit encryption
#require-mppe-128
# }}}
# http://polbox.com/h/hs001/ fork from PPP project by Jan Dubiec
# ppp-2.4.2 or later with MPPE and MPPC, kernel module ppp_mppe_mppc.o
# {{{
# Require MPPE 128-bit encryption
#mppe required,stateless
# }}}
MPPE required but peer negotiation failed
Ich habe versucht, die verschiedenen MPPE-Zeilen zu kommentieren (sogar mit und ohne die dreifachen geschweiften Klammern, bei denen ich nicht erkennen konnte, ob sie etwas bedeuteten). Beim Einleiten von VPN-Verbindungen wurde jedes Mal dieselbe Meldung angezeigt.
Auf meinem Client verwende ich pppd in der Version 2.4.5. Auf dem Server erhalte ich beim Versuch, irgendwelche Optionen mit pppd auszuführen, die Meldung
pppd: Can't open options file /etc/ppp/options: No such file or directory
daher bin ich nicht sicher, welche Version auf dem Server läuft.
Irgendwelche Ideen, was ich sonst noch versuchen sollte?
Antwort1
Nun, jetzt fühle ich mich dumm. Es stellte sich heraus, dass MPPE tatsächlich auf dem Server aktiviert war. Ich hatte MPPE jedoch nicht auf meinem Client aktiviert!
Ich verwende Linux Mint 17 XFCE auf meinem Client. Um MPPE zu aktivieren, klickte ich auf das Netzwerkindikator-Plugin in meiner Taskleiste und wählte unter „VPN-Verbindungen“ „VPN konfigurieren …“. Von dort aus wählte ich das VPN aus, das ich konfigurieren wollte, und klickte auf „Bearbeiten …“. Unter der Registerkarte „VPN“ klickte ich auf die Schaltfläche „Erweitert …“. Unter „Sicherheit und Komprimierung“ gibt es ein Kontrollkästchen mit der Bezeichnung „Punkt-zu-Punkt-Verschlüsselung (MPPE) verwenden“. Nachdem ich dieses Kontrollkästchen aktiviert und auf „OK“ und „Speichern“ geklickt hatte, konnte ich problemlos eine Verbindung zum VPN herstellen.