我一直在尝试使用 OpenVPN 连接到我的工作网络。通过命令行使用它可以正常工作:
openvpn user.conf
Run Code Online (Sandbox Code Playgroud)
不过,我没有费心用 DNS 正确设置它,而且看起来有点痛苦。我更愿意像其他 VPN 一样通过网络管理器使用它。问题是这样的:我存储我的user.crt,随着ca.crt和user.key中~/.openvpn/(这似乎是一个合理的地方,以保持这样的事情。当我尝试通过网络管理器进行连接,它只是告诉我,连接失败的检查。/var/logs/messages揭示了原因:SELinux的正在某处执行一些阻止openvpn读取我的证书的策略。我尝试按照 SELinux 故障排除程序提供的所有说明进行操作,但无济于事。
然后,我确实愚蠢地从我的 SELinux 配置中删除了 openvpn 策略(使用 SELinux 管理 gui,可从 fedora 存储库中获得)。各种各样的地狱爆发了(它甚至不再让它绑定一个命名端口)。
问题非常紧迫,所以我最终只是为会话禁用了 SELinux(一切正常)。但是我必须在某个时候再次打开它,所以我的问题是:
如何首先在 SELinux 中恢复 openvpn 的原始策略文件,然后再授予 openvpn 访问我的主目录中的证书的权限?
我也尝试过 SE Policy Generator 工具,但没有明显效果(它卡在我给策略命名的对话中)。