SoftEtherVPNはたくさんの接続オプションを持っていて、無料のVPNサーバーソフトの中ではおそらく”最もつなげやすい”ソフトではないかなと思います。
そんなSoftEtherVPNですが、Linux版の場合はソースの状態で配布されており、各マシンにダウンロードしてからmakeでビルドする形になっています。
なのでmakeに必要なライブラリさえOS側で用意されていれば、ディストリビューションやアーキテクチャ関係なく使用することができるようになっています。
その関係か、パッケージにはデーモン化のスクリプトは含まれておらず、自力でデーモン化する必要があります。
といっても、作業自体は起動スクリプトを/etc/init.dに置いてchkconfigやsystemctlで有効化すだけです。
起動スクリプトはSoftEtherVPNの公式ドキュメントに記載されています。
#!/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
ところが、今回Ubuntu 18.04のサーバーに組み込んだ所、うまく動作せず。
いろいろ調べたところ、SystemdのUnitファイルで動作させる方法があったのでこちらを試してみました。
(※管理者権限が必要です。)
Ubuntu上でSoftEther VPN Server構築 – Qiita
[Unit] Description=SoftEther VPN Server After=network.target network-online.target [Service] ExecStart=vpnserverがインストールされているパス/vpnserver start ExecStop=vpnserverがインストールされているパス/vpnserver stop Type=forking RestartSec=3s [Install] WantedBy=multi-user.target
上記の内容でUnitファイルを作り、下記の場所に保存します。
/etc/systemd/system/vpnserver.service
保存したら次のコマンドを実行します。
systemctl daemon-reload
これで準備は完了いつも通りに起動します。
systemctl start vpnserver
これで起動したかと思います。
自動起動する場合は
systemctl enable vpnserver
も実行しておきます。
Systemdがいまいちわかりづらいのでinit.dを使っていましたが、これならsystemdネイティブでも使えそうです。
init.dスクリプトでうまく起動できない、という方はぜひ試してみてください。
 
					         
               
                       
                