Python OpenVPN脚本

3 投票
1 回答
7315 浏览
提问于 2025-04-17 09:54

我正在尝试为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的远程服务器,现在我明白为什么会出现“没有远程”的错误了。

现在我搞清楚这个问题了,一切都可以正常进行。

撰写回答