这应该非常简单,我想我忽略了一些明显的东西。
OpenVPN 文档指出,您可以在 Unix 域套接字上运行管理接口。好的,没问题,我试过了。
openvpn --dev tun --management /dev/openvpn unix
这似乎开始工作;设备已创建,并且 OpenVPN 已启动。
但是如何连接到管理接口呢?它不是 TCP,所以 Netcat 不起作用。我尝试将命令直接回显到套接字,但出现错误:
$ echo "help"| /dev/openvpn
bash: /dev/openvpn: No such device or address
我知道我遗漏了一些基本的东西,但我在互联网上找不到任何人实际连接到 Unix 域套接字上的管理接口的示例。
答案1
我自己回答了,发帖一分钟后。
简短回答,“使用 socat”
长答案:
$ apt-get install socat
$ socat - UNIX-CONNECT:/dev/openvpn
>INFO:OpenVPN Management Interface Version 1 -- type 'help' for more info
编辑:我最终实际做了什么
当 telnet/netcat 通过 TCP 运行良好时,我不喜欢安装新工具的想法。所以最后我为 OpenVPN 配置了一个 TCP 管理侦听器,并阻止(通过防火墙和 hosts.allow)对其侦听端口的外部访问。即只能连接到本地主机上的 OpenVPN 管理端口。