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

ALL
スポンサーリンク

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アカウントで接続できます。

コメント