使用systemd启动vpnc会导致“未知主机”?

时间:2019-07-10 16:10:58

标签: vpn systemd

我正在尝试使用systemd服务文件连接到vpnc。该服务文件运行脚本myscript.sh,该脚本除其他外运行:

sudo vpnc myhost

启动设备后,其他命令已正确执行,但vpn未连接,并显示错误消息:

vpnc: unknown host `myhost.com'

但是,如果我使用手动运行服务文件

systemctl start myservice.service

然后vpn成功启动。

我的服务文件如下:

[Unit]
Description=VPN Start
Wants=network-online.target
After=network.target network-online.target

[Service]
Environment=DISPLAY=:0.0
Environment=XAUTHORITY=/home/pi/.Xauthority
Type=forking
ExecStart=/bin/bash /home/pi/myscript.sh
Restart=on-abort
User=pi
Group=pi

[Install]
WantedBy=multi-user.target

systemctl status myservice.service 

包括以下消息:

pi: TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/sbin/vpnc myhost

我已经完成了:

systemctl enable systemd-networkd-wait-online

似乎没有帮助。

1 个答案:

答案 0 :(得分:1)

可能要晚了,但是也许其他人偶然发现了这一点。

尽管我通过GUI配置了VPN,但我遇到了同样的问题。

我最终发现,我的/etc/resolv.conf是一个配置文件的符号链接,一些我有时使用的第三方VPN软件已安装。尽管该文件中的条目看起来不错,但只能工作,但是当我删除/etc/resolv.conf符号链接并创建一个新的普通文件时。

TL; DR:

  1. 备份/etc/resolv.conf
  2. 删除符号链接
  3. 创建新的/etc/resolv.conf并使用您的首选配置填充它

那之后,我的VPN就像一个魅力。