OpenWrt电信闪讯插件编译与使用
在 GitHub 上有个基于 OpenWrt 的开源闪讯项目,通过这个项目可以为 pppd 添加一个加密用户名的插件,使得路由器可以根据时间随机数动态生成用于拨号的真实用户名。
虽然这个项目在几年前已经没有人维护了,但在目前(2020年)的杭州地区,实测还是可以使用。
下面就是针对这个闪讯插件的编译与使用情况,在网上资料的整合与测试下,进行的相关总结。
闪讯插件编译
- 编译环境搭建
编译所需操作系统
使用Linux进行编译,OpenWrt 官方推荐使用 64 位的 Ubuntu 系统,推荐使用 18.04 的版本进行编译,如需在 Windows 虚拟机下安装,可以参考《言小五系列教程之Win10电脑VirtualBox虚拟机安装Ubuntu18.04.4 LTS上篇》和《言小五系列教程之Win10电脑VirtualBox虚拟机安装Ubuntu18.04.4 LTS下篇》
安装编译所需依赖包
1 | sudo apt-get update |
下载交叉编译工具
在 OpenWrt 官网下载对应自己路由器 CPU 型号及 OpenWrt 系统版本的交叉编译工具,CPU 型号可以在 OpenWrt Wiki 上查找 (例如本人用的 NETGEAT WNDR4300),使用的是 CC 15.05 版本的 OpenWRT,便可以在对应页面下载对应的交叉编译工具 OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
。
1 | #TODO:填写解压的Toolchain中bin与include所在的目录(根目录),某些奇葩可能用的是glibc,这里可能要替换LIBC |
可能会出现ppp相关模块头文件缺失情况,请手动更改相关模块
编译
1 | make all |
生成的.so文件就是我们编译的结果
使用
将 .so 文件上传到路由器的 /usr/lib/pppd/2.4.8/ 目录下
创建所需接口,因为我这边的闪讯是走L2TP的,所以选择L2TP
在 /etc/config/network 下查看你这个接口,然后添加 option pppd_options ‘plugin zhejiang_xiaoyuan_sxplugin.so’ ,如下:
1 | config interface 'ZJWEU_l2tp' |
然后就可以正常使用了。