jel*_*ord 5 linux vpn openvpn permissions selinux
我一直在尝试使用 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 工具,但没有明显效果(它卡在我给策略命名的对话中)。
要恢复 OpenVPN 策略模块,只需在终端上运行以下命令root
:
semodule -i /usr/share/selinux/targeted/openvpn.pp.bz2
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因该文件丢失(不太可能,但我不确定system-config-selinux
到底是什么原因),请重新安装 SELinux 策略包并重试:
yum reinstall selinux-policy-targeted
Run Code Online (Sandbox Code Playgroud)
最后,要允许 OpenVPN 从您的主目录读取文件,请运行以下命令:
setsebool -P openvpn_enable_homedirs 1
Run Code Online (Sandbox Code Playgroud)
您还应该能够在图形管理工具中的SELinux 布尔值openvpn_enable_homedirs
列表中进行设置。
归档时间: |
|
查看次数: |
14578 次 |
最近记录: |