这应该是非常容易的,我想我错过了一些明显的东西。
OpenVPN文档声明你可以在Unix域套接字上运行pipe理接口。 好的,没问题,我试过了。
openvpn --dev tun --management /dev/openvpn unix
这似乎工作; 设备被创build,OpenVPN启动。
如何连接到pipe理界面? 这不是TCP,所以Netcat将无法工作。 我试图直接向套接字回显命令,并得到一个错误:
$ echo "help"| /dev/openvpn bash: /dev/openvpn: No such device or address
我知道我错过了一些基本的东西,但是我可以在互联网上find任何实际连接到Unix域套接字pipe理接口的零例子。
我自己回答,发布后1分钟。
简短的回答,“使用socat”
参考: https : //unix.stackexchange.com/questions/26715/how-can-i-communicate-with-a-unix-domain-socket-via-the-shell-on-debian-squeeze
很长的回答:
$ apt-get install socat $ socat - UNIX-CONNECT:/dev/openvpn >INFO:OpenVPN Management Interface Version 1 -- type 'help' for more info
编辑:我最终真的在做什么
当TCP上的telnet / netcat工作的很好时,我不喜欢安装新工具的想法。 所以最后我configuration了一个TCPpipe理侦听器的OpenVPN,并阻止(通过防火墙和hosts.allow)外部访问它监听的端口。 即一个只能连接到本地主机上的OpenVPNpipe理端口。