pptpd基于mysql用户验证的完整操作步骤

来源:互联网 发布:怎么买一个淘宝店铺 编辑:程序博客网 时间:2024/05/29 19:52

1.安装pptp

1
yum -y install ppp pptpd ppp-devel

2.安装mysql

1
yum -y install mysql mysql-server mysql-devel

3.创建mysql库

1
2
3
4
5
6
7
8
9
10
11
CREATE DATABASE IF NOT EXISTS pptpvpn DEFAULT CHARSET utf8;
创建表CREATE TABLE `vpnuser` (  
  `id` int(11) NOT NULL auto_increment,  
  `username` varchar(16) NOT NULL,  
  `password` varchar(32) NOT NULL,  
  `status` int(11) NOT NULL default '0',  
  `clientip` varchar(15) NOT NULL,  
  `serverip` varchar(15) NOT NULL,  
  PRIMARY KEY  (`id`),  
  KEY `username` (`username`)  
) ENGINE=InnoDB DEFAULT CHARSET=utf8;授权GRANT ALL ON pptpvpn.* TO vpn@'172.16.0.14' IDENTIFIED BY 'vpn@2017_shanghai' WITH GRANT OPTION;插入测试用户INSERT INTO `vpnuser` (`username`, `password`, `status`, `clientip`, `serverip`) VALUES  ('user''test1234', 0, '192.168.0.100''192.168.0.114');

4.安装pppd-sql 插件

1
2
3
4
5
6
下载地址:http://down.51cto.com/data/2325621
tar -xf pppd-sql-0.8.0.tar.gz
cd pppd-sql-0.8.0./configure --prefix=/usr/local/data/pppd-sql  --enable-mysql
make && make install
复制mysql库文件
cp -f src/.libs/mysql.so  /usr/lib64/pppd/2.4.5/

5.配置pptpd

1
2
3
vim /etc/pptpd.conf
localip 192.168.0.1remoteip 192.168.0.100-200
logfile /var/log/pptpd.log

6.配置pptpd的mysql信息

1
2
3
4
5
6
7
8
9
10
11
12
vim /etc/ppp/options.pptpd 
plugin mysql.so
mysql-host      172.16.0.14mysql-port      3306mysql-user      vpn mysql-pass      vpn@2017_shanghai
mysql-pass-encryption   NONE
mysql-database  pptpvpn
mysql-table     vpnuser  
mysql-column-user       username  mysql-column-pass       password  
mysql-column-client-ip  clientip  
mysql-column-server-ip  serverip  
mysql-column-update     status  
mysql-exclusive      
mysql-authoritative

参数解释:

1
2
3
4
5
clientip:指的是用户连接vpn后获取到的地址。 
serverip:指的是pptp 虚拟网卡的地址
username: 登录的用户名
password: 登录的密码
status  : 连接中值为1,断开时值为0

重启pptpd

1
2
service pptpd restart
chkconfig pptpd on

7.配置iptables

1
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

开启ip转发vim /etc/sysctl.conf  net.ipv4.ip_forward = 0改成 net.ipv4.ip_forward = 1  sysctl -p

8.本地配置vpn连接

wKioL1lcnEvTmIq9AAJMl4Nniro883.png

wKioL1lcnHbQaVQcAAENUqtMVqc306.png

这里填写pptp 服务器的外网ip

wKiom1lcnLHgRG1fAAC5BY5V1RY460.png

这里填写vpn的用户名和密码

wKioL1lcnNignjMNAACE1sTj8uM432.png

本人原创博客地址:http://thedream.blog.51cto.com/6427769/1944771

阅读全文
1 0