QNAPのContainer StationにSoftEther VPN Serverを入れる

2020年7月24日金曜日

QNAP

t f B! P L
QNAPのContainer Station上のUbuntuにSoftEther VPN Serverをインストールした時のメモです。QNAPは24時間稼働しているので、SoftEther VPN Serverを動作させるのに最適です。

インストール環境

インストールを行ったQNAPの環境は次の通りです。
  • 機器名: QNAP TS-231P バージョン 4.3.6.0895
  • Container Station: バージョン 2.0.356
  • Ubuntu(LXC): バージョン 14.04.5 LTS
  • Ubuntuのネットワークモードは、NATに設定しています。 また、22,80,443のポートをそれぞれ1080,2080,3443にポートフォワードしています。

インストール手順

SoftEther VPN Serverのインストールで必要な手順は、大きく次の3つです。
  1. UbuntuへのSoftEther VPN Serverのインストール
  2. SoftEther VPN Serverの設定
  3. SoftEther Clientからの接続確認

UbuntuへのSoftEther Serverのインストール

まず、公式サイトからソースコードをダウンロードします。
「SoftEther VPN(Freeware)」「SoftEther VPN Server」「Linux」「ARM EABI(32bit)」を選択すると、ダウンロード可能なファイルが表示されます。今回は、SoftEther VPN Server (Ver 4.34, Build 9745, rtm)をダウンロードしました。
次にダウンロードしたデータを、scp等でQNAPのUbuntuに転送します。QNAPはローカルIPアドレス192.168.10.200が割り当てられています。

$scp -P 1080 
./softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-arm_eabi-32bit.tar.gz 
namihei@192.168.10.200:/home/namihei/
次にsshでQNAPのUbuntuにログインします。

$ssh namihei@192.168.10.200 -p 1080
公式サイトの説明に従ってソースコードをコンパイルします。基本的に、ソースコードを展開してmakeするだけです。make実行の前に、コンパイルを行うためのライブラリのインストールが必要になります。

$sudo apt install make
$sudo apt install build-essential
$tar xvzf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-arm_eabi-32bit.tar.gz
$cd vpnserver
$make
:
:
Checking 'Thread processing system'...
              Pass
Checking 'Network system'...
              Pass
All checks passed. 
It is most likely that SoftEther VPN Server / Bridge
can operate normally on this system.

The command completed successfully.
makeが成功したら、vpnserverディレクトリを/usr/local/vpnserverに移動して、パーミッションを変更します。重要な実行ファイルはvpncmdとvpnserverです。

$sudo mv vpnserver /usr/local/
$cd /usr/local
$sudo chown -R root:root vpnserver
$cd /usr/local/vpnserver
$sudo chmod 655 *
$sudo chmod 755 vpncmd
$sudo chmod 755 vpnserver
vpnserverの起動用スクリプトを作成してサービスに登録します。 まず、公式サイトのスクリプトをそのまま/etc/init.d/vpnserverに格納してパーミッションを755に設定します。

(/etc/init.d/vpnserverの内容)
#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0


$sudo chmod 755 /etc/init.d/vpnserver

次に、sysv-rc-confでvpnserverをサービスに登録します。

$sudo apt install sysv-rc-conf
$sudo /usr/sbin/sysv-rc-conf vpnserver on
/var/lock/subsysディレクトリを作成してから、サービスを起動します。

$sudo mkdir /var/lock/subsys
$sudo service vpnserver start
/var/lock/subsysディレクトリを作成しないと、サービス起動/終了時に次のようなエラーが表示されます。

touch: cannot touch ‘/var/lock/subsys/vpnserver’: No such file or directory

SoftEther Serverの設定

公式サイトからSoftEther VPN Server Managerをダウンロードしてインストールします。Windowsの場合、Server Managerを起動すると次のような画面が表示されます。「新しい接続設定」をクリックして、QNAPのVNC Serverを登録します。
最低限、次の設定を行います。
1.新しい接続設定を作成する。
今回の設定では、ホスト名はQNAPのIPアドレス、ポート番号はポートフォワード3443を指定しています。

1.仮想HUBを作成する。
今回はQN-VPNという名前で作成しています。
2.仮想HUBのセキュリティデータベースの管理アカウントを作成する。
3.仮想HUBのローカルブリッジを作成する。
4.ダイナミックDNS機能を設定する。
ホスト名を設定します。
5.VPN Azureを設定する。
ホスト名を設定します。

SoftEther Clientからの接続確認

公式サイトからSoftEther VPN Clientをダウンロードしてインストールします。Windowsの場合、Server Managerを起動すると次のような画面が表示されます。
新しい接続設定の作成をクリックします。
ホスト名に、VPN Azureで設定した名前を入れます。また、仮想HUB名やユーザー認証の情報を設定します。
作成した接続設定をVPNクライアントマネージャ上でダブルクリックすると、VPN Serverとの接続が開始されます。

このブログを検索

QooQ