有没有更好/更安全的方法来以普通用户身份启动 OpenVPN 客户端?

有没有更好/更安全的方法来以普通用户身份启动 OpenVPN 客户端?

我正在尝试连接到 OpenVPN 服务器。当我使用 root 发出连接命令时,它工作得很好:

openvpn /etc/openvpn/client.conf

但对于普通用户来说,我在日志中收到以下错误消息:

Aug 15 18:01:43 a openvpn[4755]: OpenVPN 2.1.1 i686-redhat-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Jan  5 2010
Aug 15 18:01:43 a openvpn[4755]: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
Aug 15 18:01:43 a openvpn[4755]: WARNING: you are using user/group/chroot/setcon without persist-key -- this may cause restarts to fail
Aug 15 18:01:43 a openvpn[4755]: WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Aug 15 18:01:43 a openvpn[4755]: NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Aug 15 18:01:43 a openvpn[4755]: Control Channel Authentication: using '/home/MYUSERNAME/.cert/shared.key' as a OpenVPN static key file
Aug 15 18:01:43 a openvpn[4755]: LZO compression initialized
Aug 15 18:01:43 a openvpn[4756]: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Aug 15 18:01:43 a openvpn[4756]: UDPv4 link local: [undef]
Aug 15 18:01:43 a openvpn[4756]: UDPv4 link remote: 111.222.333.444:443
Aug 15 18:01:43 a openvpn[4756]: [vpnserver] Peer Connection Initiated with 192.168.1.1:443
Aug 15 18:01:46 a openvpn[4756]: Note: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)
Aug 15 18:01:46 a openvpn[4756]: Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Aug 15 18:01:46 a openvpn[4756]: Cannot allocate TUN/TAP dev dynamically
Aug 15 18:01:46 a openvpn[4756]: Exiting

所以看来我需要 root 权限才能运行上述命令。

我用谷歌搜索的解决方案:
- setuid 位:https://fedoraproject.org/wiki/Features/RemoveSETUID- 不再好
- “visudo”作为 root,然后将其附加到文件中:

MYUSERNAME ALL = NOPASSWD: /usr/sbin/openvpn

然后“MYUSERNAME”用户可以使用 root 权限启动“sudo /usr/sbin/openvpn”二进制文件。

PS1:

$ which openvpn
/usr/sbin/openvpn

ps2:使用 Fedora 14/bash。

问题:
- 有没有更好/更安全的方法来以普通用户身份启动 OpenVPN 客户端?

答案1

OpenVPN需要 root 访问权限,因为它需要为您新创建的接口分配 IP 地址。

如果您在图形模式下运行,您可以尝试NetworkManager插件 for openvpn,它运行得很好,只需单击一下即可获得您的 VPN。一些用户认为这NetworkManager有点干扰(但这就是 OFT)。

除此之外,正如您所说,您最好的机会是sudo。恕我直言,比使用 setuid 位要好得多。

相关内容