UbuntuのVPN(L2TP/IPsec)サーバで、Linuxアカウントで認証する方法です。
VPN(L2TP/IPsec)サーバの設定
VPN接続時の認証方式で PAP と CHAP がありますが、PAP を使用するようにします。
PAP では認証に PAM を使用でき、この PAM で VPNサーバ上の Linuxアカウントで認証できます。
なお、PAP は認証は平文での通信ですが、この通信は暗号化された IPsec上で行うので、問題ありません。
まず、下記の記事の通りに、VPN(L2TP/IPsec)サーバの設定を行います。
UbuntuでのVPN(L2TP/IPsec)サーバの設定: パソコン鳥のブログ
この設定を元に下記の設定を行います。
/etc/xl2tpd/xl2tpd.conf
unix authentication = yes ;追加します
/etc/ppp/options.l2tpd
#refuse-pap # コメントアウトします #require-mschap-v2 # コメントアウトします login # 追加します
/etc/ppp/pap-secrets
* xl2tpd "" * #末尾に追記します。
なお、この設定ではサーバー上の全アカウントが対象となります。
特定ユーザーのみ接続を許可する場合は、上記の代わりに、接続させるユーザーを以下のように記述してください。
複数ユーザーの場合は、1行1ユーザーで同様に列挙します。
user001 xl2tpd "" *
/etc/ppp/chap-secrets
内容を空にします
関連サービスを再起動します。
systemctl restart strongswan systemctl restart xl2tpd
これでサーバー側の設定は完了です。
クライアントの設定
接続方法は次の記事を参照してください。
VPN(L2TP/IPsec)クライアントの設定(Windows/Androidスマホ): パソコン鳥のブログ
なお、上記記事中の 事前共有鍵は、本記事中の次のファイルで設定したものを指定して下さい。
事前共有鍵:/etc/ipsec.secrets
ユーザー名、パスワードは、サーバー上のアカウントとそのパスワードを指定してください。
また、Windows10では続けて次の設定をします。
[スタート] ボタンを選択し、歯車アイコン([設定]) 、[ネットワークとインターネット] 、画面左で[状態] の順に選択します。
[アダプターのオプションを変更する] を選択すると、ネットワーク一覧がでるので、VPNのものを選択し、右クリックしてプロパティを選択します。
現れたダイアログで、”セキュリティ”タブを選択した際の画面で、[暗号化されていないパスワード(PAP)] にチェックを入れて「OK」を押します。
これで、VPN(L2TP/IPsec)接続で、Linuxアカウントで接続できます。
コメント