Я пытаюсь запустить VPN снова на сервере Mac OSX и, похоже, столкнулся с проблемой MPPE. Когда я пытаюсь подключиться к VPN с моего ноутбука в той же локальной сети, я получаю следующие сообщения в /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

Из поиска в Интернете (особенно здесь) я понял, что между клиентом и сервером существует несоответствие шифрования. Я не могу вызвать графическое окружение на моем сервере, поэтому я настраивал его через ssh. Применимым файлом на сервере является /Library/Preferences/SystemConfiguration/com.apple.RemoteAccessServers.plist , который имеет следующие строки, относящиеся к 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>

Похоже, он должен быть настроен для работы с 40-битным и 128-битным ключами MPPE. На моем сервере нет файлов в /etc/ppp/ . На клиенте у меня есть файлы в /etc/ppp/ , но все, что связано с MPPE, похоже, закомментировано в /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 (даже с тройными фигурными скобками и без них, которые я не мог различить, имели ли они в виду что-либо). Инициирующие VPN-соединения получают один и тот же MPPE required but peer negotiation failed каждый раз сообщение об ошибке согласования равноправного узла

На моем клиенте я использую pppd версии 2.4.5. На сервере попытка запустить какие-либо опции с помощью pppd выдает мне сообщение

pppd: Can't open options file /etc/ppp/options: No such file or directory

поэтому я не уверен, какая версия работает на сервере.

Любые идеи для чего еще я должен пытаться?

1 ответ1

0

Ну, теперь я чувствую себя глупо. Оказывается, MPPE действительно был включен на сервере. Я не включил MPPE на моем клиенте, хотя!

Я использую Linux Mint 17 XFCE на своем клиенте, поэтому, чтобы включить MPPE, я нажал на плагин индикатора сети на панели задач и в разделе «VPN-подключения» выбрал «Настроить VPN ...». Оттуда я выбрал VPN, который хотел настроить, и нажал «Изменить ...». Под вкладкой "VPN" я нажал кнопку «Дополнительно ...». В разделе "Безопасность и сжатие" есть флажок «Использовать двухточечное шифрование (MPPE)». После того, как я установил этот флажок и нажал "ОК" и "Сохранить", я смог без проблем подключиться к VPN.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .