我已经在 Ubuntu22 上使用这些命令安装了 ocserv 包:
mkdir /usr/local/src/ocserv
cd /usr/local/src/ocserv
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.10.9.tar.xz
unxz ocserv-0.10.9.tar.xz
tar xvf ocserv-0.10.9.tar
cd ocserv-0.10.9
./configure --sysconfdir=/etc/ && make && make install
ocserv 包已安装,并且可以使用以下命令运行:
ocserv -c /etc/ocserv/ocserv.conf
我需要它作为服务运行。你能帮我吗?
- 由于一些考虑,我无法使用 Linux 存储库来安装此包。
答案1
首先为该服务创建一个 systemd 单元:
systemctl edit --force --full ocserv.service
内容如下:
[Unit]
Description=OCServ service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=on-failure
RestartSec=1
User=root
ExecStart=/usr/local/sbin/ocserv -c /etc/ocserv/ocserv.conf
[Install]
WantedBy=multi-user.target
保存并启用新服务:
systemctl enable --now ocserv.service
您可以使用以下命令查看其状态:
systemctl status ocserv.service
答案2
systemctl status ocserv
它应该自动为您创建服务。如果您正在谈论 openconnect服务器。
然而如果你正在谈论VPN客户端,并且你希望客户端自动连接到VPN服务器启动执行以下步骤
nano /etc/systemd/system/openconnect.service
[Unit]
Description=Connect to VPN
After=network.target
[Service]
Type=simple
Environment=password=correcthorsebatterystaple
ExecStart=/bin/sh -c 'echo password | sudo openconnect -u username --passwd-on-stdin vpn.dixmata.com'
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable openconnect.service --now
答案3
感谢 Sergiu,通过对他的说明进行一些修改,我最终成功在 ubuntu 中将 ocserv 作为系统服务运行。
一开始我想编辑 Sergiu 的帖子,但后来我觉得可能不对。所以我把编辑后的说明放在这里。
首先为该服务创建一个 systemd 单元:
systemctl edit --force --full ocserv.service
内容如下:
[Unit]
Description=OCServ service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=on-failure
RestartSec=1
User=root
ExecStart=/usr/local/sbin/ocserv --foreground --pid-file /var/run/ocserv.pid --config /etc/ocserv/ocserv.conf
[Install]
WantedBy=multi-user.target
保存并启用新服务:
systemctl enable --now ocserv.service
您可以使用以下命令查看其状态:
systemctl status ocserv.service
如果服务处于非活动状态或者出现任何错误:
systemctl restart ocserv.service
并重新检查服务状态:
systemctl status ocserv.service