アンセケターメンはてなエディション

いつどこで誰に見られても恥ずかしいコードが置かれています

ConoHaのVPSでSoftEther VPN その2

前回のはこっち。

anseketamen.hatenablog.com

SoftEtherのインストール

さてだいたい設定を終えたVPSSoftEtherをインストールしましょう。

公式ドキュメントがとてつもなく丁寧なのでそれに従ってやっていきます。

7.3 Linux へのインストールと初期設定 - SoftEther VPN プロジェクト - http://ja.softether.org/4-docs/1-manual/7/7.3

どうでもいいんですがDebian系は公式にはサポートしてないんですね、わりとサーバとしてはメジャーだと思うんですけど。

必要なソフトウェアの確認

yumコマンドでインストール済みパッケージを確認します。

yum list installed

公式ドキュメントいわくbinutilschkconfiggccglibcgzipncursesopensslreadlinetarzlibがあれば大丈夫らしいです。pthreadはよくわからないけど動いたからたぶん問題ない

自分の場合はgcc以外は入っていたのでgccをインストールします。

yum -y install gcc

-yはすべての確認にyと勝手に答えてくれる、まさにズボラ人間のために生まれてきたようなオプション。

SoftEtherのダウンロードとインストール

少しサーバではなくRLoginを動かしているWindows機で作業をします。

ここあたりからSoftEtherソースコードのダウンロードリンクを入手します。

SoftEther ダウンロード センター - http://www.softether-download.com/ja.aspx?product=softether

f:id:anseketamen:20191015214730p:plain

f:id:anseketamen:20191015214759p:plain

こんな感じで選択するとダウンロード可能なファイルが表示されるので、とりえあず一番上に太字でアピールされているやつのダウンロードをしたいと思います。

.tar.gzファイルへの直リンになっているので、右クリックするなりしてリンクのアドレスをコピーします。

RLoginに戻り、wget + リンクURL でダウンロードします。

wget http://jp.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

新しいバージョンが利用可能な場合はリンクが違うのでコピペダメゼッタイ。

ダウンロードされると2017-10-02 08:48:16 (32.8 MB/s) - ‘softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz’ saved [6275265/6275265]とかいう感じで報告されるので、ファイル名をコピーします。

tar + さっきコピーしたファイル名 で展開します。

 tar xzvf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

vpnserverというディレクトリができるので、そこに入ります。

cd vpnserver

makeコンパイルします。

make

途中幾度となくライセンスに同意しますかと聞かれるので、1と入力してEnterを押す作業を繰り返します。

次はvpnserverを配置します。まず1つ上のディレクトリに移ります。

cd ..

さっきダウンロードした圧縮ファイルは消しておきましょう。

rm softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

VPN Serverを移動させます。

 mv vpnserver /usr/local

ちゃんと移動できたか確認してみます。

cd /usr/local/vpnserver/
ls -l

なんやかんやずらずらと表示されたらOK。

vpnserverディレクトリ内のファイルのパーミッションを変更します。

chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver

確認します。

ls -l

1つ-rwx------があって他は-rw-------ならOK。ディレクトリはdrw-------
rwxはrootのみ読み書き実行可能(7)、rw-はrootのみ読み書き可能(6)。

SoftEtherの動作確認

./vpncmd

Select 1, 2 or 3:と聞かれるので3と入力しEnter、続けてcheckと入れてEnter。

Select 1, 2 or 3: 3
VPN Tools>check

All checks passed. It is most likely that SoftEther VPN Server / Bridge can operate normally on this system.となったら問題なし。
exitと打ってVPN Toolsから出ます。

VPN Tools>exit

デーモンプロセスへの設定

スタートアップスクリプトを作成します。

vi /etc/init.d/vpnserver

aキーを押して編集モードに入ったら以下の内容を入力します。RLoginだと右クリック→「貼り付け」で貼り付けられました。楽ちん。

#!/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

打ち終えたらEscキーを押して:wqと入力してEnter。

スクリプトパーミッションを変更します。

chmod 755 /etc/init.d/vpnserver

rootでは読み書き実行可能、グループおよびその他のユーザは読み取り・実行のみ可能。

最後に、スクリプトがOS起動時に自動的に起動するようにします。

/sbin/chkconfig --add vpnserver 

SoftEtherを起動します。

/etc/init.d/vpnserver start

ポートの設定

さてポートの設定です。XMLファイルを作成します。

vi /etc/firewalld/services/softether.xml

以下のようにXMLを打ち込みます。

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SoftEther</short>
  <description>for SoftEther VPN services</description>
  <port protocol="udp" port="500"/> <!-- L2TP over IPsec -->
  <port protocol="udp" port="4500"/> <!-- L2TP over IPsec -->
  <port protocol="tcp" port="443"/> <!-- SSL VPN / vpncmd -->
</service>

OpenVPNを使うなら<port protocol="tcp" port="1194"/>を追加。別にSSL VPNでいいじゃんって感じなので入れなかった。

打ち終えたらEscキーを押して:wqと入力してEnter。

reloadします。

firewall-cmd --reload

できたらsuccessと表示されます。
ちゃんと読み込んでくれてるか確認します。

firewall-cmd --get-services

ずらずらっと表示された中にsoftetherがあればOK。

publicに追加します。

firewall-cmd --add-service=softether --zone=public --permanent

できたらsuccessと表示されます。
ちゃんと追加されたか確認します。

firewall-cmd --reload
firewall-cmd --list-services --zone=public

これでサーバ側の設定終了。

あとはSoftEther VPN Server Manager for WindowsGUIを使ってらくらく設定。

ダウンロードリンク → http://www.softether-download.com/ja.aspx?product=softether

設定方法(公式ドキュメント) → http://ja.softether.org/4-docs/1-manual/7/7.4