OSX PPTP VPN 서버의 MPPE 문제

OSX PPTP VPN 서버의 MPPE 문제

Mac OSX 서버에서 VPN을 다시 실행하려고 하는데 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.plistMPPE와 관련된 다음 줄이 있는 것으로 보입니다.

<?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

글쎄, 이제 나는 바보 같은 느낌이 든다. MPPE가 실제로 서버에서 활성화된 것으로 나타났습니다. 하지만 내 클라이언트에서는 MPPE를 활성화하지 않았습니다!

저는 클라이언트에서 Linux Mint 17 XFCE를 실행하고 있으므로 MPPE를 활성화하기 위해 시스템 트레이에 있는 네트워크 표시기 플러그인을 클릭하고 "VPN 연결"에서 "VPN 구성..."을 선택했습니다. 거기에서 구성하려는 VPN을 선택하고 "편집..."을 클릭했습니다. "VPN" 탭에서 "고급..." 버튼을 클릭했습니다. "보안 및 압축" 아래에는 "지점 간 암호화(MPPE) 사용" 확인란이 있습니다. 해당 상자를 선택하고 "확인"과 "저장"을 클릭하면 문제 없이 VPN에 연결할 수 있었습니다.

관련 정보