VPN(L2TP/IPsec)サーバで、Linuxアカウントで認証する

ALL
スポンサーリンク

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

unix authentication = yes   ;追加します
;refuse pap = yes      ;コメントアウトします
;require chap = yes    ;コメントアウトします

/etc/ppp/options.xl2tpd

#refuse-pap          # コメントアウトします
#require-mschap-v2   # コメントアウトします
login                # 追加します

/etc/pam.d/ppp
内容を下記に変更します。

auth    required        pam_nologin.so
auth    required        pam_unix.so
account required        pam_unix.so
session required        pam_unix.so

/etc/ppp/pap-secrets
内容を下記にします。

*       xl2tpd           “”              *

/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

コメント