我fwknop-server
在新安装的 Ubuntu 16.04 上安装了软件包并尝试启动其守护进程。该软件包不提供systemd
单元文件,而是使用旧的 init 脚本,报告如下active(exited)
:
$ service fwknop-server status
● fwknop-server.service - LSB: start and stop fwknopd
Loaded: loaded (/etc/init.d/fwknop-server; bad; vendor preset: enabled)
Active: active (exited) since Sat 2016-10-01 18:24:16 CEST; 3s ago
Docs: man:systemd-sysv-generator(8)
Process: 32581 ExecStop=/etc/init.d/fwknop-server stop (code=exited, status=0/SUCCESS)
Process: 32618 ExecStart=/etc/init.d/fwknop-server start (code=exited, status=0/SUCCESS)
Oct 01 18:24:16 fwknop systemd[1]: Starting LSB: start and stop fwknopd...
Oct 01 18:24:16 fwknop systemd[1]: Started LSB: start and stop fwknopd.
$ ps aux | grep fwknop
jakuje 32727 0.0 0.0 14224 928 pts/0 S+ 19:11 0:00 grep --color=auto fwknop
启动或停止不会改变状态,也不会启动fwknopd
。这是关于“遗留” init.d 服务的更一般的问题,但我接受适合 本身的合理答案fwknop
,除了手动启动fwknop
。
编辑:
虚拟机的网络接口与 预期的默认网络接口不同fwknop
。可以通过修改以下代码来修复此/etc/fwknop/fwknop.config
问题
PCAP_INTF ens3;
但服务仍然没有启动。
答案1
总结:
START_DAEMON="yes"
文件中的变更/etc/default/fwknop-server
。
解释
该软件包不提供 systemd 单元文件 […]
Debian 和 Ubuntu 没有。但是,该软件的作者却有:
这可以改进:
[单元] 文档=http://askubuntu.com/a/832231/43344 描述=防火墙敲击操作员守护进程 之后=网络在线.目标 [服务] 运行时目录=fwknop 运行时目录模式=0700 ExecStart=/usr/sbin/fwknopd --foreground ExecReload=/bin/kill -HUP $MAINPID [安装] WantedBy=多用户.目标
Lennart Poettering 在 2011 年写道:
许多配置设置/etc/sysconfig
允许禁用服务。这样,它们基本上成为 init 系统已提供的第二级启用/禁用:当使用systemctl enable
或启用服务时chkconfig on
,这些设置将覆盖此设置,并关闭守护进程,即使 init 系统已配置为启动它。这当然会让用户/管理员感到非常困惑,并且几乎没有带来任何好处。
这正是rc
您的包中的 van Smoorenbug 脚本所做的事情:
START_DAEMON="否" DAEMON_ARGS="" [ -r /etc/default/fwknop 服务器 ] && . /etc/default/fwknop 服务器 # 如果守护进程不能启动则退出 [ "$START_DAEMON" = "是" ] || 退出 0