啥也没写
分类: LINUX
2011-10-27 13:03:42
首先需要安装 ppp 和 openssl 的 header / lib
aptitude install ppp-dev libssl-dev下载安装 pppd-sql
cd /usr/src wget tar zxvf pppd-sql-0.8.0.tar.gz cd pppd-sql-0.8.0 ./configure <- 注意结果提示,看看你的数据库服务是否被找到了 ./make ./make install另外关键的 mysql.so ppp 插件文件不知道为什么没有在 make install 时候安装到应有位置,手工 cp 吧,目标路径按照你系统里面的 pppd 版本号修改。
cp /usr/src/pppd-sql-0.8.0/src/.libs/mysql.so /usr/lib/pppd/2.4.5/
下面修改 ppp 的配置文件,如果你是按照我安装的话,那么就是修改 /etc/ppp/options.xl2tpd 这个文件,加入以下内容:
plugin mysql.so mysql-host MYSQL-HOST mysql-port MYSQL-PORT mysql-user MYSQL-USER mysql-pass MYSQL-PASS mysql-pass-encryption AES mysql-pass-key SALT mysql-database MYSQL-DB mysql-table MYSQL-TABLE mysql-column-user username mysql-column-pass ppppass mysql-column-client-ip client_ip mysql-column-server-ip server_ip mysql-column-update status mysql-exclusive mysql-authoritative具体的配置请看 man pppd-mysql,数据库和表结构也很简单,我是直接在之前 OpenVPN 的表格基础上修改的。
连接试试看吧,应该没问题了,最终效果是用户名密码在所有服务器的 ipsec+L2TP 以及 OpenVPN 连接方式全部通用。如果你的 ppp 使用 CHAP2 验证密码的话,这个插件只支持 AES 加密,而 OpenVPN 用的是 mysql.PASSWORD(),所以这两个服务不能共享一个密码字段(当然明文除外)。我觉得问题不大,用 PHP 简单写个脚本即可,还可以顺便加上用户修改密码功能,如果再加上支付宝 API 调用的话。。。都可以做全自动化的 VPN 网络销售系统了。。。
转: