VPN(L2TP/IPsec)サーバで、Linuxアカウントで認証する方法です。
ネット上の情報通りにVPNサーバの設定をしてもできなかったのですが、やっとできました。
サーバだけでなく、VPNクライアントのWindowsで、VPN接続のプロパティで [暗号化されていないパスワード(PAP)] を指定する必要があります。
なお、PAP は認証は平文での通信ですが、VPN(L2TP/IPsec) での通信時は暗号化された IPsec上で行うので、問題ありません。
VPN(L2TP/IPsec)サーバの設定
VPN接続時の認証方式で PAP と CHAP がありますが、PAP だと認証に PAM を使用できます。
PAM を使えるということは、VPNサーバ上の Linuxアカウントで認証できるということです。
そこで、VPNサーバの設定で、CHAP では無く、PAP で通信するようにします。
まず、下記の記事の通りに、VPN(L2TP/IPsec)サーバの設定を行います。
VPN(L2TP/IPsec)サーバの設定 パソコン鳥のブログ
この設定を元に下記の設定を行います。
/etc/xl2tpd/xl2tpd.conf
;refuse pap = yes ;コメントアウトします
;require chap = yes ;コメントアウトします
/etc/ppp/options.xl2tpd
#require-mschap-v2 # コメントアウトします
login # 追加します
/etc/pam.d/ppp
内容を下記に変更します。
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so
/etc/ppp/pap-secrets
内容を下記にします。
/etc/ppp/chap-secrets
内容を空にします
設定を反映させます。
CentOS7 の場合
systemctl restart xl2tpd
CentOS6 の場合
/etc/init.d/xl2tpd restart
これで、サーバでの設定は完了です。
クライアントの設定
Windowsでは、VPN接続のプロパティで設定が必要です。
Androidスマホでは、下記記事での設定のままでOKです。
VPN(L2TP/IPsec)クライアントの設定(Windows/Androidスマホ) パソコン鳥のブログ
Windows10 の場合
下記の Windows10の場合 の設定をしておきます。
ただし、接続はまだしないでください。
VPN(L2TP/IPsec)クライアントの設定(Windows/Androidスマホ) パソコン鳥のブログ
続けて、次の作業をします。
[スタート] ボタンを選択し、歯車アイコン([設定]) 、[ネットワークとインターネット] 、画面左で[状態] の順に選択します。
[アダプターのオプションを変更する] を選択すると、ネットワーク一覧がでるので、VPNのものを選択し、右クリックしてプロパティを選択します。
現れたダイアログで、”セキュリティ”タブを選択した際の画面で、[暗号化されていないパスワード(PAP)] にチェックを入れて「OK」を押します。
Windows7の場合
次の記事の Windows7の場合 に従って作業します。
VPN(L2TP/IPsec)クライアントの設定(Windows/Androidスマホ) パソコン鳥のブログ
ただし、次の2個所は、本記事の通りにします。
ユーザ名、パスワードは、VPNサーバ上のアカウントを指定します。
また、「VPN 接続のプロパティ」ダイアログで、”セキュリティ”タブを選択した際の画面で、[暗号化されていないパスワード(PAP)] にチェックを入れます。
これで、VPN(L2TP/IPsec)接続で、Linuxアカウントで接続できます。
参考
Linux – VPNのL2TP/IPsecで接続しているユーザー名を得る方法を教えてください(48555)|teratail
IPSEC L2TP VPN on CentOS 6 / Red Hat Enterprise Linux 6 / Scientific Linux 6 – Raymii.org
コメント