CentOS7 + SoftEther(インストール手順)

SoftEther VPN

<景品表示法に基づく表記> 本サイトのコンテンツには、商品プロモーションが含まれている場合があります。

SoftEtherをインストールして動かしたいけど、どうやって設定するのだろ。

この疑問に回答します。

SoftEtherは、ソースコードをコンパイル(OSが実行できる状態)する必要があります。コンパイルに慣れていなければ敷居が高く感じてしまいますが、手順に沿って対応すれば簡単に実施です。

私の利用している環境はOSが最小パッケージなので必要なものを追加しています。もしフルパッケージを利用している環境であれば何もしなくてもコンパイルが実行可能です。

SoftEther(VPN Server)のインストール

SoftEther(VPN Server) のバージョンアップ手順はこちらの記事をご確認ください。

関連記事 SoftEther VPN Server バージョンアップ手順

事前準備

CentSO7は最小パッケージでインストールを実施しています。

SoftEther(VPN Server) をCentOS7にインストールするに際に必要なソフトウェアとライブラリを確認したところ、GCCが入って入ませんでしたので追加します。

# yum -y install gcc

公式ページから環境に合ったパッケージをダウンロードします。

対象となるパッケージが複数見つかりました。最上位に表示された最新ビルトはベータ版でしたので最新の安定板(RTM)を一覧から探します。

公式ページ ダウンロードセンター

SoftEtherのコンパイル

適当なディレクトリに保存してから、パッケージファイルを展開しコンパイルします。

# tar -zxvf softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz
vpnserver/
vpnserver/Makefile
vpnserver/.install.sh
vpnserver/ReadMeFirst_License.txt
vpnserver/Authors.txt
vpnserver/ReadMeFirst_Important_Notices_ja.txt
vpnserver/ReadMeFirst_Important_Notices_en.txt
vpnserver/ReadMeFirst_Important_Notices_cn.txt
vpnserver/code/
vpnserver/code/vpnserver.a
vpnserver/code/vpncmd.a
vpnserver/lib/
vpnserver/lib/libcharset.a
vpnserver/lib/libcrypto.a
vpnserver/lib/libedit.a
vpnserver/lib/libiconv.a
vpnserver/lib/libintelaes.a
vpnserver/lib/libncurses.a
vpnserver/lib/libssl.a
vpnserver/lib/libz.a
vpnserver/lib/License.txt
vpnserver/hamcore.se2

# cd vpnserver
# make

ソースをコンパイルします。使用権許の確認を求められるので「1」を選択します。

Do you want to read the License Agreement for this software ?
 1. Yes
 2. No
Please choose one of above number:
1

再度、使用権許の確認を求められるので「1」を選択します。

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

使用権許を同意しますので「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...
ranlib lib/libcharset.a
ranlib lib/libcrypto.a
ranlib lib/libedit.a
ranlib lib/libiconv.a
ranlib lib/libintelaes.a
ranlib lib/libncurses.a
ranlib lib/libssl.a
ranlib lib/libz.a
ranlib code/vpnserver.a
gcc code/vpnserver.a -O2 -fsigned-char -pthread -m64 -lm -ldl -lrt -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a lib/libintelaes.a -o vpnserver
ranlib code/vpncmd.a
gcc code/vpncmd.a -O2 -fsigned-char -pthread -m64 -lm -ldl -lrt -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a lib/libintelaes.a -o vpncmd
./vpncmd /tool /cmd:Check
vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ
SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
Version 4.20 Build 9608   (Japanese)
Compiled 2016/04/17 21:59:35 by yagi at pc30
Copyright (c) SoftEther VPN Project. All Rights Reserved.

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 が正しく動作する可能性が高いと思われます。

コマンドは正常に終了しました。


--------------------------------------------------------------------
The preparation of SoftEther VPN Server is completed !


*** How to switch the display language of the SoftEther VPN Server Service ***
SoftEther VPN Server supports the following languages:
  - Japanese
  - English
  - Simplified Chinese

You can choose your prefered language of SoftEther VPN Server at any time.
To switch the current language, open and edit the 'lang.config' file.


*** How to start the SoftEther VPN Server Service ***

Please execute './vpnserver start' to run the SoftEther VPN Server Background Service.
And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure SoftEther VPN Server.
Of course, you can use the VPN Server Manager GUI Application for Windows on the other Windows PC in order to configure the SoftEther VPN Server remotely.
--------------------------------------------------------------------

make[1]: ディレクトリ `/root/vpnserver' から出ます

実行ファイルを移動し権限を設定します。

# cd ..
# mv vpnserver /usr/local
# cd /usr/local/vpnserver/
# chmod 600 *
# chmod 700 vpncmd
# chmod 700 vpnserver

起動スクリプトの作成

公式ホームページはsystemdに対応した起動スクリプトが記載されていませんのでご注意ください。

systemd用の起動スクリプトを作成します。ポイントは Type を「forking」にする事です。

# cd /etc/systemd/system
# vi  vpnserver.service
[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop

[Install]
WantedBy = multi-user.target

systemdがサービスを認識したか確認します。

# systemctl list-unit-files --type=service |grep vpn
vpnserver.service                           disenabled

systemdにサービスを登録し起動させます。

# systemctl enable vpnserver
# systemctl start vpnserver

OSパケット転送の有効化

カーネルのパラメーターは、デフォルトではパケット転送を拒否していますので有効化させる必要があります。

「/proc/sys/net/ipv4/ip_forward」を変更すれば直ぐに設定が反映しますが、再起動すると元に戻ってしまいます。設定ファイルを修正します。

# echo 1 >/proc/sys/net/ipv4/ip_forward
# cd /etc/
# vi sysctl.conf
net.ipv4.ip_forward = 1

Firewalldの停止

今回は他の影響を無くすため、Firewalld を停止させます。

# systemctl stop firewalld
# systemctl disable firewalld

必要であれば環境に合わせて、Firewalldを設定してください。

管理マネージャーとSoftEther Server の通信はHTTPS(443/TCP)を利用します。

 

次は「管理マネージャー」 の記事を参照してください。

関連記事

Windows + SoftEther(管理マネージャ)
SoftEther(VPN Server Manager)のダウンロード 公式ページから環境に合ったパッケージをダウンロードします。 対象となるパッケージが複数見つかりました。最上位に表示された最新ビルトはベータ版でしたので最新の安定板(R...

 

以上、「CentOS7 + SoftEther(インストール手順)」という記事でした。