普段は、FreeWi-Fiの利用を控えていましたが、海外出張に行く予定があり、スマホにVPNを導入することを検討していました。
色々なVPNの情報を見ているうちに、VPSを借りているんだから自分でVPNサーバを作った方が安全かも…
と思い、構築した際の備忘録です。
大きく3つに分けて記事を書きます。
1 サーバ編(今回の記事)
2 SoftEther VPN Server初期設定(GUI)編
3 クライアント編
今回構成するVPNネットワーク図
1 SoftEther VPN Serverのダウンロード
SoftEther ダウンロード センターにアクセスし、環境に合わせて各項目を選択し、表示されたファイルを右クリックメニューから「リンクのアドレスをコピー」を選択、またはダウンロードしてWinSCPなどでサーバに転送します。
今回は、サーバ上でファイルをダウンロードします。
1 2 3 4 5 | # wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.32-9731-beta/softether-vpnserver-v4.32-9731-beta-2020.01.01-linux-x64-64bit.tar.gz # tar zxvf softether-vpnserver-v4.32-9731-beta-2020.01.01-linux-x64-64bit.tar.gz # cd vpnserver/ |
1行目:ダウンロード
3行目:ファイルの展開
5行目:展開ディレクトリへ移動
2 SoftEther VPN Serverのインストール
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | # make -------------------------------------------------------------------- SoftEther VPN Server (Ver 4.32, Build 9731, Intel x64 / AMD64) for Linux Install Utility Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved. -------------------------------------------------------------------- Do you want to read the License Agreement for this software ? 1. Yes 2. No Please choose one of above number: 1 ~ 中略 ~ DISCLAIMER ========== ~ 中略 ~ Did you read and understand the License Agreement ? (If you couldn't read above text, Please read 'ReadMeFirst_License.txt' file with any text editor.) 1. Yes 2. No Please choose one of above number: 1 Did you agree the License Agreement ? 1. Agree 2. Do Not Agree Please choose one of above number: 1 make[1]: ディレクトリ `/root/vpnserver' に入ります Preparing SoftEther VPN Server... ~ 中略 ~ |
1行目:実行可能ファイル生成コマンド
10行目:ライセンス契約を読みますか?
16行目:1を入力
26行目:ライセンス契約を理解しましたか?
34行目:1を入力
37行目:ライセンス契約に同意しますか?
43行目:1を入力
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | ~ 続き ~ VPN Tools を起動しました。HELP と入力すると、使用できるコマンド一覧が表示できます。 VPN Tools>Check Check コマンド - SoftEther VPN の動作が可能かどうかチェックする --------------------------------------------------- SoftEther VPN 動作環境チェックツール Copyright (c) SoftEther VPN Project. All Rights Reserved. この動作環境チェックツールを実行したシステムがテストに合格した場合は、SoftEther VPN ソフトウェアが動作する可能 性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください... 'カーネル系' のチェック中... [合格] ○ 'メモリ操作系' のチェック中... [合格] ○ 'ANSI / Unicode 文字列処理系' のチェック中... [合格] ○ 'ファイルシステム' のチェック中... [合格] ○ 'スレッド処理システム' のチェック中... [合格] ○ 'ネットワークシステム' のチェック中... Connect Failed. (6) [不合格] × 一部のチェック結果は不合格でした。システムの動作環境を確認してください。このシステム上で SoftEther VPN Server / Bridge を実行した場合、問題が発生する可能性があります。 コマンドは正常に終了しました。 -------------------------------------------------------------------- The preparation of SoftEther VPN Server is completed ! ~ 中略 ~ make[1]: ディレクトリ `/root/vpnserver' から出ます |
5行目:VPN Toolsが起動するので、「Check」コマンドで動作環境の確認をします
26行目:ネットワークシステムのチェックで不合格となりました
35行目:SoftEther VPN Serverの準備ができました
※ネットワークシステムの不合格は、Apacheでポート443を使用しているため
後ほどの設定で対処するので、このまま継続します
・パーミッション変更
1 2 3 4 5 6 | # cd # mv vpnserver/ /usr/local/ # cd /usr/local/vpnserver/ # chmod 600 * # chmod 700 vpncmd # chmod 700 vpnserver |
1行目:ホームディレクトリへ移動
2行目:/usr/local/ディレクトリ配下へvpnserverディレクトリの移動
3行目:vpnserverディレクトリへ移動
4~6行目:パーミッションの変更
・vpncmdコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # ./vpncmd vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド) Version 4.32 Build 9731 (Japanese) Compiled 2020/01/01 18:16:55 by buildsan at crosswin Copyright (c) SoftEther VPN Project. All Rights Reserved. vpncmd プログラムを使って以下のことができます。 1. VPN Server または VPN Bridge の管理 2. VPN Client の管理 3. VPN Tools コマンドの使用 (証明書作成や通信速度測定) 1 - 3 を選択: 3 VPN Tools を起動しました。HELP と入力すると、使用できるコマンド一覧が表示できます。 VPN Tools>check Check コマンド - SoftEther VPN の動作が可能かどうかチェックする --------------------------------------------------- SoftEther VPN 動作環境チェックツール ~ 中略 ~ 一部のチェック結果は不合格でした。システムの動作環境を確認してください。このシステム上で SoftEther VPN Server / Bridge を 実行した場合、問題が発生する可能性があります。 コマンドは正常に終了しました。 VPN Tools>exit |
1行目:vpncmdコマンドを実行すると管理ユーティリティが起動する
14行目:3を入力
16行目~:先ほどのVPN Toolsが起動する
18行目:checkコマンド
19行目~:結果は同じなので省略
29行目:exitでVPN Toolsの終了
3 設定等
1 2 | # cd # rm -f softether-vpnserver-v4.32-9731-beta-2020.01.01-linux-x64-64bit.tar.gz |
1行目:ディレクトリの移動
2行目:ダウンローファイルの削除
・vpnserverサービス
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # vi /etc/systemd/system/vpnserver.service [Unit] Description=SoftEther VPN Server After=network.target network-online.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target # systemctl start vpnserver.service # systemctl enable vpnserver.service Created symlink from /etc/systemd/system/multi-user.target.wants/vpnserver.service to /etc/systemd/system/vpnserver.service. # systemctl status vpnserver.service ● vpnserver.service - SoftEther VPN Server Loaded: loaded (/etc/systemd/system/vpnserver.service; enabled; vendor preset: disabled) Active: active (running) since 土 2020-02-15 15:08:19 JST; 3s ago Process: 32624 ExecStart=/usr/local/vpnserver/vpnserver start (code=exited, status=0/SUCCESS) Main PID: 32628 (vpnserver) CGroup: /system.slice/vpnserver.service tq32628 /usr/local/vpnserver/vpnserver execsvc mq32629 /usr/local/vpnserver/vpnserver execsvc |
1行目:SoftEther VPN Serverサービスの起動スクリプト作成
14行目:サービスの起動
15行目:自動起動有効化
18行目:ステータスの確認
21行目:active(running)になっていれば起動している
・設定ファイル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # vi /usr/local/vpnserver/vpn_server.config declare DDnsClient { bool Disabled true } declare ListenerList { declare Listener0 { bool DisableDos false bool Enabled false uint Port 443 } declare Listener1 { bool DisableDos false bool Enabled false uint Port 992 } declare Listener2 { bool DisableDos false bool Enabled false uint Port 1194 } declare Listener3 { bool DisableDos false bool Enabled true uint Port 5555 } } |
今回は、5555ポートだけを使用するのでそれ以外を使用不可とする
12、18、24行目:true → false
・サービス再起動
1 | # systemctl restart vpnserver.service |
1行目:設定ファイルを変更したのでvpnserverのサービスを再起動
・ファイアウォール設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # firewall-cmd --zone=public --add-service=ipsec # firewall-cmd --zone=public --permanent --add-port=5555/tcp # firewall-cmd --list-all public target: default icmp-block-inversion: no interfaces: sources: services: ssh dhcpv6-client http https ipsec ports: 5555/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
1行目:L2TP/IPSEC用(500/udp、4500/udpをポートで指定しても同様)サービスで指定
2行目:VPN接続用ポート
3行目:設定確認
9、10行目:ipsec、5555/tcpが追加されている
・vpncmdコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # /usr/local/vpnserver/vpncmd vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド) Version 4.32 Build 9731 (Japanese) Compiled 2020/01/01 18:16:55 by buildsan at crosswin Copyright (c) SoftEther VPN Project. All Rights Reserved. vpncmd プログラムを使って以下のことができます。 1. VPN Server または VPN Bridge の管理 2. VPN Client の管理 3. VPN Tools コマンドの使用 (証明書作成や通信速度測定) 1 - 3 を選択: 3 VPN Tools を起動しました。HELP と入力すると、使用できるコマンド一覧が表示できます。 VPN Tools>check Check コマンド - SoftEther VPN の動作が可能かどうかチェックする --------------------------------------------------- SoftEther VPN 動作環境チェックツール Copyright (c) SoftEther VPN Project. All Rights Reserved. この動作環境チェックツールを実行したシステムがテストに合格した場合は、SoftEther VPN ソフトウェアが動作する可能性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください... 'カーネル系' のチェック中... [合格] ○ 'メモリ操作系' のチェック中... [合格] ○ 'ANSI / Unicode 文字列処理系' のチェック中... [合格] ○ 'ファイルシステム' のチェック中... [合格] ○ 'スレッド処理システム' のチェック中... [合格] ○ 'ネットワークシステム' のチェック中... [合格] ○ すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。 コマンドは正常に終了しました。 VPN Tools>exit |
1行目:SoftEther VPN コマンドライン管理ユーティリティの実行
14行目:3(VPN Tools)を入力
18行目:checkコマンドで再確認
41行目:すべてのチェックに合格
45行目:exitコマンドで終了
今回のサーバ編については以上になります。
これで、SoftEther VPN Serverへの接続までできるようになりました。
次は、Windows PCからSoftEther VPN サーバ管理マネージャを使用して初期設定をします。
VPNサーバの構築に併せて、記事を追加しました。
VPNの確認と検証
VPNの確認と検証その2
構築したVPN構成の確認と接続検証についてまとめています。