无法在 Ubuntu Server 22.04 上自动启动服务(SoftEther VPN)

无法在 Ubuntu Server 22.04 上自动启动服务(SoftEther VPN)

我在 VMware Workstation VM(主机操作系统是 Windows 11 Pro)中运行 Ubuntu Server 22.04。

我发现我必须通过运行“/etc/init.d/vpnserver start”手动启动 Softether VPN。所以至少它安装正确

我尝试运行“update-rc.d vpnserver defaults”以使其在登录后自动启动,但无济于事。

我尝试过这个指南:https://www.digitalocean.com/community/questions/softether-is-not-starting-after-reboot

但是,问题是当我使用 启用服务时 sudo systemctl enable vpnserver.service,它给出了一个错误:

update-rc.d: error: vpnserver Default-Start contains no runlevels, aborting

我尝试了 3 种变化:

#1 “sudo nano /etc/init.d/vpnserver”


> #!/bin/sh
> # chkconfig: 2345 99 01
> # description: SoftEther VPN Server sleep 10 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 /etc/init.d/vpnserver start exit 0

#2(使用以下代码)“sudo nano /etc/systemd/system/vpnserver.service”

- 和 -

#3 (使用下面的代码)“nano /lib/systemd/system/vpnserver.service”

Description=SoftEther VPN Server
After=network.target


[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop


[Install]
WantedBy=multi-user.target

有什么想法吗?谢谢!

答案1

我遵循相同的指南并遇到了相同的问题,但能够通过在 init.d 中的 vpnserver 文件中添加 ### BEGIN INIT INFO 块,然后重新运行 systemctl enable 命令来使服务在启动时启动。

sudo nano /etc/init.d/vpnserver

在文件顶部,紧接着 #!/bin/sh 行,添加了 ### BEGIN INIT INFO / ### END INIT INFO 块。文件的其余部分与指南中的相同。

#!/bin/sh
### BEGIN INIT INFO
# Provides:             vpnserver
# Required-Start:
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:
# Short-Description:    SoftEtherVPNServer
### END INIT INFO

# 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

然后再次运行启用命令,

systemctl enable vpnserver.service

之后,当我重新启动服务器时,VPN 服务会自动启动。

相关内容