PPTPに接続する際に[MPPE required but peer refused]と出る対処

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

PPTP接続する際に「MPPE required but peer refused」と出て接続が弾かれる問題。UbuntuからUbuntuの接続でpptpsetupで接続しようとするとよく起きる気がします。

エラーログ

 -- 略 --
response found in cache (entry 0)
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr ***.***.***.***>]
rcvd [CCP ConfReq id=0x1 <mppe +H -M +S -L -D -C>]
sent [CCP ConfReq id=0x1]
sent [CCP ConfRej id=0x1 <mppe +H -M +S -L -D -C>]
rcvd [LCP TermReq id=0x2 "MPPE required but peer refused"]
LCP terminated by peer (MPPE required but peer refused)
 -- 略 --

pppd call [接続名] updetach debug とコマンドを打つとデバッグ情報とともにpptpに接続しようとします。
エラーは基本ここから特定していく形になると思います。
また、PPTPのサーバー側はsystemctl status pptpdとかで状況をみることができます。

MPPEとは

MicrosoftのPoint to Pointの暗号技術にことです。UbuntuからUbuntuなのでMicrosoftは関係ないと思っていましたが、デフォルトの設定でそのまま使用しようとすると有効になっている場合があります。

対処方法

/etc/ppp/peersディレクトリに接続情報がファイルに保存されています。エラーが発生する設定をvimなりなんなりで開いて以下の1行を加えてください。

require-mppe-128

これでpppd等で接続してみてください。多分接続できるはずです。
もし接続できなければ/etc/options.pptpdを開き、以下の1行をコメントアウトしてください。

refuse-mschap

このあと、systemctl restart pptpdとかしてpptpdを再起動してください。