最近在fedora 28下面折腾通过l2tp拨号今校园网,遇到诸多问题。一步一步解决中,这篇文章是作为这个过程的一个记录。
先简述一下环境情况:
系统:fedora 28(持续升级中,最新版本)
管理工具: NetworkManager
L2TP模块:NetworkManager-l2tp-1.2.10-1.fc28.x86_64
其他软件:xl2tpd-1.3.8-7.fc28.x86_64
ppp-2.4.7-22.fc28.x86_64
问题描述:
1。 路由记录添加不正确(待解决),需要手工把本机到vpn服务器的路由记录删除掉
2。 在某次fedora升级以后发现xl2tpd不能运行(涉及到selinux策略和capabilities方面的问题)
解决过程:
-
遇到selinux相关的问题,使用journalctl查看审计日志确认问题是否和selinux相关,然后用setenforce 0把selinux策略变成permissive,来看看问题是否得到了解决。
-
在本次遇到的问题是虽然已经把selinux变成permissive了依然运行不成功。但在journalctl 和dmesg里面的报错内容变成了xl2tpd 的 Operation not permitted 。这就郁闷了,本身xl2tpd的权限是755,任何用户都可以运行,为什么会出Operation not permitted。
-
详细查看后发现xl2tpd设置了capabilities,但只有cap_dac_override,cap_dac_read_search+ep (#getcap /sbin/xl2tpd )这两个全限。使用(#setcap -r /sbin/xl2tpd)擦出掉capabilities后可以正常运行了。基本可以判定是capabilities全限赋予不足引起的。
-
使用getpcaps 发现它运行需要如下caps:cap_dac_override,cap_kill,cap_setgid,cap_setuid,cap_net_bind_service,cap_net_admin,cap_net_raw,cap_sys_module,cap_sys_chroot,cap_audit_write+ep
-
把这些caps加上以后,xl2tpd运行成功.
以上这些都是在关闭了selinux以后的情况,现在打开selinux发现问题依旧。
解决selinux的问题则按照一般的方法进行就好了,按照selinux troubleshoot中描述的步骤一步一步进行就好了。
路由错误的问题还没有搞定,现象是vpn连上以后1-2分钟后就会断开。现在先是每次拨号以后手工删除路由记录的方式暂时解决。估计问题是在pppd调用 /etc/ppp/ip-up或/etc/ppp/ip-up.ipv6to4(因为校园网分配有ipv6的地址)时出现的,以后继续分析
----------------------------------------------------------------------------------------------------
更新一下,后续没有使用xl2tpd来做vpn
使用了NetworkManager-l2tp和NetworkManager-l2tp-gnome这两个模块,基本上什么都不用配置,填上信息就好了。
但是上面的路由问题还是不能自动搞定,需要在路由表里面手工指定到vpn服务器地址的路由
阅读(2117) | 评论(0) | 转发(0) |