Last active
January 16, 2020 17:41
-
-
Save ww24/433546fe19b51d59b984 to your computer and use it in GitHub Desktop.
SoftEther VPN 4 init.d script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: vpnclient | |
# Required-Start: $remote_fs $local_fs $network $syslog | |
# Required-Stop: $remote_fs $local_fs $network $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: SoftEther VPN Client | |
# Description: SoftEther VPN Client | |
### END INIT INFO | |
# PATH should only include /usr/* if it runs after the mountnfs.sh script | |
PATH=/sbin:/usr/sbin:/bin:/usr/bin | |
DESC="SoftEther VPN Client" | |
NAME=vpnclient | |
DAEMON=/usr/local/bin/$NAME | |
SCRIPTNAME=/etc/init.d/$NAME | |
# Exit if the package is not installed | |
[ -x "$DAEMON" ] || exit 0 | |
# Read configuration variable file if it is present | |
[ -r /etc/default/$NAME ] && . /etc/default/$NAME | |
# Load the VERBOSE setting and other rcS variables | |
. /lib/init/vars.sh | |
# Define LSB log_* functions. | |
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present | |
# and status_of_proc is working. | |
. /lib/lsb/init-functions | |
# | |
# Function that starts the daemon/service | |
# | |
do_start() | |
{ | |
# Return | |
# 0 if daemon has been started | |
# 1 if daemon was already running | |
# 2 if daemon could not be started | |
lsof $DAEMON | grep $DAEMON > /dev/null && return 1 | |
$DAEMON start || return 2 | |
# setup tap device IP address for local bridge | |
#sleep 3 | |
#ifconfig tap_vpn 192.168.30.230 netmask 255.255.255.0 | |
} | |
# | |
# Function that stops the daemon/service | |
# | |
do_stop() | |
{ | |
# Return | |
# 0 if daemon has been stopped | |
# 1 if daemon was already stopped | |
# 2 if daemon could not be stopped | |
# other if a failure occurred | |
lsof $DAEMON | grep $DAEMON > /dev/null || return 1 | |
$DAEMON stop || return 2 | |
} | |
case "$1" in | |
start) | |
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" | |
do_start | |
case "$?" in | |
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; | |
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; | |
esac | |
;; | |
stop) | |
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" | |
do_stop | |
case "$?" in | |
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; | |
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; | |
esac | |
;; | |
status) | |
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? | |
;; | |
restart|force-reload) | |
# | |
# If the "reload" option is implemented then remove the | |
# 'force-reload' alias | |
# | |
log_daemon_msg "Restarting $DESC" "$NAME" | |
do_stop | |
case "$?" in | |
0|1) | |
do_start | |
case "$?" in | |
0) log_end_msg 0 ;; | |
1) log_end_msg 1 ;; # Old process is still running | |
*) log_end_msg 1 ;; # Failed to start | |
esac | |
;; | |
*) | |
# Failed to stop | |
log_end_msg 1 | |
;; | |
esac | |
;; | |
*) | |
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 | |
exit 3 | |
;; | |
esac | |
: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Unit] | |
Description=SoftEther VPN Client | |
After=network.target network-online.target | |
[Service] | |
Type=simple | |
ExecStart=/usr/local/vpnclient/vpnclient execsvc | |
ExecStartPost=/bin/sleep 3 | |
ExecStartPost=/sbin/ip addr add 172.24.24.240/24 dev vpn_cocoa | |
ExecReload=/bin/kill -HUP $MAINPID | |
KillMode=control-group | |
Restart=on-failure | |
[Install] | |
WantedBy=multi-user.target | |
Alias=vpnclient.service |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: vpnserver | |
# Required-Start: $remote_fs $local_fs $network $syslog | |
# Required-Stop: $remote_fs $local_fs $network $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: SoftEther VPN Server | |
# Description: SoftEther VPN Server | |
### END INIT INFO | |
# PATH should only include /usr/* if it runs after the mountnfs.sh script | |
PATH=/sbin:/usr/sbin:/bin:/usr/bin | |
DESC="SoftEther VPN Server" | |
NAME=vpnserver | |
DAEMON=/usr/local/bin/$NAME | |
SCRIPTNAME=/etc/init.d/$NAME | |
# Exit if the package is not installed | |
[ -x "$DAEMON" ] || exit 0 | |
# Read configuration variable file if it is present | |
[ -r /etc/default/$NAME ] && . /etc/default/$NAME | |
# Load the VERBOSE setting and other rcS variables | |
. /lib/init/vars.sh | |
# Define LSB log_* functions. | |
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present | |
# and status_of_proc is working. | |
. /lib/lsb/init-functions | |
# | |
# Function that starts the daemon/service | |
# | |
do_start() | |
{ | |
# Return | |
# 0 if daemon has been started | |
# 1 if daemon was already running | |
# 2 if daemon could not be started | |
lsof $DAEMON | grep $DAEMON > /dev/null && return 1 | |
$DAEMON start || return 2 | |
# setup tap device IP address for local bridge | |
#sleep 3 | |
#ifconfig tap_vpn 192.168.30.254 netmask 255.255.255.0 | |
} | |
# | |
# Function that stops the daemon/service | |
# | |
do_stop() | |
{ | |
# Return | |
# 0 if daemon has been stopped | |
# 1 if daemon was already stopped | |
# 2 if daemon could not be stopped | |
# other if a failure occurred | |
lsof $DAEMON | grep $DAEMON > /dev/null || return 1 | |
$DAEMON stop || return 2 | |
} | |
case "$1" in | |
start) | |
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" | |
do_start | |
case "$?" in | |
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; | |
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; | |
esac | |
;; | |
stop) | |
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" | |
do_stop | |
case "$?" in | |
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; | |
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; | |
esac | |
;; | |
status) | |
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? | |
;; | |
restart|force-reload) | |
# | |
# If the "reload" option is implemented then remove the | |
# 'force-reload' alias | |
# | |
log_daemon_msg "Restarting $DESC" "$NAME" | |
do_stop | |
case "$?" in | |
0|1) | |
do_start | |
case "$?" in | |
0) log_end_msg 0 ;; | |
1) log_end_msg 1 ;; # Old process is still running | |
*) log_end_msg 1 ;; # Failed to start | |
esac | |
;; | |
*) | |
# Failed to stop | |
log_end_msg 1 | |
;; | |
esac | |
;; | |
*) | |
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 | |
exit 3 | |
;; | |
esac | |
: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Unit] | |
Description=SoftEther VPN Server | |
After=network.target network-online.target | |
[Service] | |
Type=simple | |
ExecStart=/usr/local/vpnserver/vpnserver execsvc | |
ExecStartPost=/bin/sleep 3 | |
ExecStartPost=/sbin/ip addr add 172.24.24.254/24 dev tap_vpn | |
ExecReload=/bin/kill -HUP $MAINPID | |
KillMode=control-group | |
Restart=on-failure | |
[Install] | |
WantedBy=multi-user.target | |
Alias=vpnserver.service |
Ubuntu >= 15.04
VPN Client
curl -L http://git.io/vE8dg | sudo tee /lib/systemd/system/vpnclient.service > /dev/null
sudo ln -s /lib/systemd/system/vpnclient.service /etc/systemd/system
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Ubuntu <= 14.10
VPN Client
VPN Server
ローカルブリッジ接続で tap デバイスを用いる場合は、次の行のコメントアウトを外し適切なデバイス名とアドレスに修正する。