当我在服务器上启动 openvpn 时:
sudo openvpn /etc/openvpn/server.conf
它可以运行并且我可以将我的客户端连接到它。
当我用以下命令启动它:
sudo /etc/init.d/openvpn start
正如我所见,它似乎有效:
* Starting virtual private network daemon(s)...
* Autostarting VPN 'openvpn': missing /etc/openvpn/openvpn.conf file !
但我无法将客户端连接到它。
检查端口显示它在后一种情况下为“关闭”(意思是没有任何东西在那里监听……它没有被防火墙关闭),而在前一种情况下为“打开”。
那么断开连接在哪里? init.d 是否没有按我想象的那样启动?它是否没有加载正确的 conf 文件(但为什么我直接启动服务器时不需要加载 openvpn.conf)?我是否在某个地方遗漏了参数?
编辑:解决方案背后的原因
按照 JeffG 的建议检查 init.d 脚本,结果显示它从以下位置获取了 conf 文件的 $NAME:
NAME=${NAME%%.pid}
然后寻找:
$CONFIG_DIR/$NAME.conf
这使得:NAME=openvpn
然后脚本开始寻找openvpn.conf
不存在的文件,因为我命名了该文件server.conf
(这是 openvpn 网站上的说明中提到的文件命名方式)。只需将该文件复制到 init.d 脚本中并命名为所需的名称(Hyppy 的解决方案)即可解决问题。
答案1
尝试这个:
sudo cp /etc/openvpn/server.conf /etc/openvpn/openvpn.conf
答案2
我对 Raspberi Pi 还很陌生,安装 OpenVPN 后也遇到了同样的问题。当我使用以下 CLI 启动它时,它可以正常工作:
openvpn --config /etc/openvpn/openvpn.conf
但每当我通过“/etct/init.d/openvpn start”或“service openvpn start”启动它时,它似乎都没有读取我的配置文件。启动脚本的这一部分给了我一个提示...
# autostart VPNs
if test -z "$2" ; then
# check if automatic startup is disabled by AUTOSTART=none
if test "x$AUTOSTART" = "xnone" -o -z "$AUTOSTART" ; then
log_warning_msg " Autostart disabled."
exit 0
所以我在 Google 上搜索了如何在 Raspbian 上自动启动守护进程。在我启用 openvpn 自动启动后,它就起作用了。
更新 rc.d openvpn 启用
服务 openvpn 启动
我希望这有帮助 :)
答案3
检查你的 init.d 脚本。确保它用于/etc/openvpn/server.conf
配置