嘿,我一直在研究如何去做这件事,但我还没有真正找到任何东西。
我想做的是,使用 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。
任何帮助都会很棒!