keima's caprice diary

気付いたことをメモのように綴ります。なるべく義務っぽくならないように気まぐれに記録します。

SoftEther VPNでお手軽VPNサーバ構築

OSはCentOS6.7

SoftethrtVpnのダウンロードサイト
http://www.softether-download.com/ja.aspx?product=softether

 

0. 必要なツールをインスコ

 

yum -y groupinstall "Development Tools"
yum -y install readline-devel ncurses-devel openssl-devel

 

1. ダウンロード・解凍・ビルド
# wget http://jp.softether-download.com/files/softether/v4.06-9437-beta-2014.04.09-tree/Linux/SoftEther%20VPN%20Server/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnserver-v4.06-9437-beta-2014.04.09-linux-x64-64bit.tar.gz
# tar zxf softether-vpnserver-v4.06-9437-beta-2014.04.09-linux-x64-64bit.tar.gz
# cd vpnserver
# make

2. 起動用スクリプト(vpnserver)準備

---
#!/bin/sh
#
# vpnserver This shell script takes care of starting and stopping
# SoftEther VPN server.
#
# chkconfig: - 99 1
# description: SoftEther VPN server.
#

### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Short-Description: start and stop SoftEther VPN server.
# Description: SoftEther VPN server.
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

exec="/usr/vpnserver/vpnserver"
prog="vpnserver"
#config="<path to major config file>"

#[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

pidfile=/usr/vpnserver/.pid_3E649A678269D4A01B73BF9E3388D075
lockfile=/var/lock/subsys/$prog

start() {
[ -x $exec ] || exit 5
# [ -f $config ] || exit 6
echo -n $"Starting $prog: "
$exec start
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
/usr/bin/timeout 60 $exec stop || /usr/bin/killall -q -9 $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
stop
start
}

reload() {
restart
}

force_reload() {
restart
}

rh_status() {
status -p $pidfile $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}


case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?
---
スクリプト内にある
DAEMON=/usr/bin/vpnserver
exec="/usr/vpnserver/vpnserver"
を自分の環境に合わせて変更

3. 起動
# /etc/init.d/vpnserver start

4. SoftEther VPN Serverの設定
WindowsGUI管理ツール(Server Manager for Windows)で詳細設定を実施(が簡単だった)

※詳細設定は気が向いたら。。。