Python OpenVPN脚本
我正在尝试为Linux写一个Python脚本来启动OpenVPN,但在使用subprocess启动OpenVPN时遇到了问题。
我使用以下代码来启动OpenVPN:
openvpn_cmd = ['sudo', 'openvpn', '--config', 'client.cfg', '--auth-user-pass', 'hmaauth.conf']
prog = subprocess.Popen(openvpn_cmd)
但是我从OpenVPN那里得到了以下错误信息:
选项错误:--nobind 这个选项必须和 --remote 一起使用,否则没有意义。
在运行subprocess命令之前,我是直接从VPN服务网站下载的配置文件,所以我不能(也不应该)更改配置中的任何内容。
我听说如果没有以root权限运行可能会出现这个问题,但我已经在以root权限运行了……
有没有人能给我一些建议,为什么我会收到这个错误?
我有一个可以正常工作的shell脚本,它是用以下代码启动OpenVPN的:
sudo openvpn --config client.cfg --auth-user-pass hmaauth.conf
这应该和我在Python脚本中的内容完全一致。
谢谢大家的建议。
1 个回答
3
好的,这里我的问题是我太笨了。我下载了一个配置文件,但里面没有指定VPN的远程服务器,现在我明白为什么会出现“没有远程”的错误了。
现在我搞清楚这个问题了,一切都可以正常进行。