
Estoy intentando volver a poner en funcionamiento una VPN en un servidor Mac OSX y parece que he tenido un problema con MPPE. Cuando intento conectarme a la VPN desde mi computadora portátil en la misma red local, recibo los siguientes mensajes en/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
Lo que recopilo al buscar en línea (particularmenteaquí) es que hay una falta de coincidencia de cifrado entre el cliente y el servidor. No puedo abrir un entorno gráfico en mi servidor, así que lo he estado configurando a través de ssh. El archivo aplicable en el servidor parece ser /Library/Preferences/SystemConfiguration/com.apple.RemoteAccessServers.plist
, que tiene las siguientes líneas relacionadas con 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>
Parece que debería configurarse para funcionar con tamaños de clave MPPE de 40 y 128 bits. En mi servidor no hay archivos en formato /etc/ppp/
. En el cliente, tengo archivos en /etc/ppp/
, pero todo lo relacionado con MPPE parece estar comentado en/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
# }}}
Intenté descomentar las distintas líneas mppe (incluso con y sin las llaves triples, que no pude discernir si significaban algo). Al iniciar conexiones VPN recibía el mismo MPPE required but peer negotiation failed
mensaje cada vez.
En mi cliente estoy ejecutando pppd versión 2.4.5. En el servidor, al intentar ejecutar cualquier opción con pppd aparece el mensaje
pppd: Can't open options file /etc/ppp/options: No such file or directory
así que no estoy seguro de qué versión se está ejecutando en el servidor.
¿Alguna idea sobre qué más debería intentar?
Respuesta1
Bueno, ahora me siento estúpido. Resulta que MPPE estaba habilitado en el servidor. ¡Sin embargo, no había habilitado MPPE en mi cliente!
Estoy ejecutando Linux Mint 17 XFCE en mi cliente, así que para habilitar MPPE hice clic en el complemento indicador de red en la bandeja de mi sistema y en "Conexiones VPN" seleccioné "Configurar VPN...". Desde allí seleccioné la VPN que quería configurar y hice clic en "Editar...". En la pestaña "VPN", hice clic en el botón "Avanzado...". En "Seguridad y compresión" hay una casilla de verificación denominada "Usar cifrado punto a punto (MPPE)". Una vez que marqué esa casilla e hice clic en "Aceptar" y "Guardar", pude conectarme a la VPN sin ningún problema.