Ich habe hier eine (PPTP-)VPN-Installation, mit einem Poptop-PPTP-Dämon auf einer GNU/Linux-Box (`deepserver`), und Mac OS X 10.4.11 auf einem MacBook Pro (`ozean-osx`), welches ich als Client verwenden möchte. Das klappt für eine Weile auch ganz gut - jedoch bricht die Verbindung in unregelmässigen Abständen mit folgender Fehlermeldung zusammen:
ozean-osx' /var/log/system.log
Spoiler:
Code:
Mar 9 18:03:57 ozean-osx pppd[1606]: pppd 2.4.2 (Apple version 233-16) started by root, uid 501
Mar 9 18:03:57 ozean-osx pppd[1606]: PPTP connecting to server 'deepserver' (192.168.42.1)...\n
Mar 9 18:03:57 ozean-osx pppd[1606]: PPTP connection established.
Mar 9 18:03:57 ozean-osx pppd[1606]: Connect: ppp0 <--> socket[34:17]
Mar 9 18:04:00 ozean-osx pppd[1606]: MPPE 128-bit stateless compression enabled
Mar 9 18:04:00 ozean-osx pppd[1606]: local IP address 192.168.23.223
Mar 9 18:04:00 ozean-osx pppd[1606]: remote IP address 192.168.23.1
Mar 9 18:04:00 ozean-osx pppd[1606]: primary DNS address 4.2.2.2
Mar 9 18:04:00 ozean-osx pppd[1606]: secondary DNS address 4.2.2.2
-- SNIP --
Mar 9 18:25:06 ozean-osx pppd[1606]: PPTP error when sending echo_request : Network is unreachable\n
Mar 9 18:25:06 ozean-osx pppd[1606]: PPTP has detected change in the network and lost connection with the server.
Mar 9 18:25:06 ozean-osx pppd[1606]: MPPE disabled
Mar 9 18:25:06 ozean-osx pppd[1606]: Connection terminated.
Mar 9 18:25:06 ozean-osx pppd[1606]: PPTP disconnecting...\n
Mar 9 18:25:06 ozean-osx pppd[1606]: PPTP disconnected\n
deepserver's /var/log/syslog
Spoiler:
Code:
Mar 9 18:03:59 deepserver pptpd[684]: CTRL: Client 192.168.42.7 control connection started
Mar 9 18:03:59 deepserver pptpd[684]: CTRL: Starting call (launching pppd, opening GRE)
Mar 9 18:03:59 deepserver pppd[685]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Mar 9 18:03:59 deepserver pppd[685]: pppd 2.4.4 started by root, uid 0
Mar 9 18:03:59 deepserver pppd[685]: Using interface ppp0
Mar 9 18:03:59 deepserver pppd[685]: Connect: ppp0 <--> /dev/pts/1
Mar 9 18:03:59 deepserver pptpd[684]: GRE: Bad checksum from pppd.
Mar 9 18:04:02 deepserver pppd[685]: MPPE 128-bit stateless compression enabled
Mar 9 18:04:02 deepserver pppd[685]: local IP address 192.168.23.1
Mar 9 18:04:02 deepserver pppd[685]: remote IP address 192.168.23.223
-- SNIP --
Mar 9 18:25:08 deepserver pppd[685]: LCP terminated by peer (MPPE disabled)
Mar 9 18:25:08 deepserver pppd[685]: Connect time 21.1 minutes.
Mar 9 18:25:08 deepserver pppd[685]: Sent 1805235 bytes, received 390227 bytes.
Mar 9 18:25:10 deepserver pptpd[684]: CTRL: EOF or bad error reading ctrl packet length.
Mar 9 18:25:10 deepserver pptpd[684]: CTRL: couldn't read packet header (exit)
Mar 9 18:25:10 deepserver pptpd[684]: CTRL: CTRL read failed
Mar 9 18:25:10 deepserver pptpd[684]: CTRL: Reaping child PPP[685]
Mar 9 18:25:10 deepserver pppd[685]: Modem hangup
Mar 9 18:25:10 deepserver pppd[685]: Connection terminated.
Mar 9 18:25:10 deepserver pppd[685]: Exit.
Mar 9 18:25:10 deepserver pptpd[684]: CTRL: Client 192.168.42.7 control connection finished
Nun, das Problem scheint, dass der pppd von Mac OS X hin und wieder anzunehmen scheint, dass die Netzwerkverbindung tot sei. Da es sich um ein WLAN handelt, sind Paketverluste natürlich nicht ausgeschlossen, ich halte es aber für sehr unwahrscheinlich, dass diese zu einem `Network is unreachable` führen (was - zumindest nach meiner Auffassung - eher auf ein Routing-Problem hindeutet). Soweit ich das bei Mac OS X beurteilen kann, riss die WLAN-Verbindung nicht ab. Abgesehen davon sind mir bisher - bis auf die jetzigen VPN-Probleme - auch noch keine Verbindungsabbrüche bei der Benutzung der WLAN-Verbindung aufgefallen. Und last but not least - nein, ich habe nicht an der Routingtabelle gebastelt, als der Verbindungsabbruch auftrat.
Hat einer eventuell eine Erklärung für das Verhalten von Apple's pppd? Lässt er sich eventuell so konfigurieren, dass ein kurzes Verbindungsproblem (ein einzelnes nicht versendbares oder verlorenes `Echo Request`-Paket) nicht gleich die Trennung der PPTP-Verbindung zur Folge hat?
Da nichts wirklich half (eine serverseitige Senkung der MTU/MRU brachte zwar eine Besserung, löste das Problem aber nicht), bin ich auf OpenVPN umgestiegen, was auch prima funktioniert. Anfangs wollte ich es eigentlich mit Mac OS X-Bordmitteln lösen, weshalb ich zu PPTP griff, aber Tunnelblick ist auch nicht schlecht und gut in die Menüleiste integriert. Das Thema ist somit für mich nicht mehr aktuell.