OpenVPN 使用 Luci (OpenWRT) ssh 命令获取实例并启用/禁用它们

OpenVPN 使用 Luci (OpenWRT) ssh 命令获取实例并启用/禁用它们

嘿,我一直在研究如何去做这件事,但我还没有真正找到任何东西。

我想做的是,使用 SSH 露西,获取我所有的列表OpenVPN 实例:

在此输入图像描述

并且能够通过他们中的任何人的名字来启用他们。

迄今为止唯一ssh 命令我发现列出我的OpenVPN 实例是:

uci show openvpn

这会产生一个输出像这样:

......[more output here]....
openvpn.sample_client.cert='/etc/openvpn/client.crt'
openvpn.sample_client.key='/etc/openvpn/client.key'
openvpn.sample_client.verb='3'
openvpn.test0=openvpn
openvpn.test0.config='/etc/openvpn/test0.ovpn'
openvpn.test0.enabled='1'
openvpn.test1=openvpn
openvpn.test1.config='/etc/openvpn/test1.ovpn'

tail /etc/config/openvpn

这会产生一个输出像这样:

option key '/etc/openvpn/client.key'
option verb '3'

config openvpn 'test0'
        option config '/etc/openvpn/test0.ovpn'
        option enabled '1'

config openvpn 'test1'
        option config '/etc/openvpn/test1.ovpn'

lsof /usr/sbin/openvpn

这会产生一个输出像这样:

COMMAND     PID   USER    FD   TYPE   DEVICE   SIZE/OFF   NODE     NAME
openvpn   28722   root   txt    REG     0,16     450687   250828   /usr/sbin/openvpn

如果我可以使用那就太好了grep只得到名字这是PID从上面ssh命令而不是同时获取所有其他数据。

理想情况下我想要输出像这样(实例名称、启用/禁用和 PID):

test0 enabled  28722
test1 disabled 

我知道使用:

/etc/init.d/openvpn stop或者kill -9 <PID>停止当前启用的运行实例

/etc/init.d/openvpn start开始当前启用的运行实例

除此之外我似乎找不到正确的方法使能禁用一个OpenVPN实例由它的姓名或者PID

任何帮助都会很棒!

相关内容