如何使用“服务”重新启动特定的 OpenVPN 服务

如何使用“服务”重新启动特定的 OpenVPN 服务

我在一台机器上运行了两个不同的 OpenVPN 服务器,我想重启其中一个(另一个保持不变)。我知道我可以使用 重启所有 OpenVPN 服务service openvpn restart,但这样会重启所有 OpenVPN 服务。

有没有办法使用service命令重新启动特定的 OpenVPN 服务器?

答案1

由于/etc/init.d/openvpn脚本(由执行的脚本/usr/sbin/service)没有提供任何选项来执行此操作(至少对于 ubuntu-10.04 来说),所以答案是否定的。

但由于都是脚本,您只需编辑 /etc/init.d/openvpn 并添加类似

named-restart)
  log_action_begin_msg "Restarting $DESC $2"
  PIDFILE="/var/run/openvpn.${2}.pid"
  NAME=$2
  log_daemon_msg "  Stopping VPN '$NAME'"
  stop_vpn
  sleep 1
  log_daemon_msg "  Restarting VPN '$NAME'"
  start_vpn
  if test -z "$PIDFILE" ; then
    log_warning_msg "  VPN $2 is not running."
  fi
  ;;

之后

case "$1" in

指令。稍后,您可以简单地调用service openvpn named-restart <vpn-name>

答案2

cmd“service openvpn restart”不做任何区分,它重新启动服务。我认为解决方案可能是重新加载服务。它不会停止服务,而是重新加载配置文件。所以它可能会奏效。

否则,我认为您无法重新启动其中一个 vpn,而无需使用服务 cmd 重新启动另一个。

相关内容