首页 > WEB互联网 > 腾讯云下如何搭建手机免流终端OpenVPN云免服务器计费系统
2016
05-04

腾讯云下如何搭建手机免流终端OpenVPN云免服务器计费系统

《准备工作》
1. 添加EPEL源:
rpm -ivh http://www.sbwml.cn/yum/epel-release-6-8.noarch.rpm

2. 更新yum软件:
yum update
《网络配置》
清空当前防火墙规则/保存/重启规则:
iptables -F
service iptables save
service iptables restart

2. 关闭SELINUX:
setenforce 0

3. 开启路由转发:
vi /etc/sysctl.conf
温馨提示:输入命令后会进入文件编辑状态,输入“I”即可对内容进行编辑
修改参数net.ipv4.ip_forward = 1 (默认为0,修改成1 表示开启路由转发,如果默认是空内容,请自行加上-腾讯云貌似就是空的)

修改完成后按Esc退出编辑状态,然后输入:
:wq
重启sysctl生效路由转发:
sysctl -p
4. 重新配置防火墙规则:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p TCP –dport 2099 -j ACCEPT
#OpenVPN服务端口,可自定义,不可冲突,修改后需要修改对应的配置文件
iptables -A INPUT -p TCP –dport 80 -j ACCEPT
#squid转发端口,
iptables -A INPUT -p TCP –dport 22 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
service iptables save
service iptables restart

《程序安装》
1. 安装依赖:
yum install -y wget squid openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig
2. 安装OpenVPN:
yum install -y openvpn

上传待用文件:
用FlashFXP 上传以下文件的到/etc/openvpn/目录里面
1. 配置VPN服务端参数:
cd /etc/openvpn/
chmod 0755 ./*.conf
《制作证书》
1 制作证书:
cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-ca #一路的回车
./build-key-server centos #一路的回车,提示输入y就跟着输入
./build-key user #一路的回车,提示输入y就跟着输入
./build-dh #这是一个漫长的等待过程
cp /etc/openvpn/easy-rsa/keys/{ca.crt,user01.{crt,key}} /home/
使用FlashFXP 登陆服务器,进入 /home 目录,把 ca.crt、user.crt、user.key 三个文件下载到电脑,证书制作完毕!
《端口转发》
1. 配置/启用端口转发:
cd /etc/squid/
rm -f ./squid.conf
用FlashFXP 上传附件中squid.conf和squid_passwd文件复制到/etc/squid/目录下
chmod 0755 /etc/squid/squid.conf
squid –z
squid -s
《启动OpenVPN》
service openvpn start #启动OpenVPN
service openvpn restart #重启OpenVPN
《开机自启》
chkconfig openvpn on #开启自动启动OpenVPN
chkconfig squid on #开启自动启动squid
service squid start

上传待用文件:
用FlashFXP 上传以下文件的到/etc/openvpn/目录里面

文件传送门:欢迎加入Openvpn云免流计费搭建,群号码:139107154

安装Mysql
yum install mysql-server
设置Mysql的服务1
先启动Mysql服务
service mysqld start2

设置Mysql开机启动
chkconfig mysqld on4
开启3306端口并保存
/sbin/iptables -I INPUT -p tcp –dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save

END
修改密码并设置远程访问
mysql
设置密码
use mysql;
update user set password=password(‘vpnadmin1′) where user=’root’;
flush privileges;

2
设置Mysql远程访问
grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’ with grant option;

END
安装时这个可以跳过,跳到下面重启服务哪里(解决Mysql乱码问题)
找一个配置文件,复制到/etc/目录,命名为my.cnf
(有时候没有my.cnf)
cp /usr/share/doc/mysql-server-5.1.73/my-medium.cnf /etc/my.cnf

vim my.cnf
在[client]和[mysqld]下面都添加上
default-character-set=utf8

最后按Esc输入
:wq
保存退出
重启mysql服务
最后重新启动服务就可以了
service mysqld restart
注意事项
最后一定要重启服务
如果用户不能登录执行下面的命令(修改密码命令)

# /etc/init.d/mysqld stop
# mysqld_safe –user=mysql –skip-grant-tables –skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(‘你的密码’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: 输入密码回车就可以了

 

二、基于MySQL的用户名/密码认证实现
1、安装MySQL Server
2、建立数据库
以管理员身份登录MySQL:
mysql -uroot -p
运行以下SQL命令:
— 创建数据库
CREATE DATABASE openvpn;

— 切换数据库
USE openvpn;

— 创建用户,用户名openvpn,密码openvpn(可自行设定)
GRANT ALL ON openvpn.* TO ‘openvpn’@’localhost’ IDENTIFIED BY ‘openvpn’;
— 切换数据库
USE openvpn;
source /etc/openvpn/openvpn.sql
quit

3、安装pam_mysql模块
yum install -y mysql-devel pam-devel gcc gcc-c++ openssl
wget http://www.hndzz.cn/attachment/pam_mysql-0.7RC1.tar.gz
tar zxvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
./configure –with-openssl
./configure
make
make install
2、64位系统的所有pam模块都在/lib64/security/
所以要做成硬链接:
ln /lib/security/pam_mysql.* /lib64/security/
4、配置OpenVPN的PAM
vi /etc/pam.d/openvpn
按i
然后粘贴以下内容:
auth sufficient pam_mysql.so user=openvpn passwd=openvpn host=localhost db=openvpn table=user usercolumn=username passwdcolumn=password where=active=1 sqllog=0 crypt=1

account required pam_mysql.so user=openvpn passwd=openvpn host=localhost db=openvpn table=user usercolumn=username passwdcolumn=password where=active=1 sqllog=0 crypt=1
粘贴后按一下Esc 输入
:wq
保存 之后重启saslauthd:
/etc/init.d/saslauthd restart
service saslauthd start
如果出现以下提示:
To enable saslauthd, edit /etc/default/saslauthd and set START=yes (warning).
说明saslauthd未配置成自动启动,则需修改/etc/default/saslauthd文件,将START=no改为START=yes,再重启服务即可。
5、测试saslauthd是否配置成功
登入MySQL数据库:
mysql -uopenvpn -p
执行以下命令:
USE openvpn;
INSERT INTO user(username, password) VALUES(‘test’, ENCRYPT(‘123456’));
退出后,运行以下命令:
testsaslauthd -u test -p 123456 -s openvpn
如果显示
0: OK “Success.”
则说明配置成功。否则,请根据/var/log/auth.log日志查找原因。
6、复制OpenVPN PAM认证模块计算控制流量模块
将connect.sh, disconnect.sh文件改为可执行属性:
chmod +x /etc/openvpn/connect.sh
chmod +x /etc/openvpn/disconnect.sh
7、重启所有服务
/etc/init.d/saslauthd restart
/etc/init.d/openvpn restart
service mysqld restart
service squid start
OK 全部完成

至此,一个用户名/密码认证的OpenVPN系统就配置完成了。
修改附件中的openvpn.ovpn客户端配置文件中的ip和你的ca证书。发送到手机就可以连接测试了
登陆测试账号密码:test 123456 测试完成后记得删除,

最后修改openvpn.ovpn文件

完工

 

最后编辑:
作者:欧阳
欧阳
设计界的一只猿|平面设计|创意|WEB安全|互联网

腾讯云下如何搭建手机免流终端OpenVPN云免服务器计费系统》有 1 条评论

留下一个回复

你的email不会被公开。