IPoE化で使えなくなったL2TPの代わりにOpenVPNクローンサーバーを立てた
By
yuzurihara
このまえ構築したSoftEther VPNサーバーに接続できなくなってしまいました。 どうやらサーバーを置いてある場所の光回線がIPoEに移行したタイミングで 接続できなくなったようです。 IPv6接続に変更したことによって使えなくなったVPNをOpenVPNで使えるようにしたお話 によると、IPoE環境とL2TP/IPSecは取り合わせがよくないことと、 OpenVPNなら問題なさそうなことがわかりました。 幸いなことにSoftEther VPNサーバーはOpenVPNの機能が実装されていますので、 これを使うことにします。 構築時と同じようにCLIだけで設定してみました。 環境 すでにSoftEther VPNサーバーがインストールされている環境で作業します。 サーバーのインストールについては以前の記事をご覧ください。 第1回: 環境編 第2回: ビルド編 第3回: 設定編 一応、現在の環境を載せておきます。 $ uname -a Linux megmin 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal 前回のサーバーと同じですが、ソフトウェアがすこしだけバージョンアップしています。 ルーターのポート開放 OpenVPN用にUDPポートを開けます。IPoE環境では1024番以上のポートにする必要があるようです。 今回は1194番にしました。 準備 SoftEther VPNサーバーは /opt/vpnserver にインストールしていましたので、 まずはそこに移動しておきます。 $ cd /opt/vpnserver SoftEther VPNサーバーのパスワード入力が面倒なので ServerPasswordSet コマンドで一時的に削除します。 $ sudo ./vpncmd localhost /server /cmd ServerPasswordSet vpncmd command - SoftEther VPN Command Line Management Utility SoftEther VPN Command Line Management Utility (vpncmd command) Version 4.34 Build 9745 (English) Compiled 2020/04/05 23:39:56 by buildsan at crosswin Copyright (c) SoftEther VPN Project. All Rights Reserved. Password: *************** Connection has been established with VPN Server "localhost" (port 443). You have administrator privileges for the entire VPN Server. VPN Server>ServerPasswordSet ServerPasswordSet command - Set VPN Server Administrator Password Please enter the password. To cancel press the Ctrl+D key. Password: Confirm input: The command completed successfully. 途中で3回プロンプトが表示されて入力を促されます。 1回目の Password: プロンプトには現在のパスワードを入力します。 2回目の Password: と Confirm input: には何も入力せずに [enter] を押すと パスワードなしになります。設定が終わったら、必ずパスワードを設定しなおしましょう。 OpenVPNクローンサーバー機能の有効化 OpenVpnEnable コマンドを使用して OpenVPNクローンサーバー機能を有効化しましょう。 $ sudo ./vpncmd localhost /server /cmd OpenVpnEnable vpncmd command - SoftEther VPN Command Line Management Utility SoftEther VPN Command Line Management Utility (vpncmd command) Version 4.34 Build 9745 (English) Compiled 2020/04/05 23:39:56 by buildsan at crosswin Copyright (c) SoftEther VPN Project. All Rights Reserved. Connection has been established with VPN Server "localhost" (port 443). You have administrator privileges for the entire VPN Server. VPN Server>OpenVpnEnable OpenVpnEnable command - Enable / Disable OpenVPN Clone Server Function Enables OpenVPN Clone Server Function (yes / no): yes UDP Ports to Listen for OpenVPN (Default: 1194 / Multiple Accepted): 1194 The command completed successfully. ここでは2回プロンプトが表示されています。 Enables OpenVPN Clone Server Function (yes / no): では OpenVPNクローンサーバー機能を使うかどうかを聞かれています。 yes を入力してください。 UDP Ports to Listen for OpenVPN (Default: 1194 / Multiple Accepted):では 使用するポート番号を入力します。 ルータに開けておいたのポート番号の 1194 を指定しています。 OpenVpnGet コマンドで設定を確認します。 $ sudo ./vpncmd localhost /server /cmd OpenVpnGet vpncmd command - SoftEther VPN Command Line Management Utility SoftEther VPN Command Line Management Utility (vpncmd command) Version 4.34 Build 9745 (English) Compiled 2020/04/05 23:39:56 by buildsan at crosswin Copyright (c) SoftEther VPN Project. All Rights Reserved. Connection has been established with VPN Server "localhost" (port 443). You have administrator privileges for the entire VPN Server. VPN Server>OpenVpnGet OpenVpnGet command - Get the Current Settings of OpenVPN Clone Server Function Item |Value ----------------------------+----- OpenVPN Clone Server Enabled|Yes UDP Port List |1194 The command completed successfully. よさそうですね。 設定ファイルの作成 次にVPNクライアントに読み込ませるための設定ファイルを生成します。 OpenVpnMakeConfig コマンドを実行しましょう。 $ sudo ./vpncmd localhost /server /cmd OpenVpnMakeConfig vpncmd command - SoftEther VPN Command Line Management Utility SoftEther VPN Command Line Management Utility (vpncmd command) Version 4.34 Build 9745 (English) Compiled 2020/04/05 23:39:56 by buildsan at crosswin Copyright (c) SoftEther VPN Project. All Rights Reserved. Connection has been established with VPN Server "localhost" (port 443). You have administrator privileges for the entire VPN Server. VPN Server>OpenVpnMakeConfig OpenVpnMakeConfig command - Generate a Sample Setting File for OpenVPN Client Output Filename of Setting Files (ZIP compressed file): vpnconfig The sample setting file was saved as "vpnconfig.zip". You can unzip this file to extract setting files. The command completed successfully. Output Filename of Setting Files (ZIP compressed file):プロンプトには 出力ファイル名を指定します。ここでは vpnconfig と入力しています。 すると vpnconfig.zip ファイルができているはずです。 このzipファイルから xxxxx_openvpn_remote_access_l3.ovpn を取り出します。 xxxxxの部分にはサーバー名が入っています。 このファイルの中に remote vpnXXXXXXXXX.v4.softether.net 1194 のような行があります。 この行の v4 を v6 に書き換えて下のようにします。 remote vpnXXXXXXXXX.v6.softether.net 1194 編集が済んだらファイルをクライアントに送っておきます。 VPNクライアント(Android)の設定 VPNクライアントに設定をしますが、VPNのアカウントを作っておきます。 作りかたは、 L2TP/IPsecサーバの構築 (3/3) 設定編 にある UserCreate と UserPasswordSet コマンドの部分を参照してください。 すでに何らかのアカウントが設定されていれば、それを使うこともできます。 次にVPNクライアントになるAndroidにアプリをインストールします。 Google Playの OpenVPN Connect – Fast & Safe SSL VPN ClientからAndroid用のクライアントをダウンロードしました。 アプリを立ち上げて、メニューから Import Profileで、先ほどの設定ファイルを読み込みます。 VPNアカウントのユーザー名とパスワードを設定すれば完了です。接続してみましょう。 あとしまつ 最後にVPNサーバーの Administrator のパスワードを設定します。 $ sudo ./vpncmd localhost /server /cmd ServerPasswordSet <> コマンドヒストリにパスワードなどが残っているので消去しておきましょう。 $ history -c $ history 1 history [おわり]
Read more