LSX-blog

Feed Rss

【原创】OpenVpn+pptpd+vsftpd+freeradius+daloradiu认证整合

04.06.2012, Linux, MYSQL, VPN, by .

近期对VPN及FTP服务器的管理思考,以前采用野路子的管理方式,不能长久,需要一个更适合的大用户量,集中化管理方式,近期发现FreeRadius的AAA是一个不错的选择,也结合网上牛人的文章,稍对调整,自己整合了一下相关的配置,为此写下来,以便以后查阅。

这里可能大家会问,为什么要安装两上VPN啊,一个还不行啊,其实这是考虑到它们各自的优势,PPTP对于windows系统来说,相当方便,只需创建一个连接就行了,但它有一个小问题就是如果你处于内网环境,并且你的路由器对VPN的相关数据包过滤比较严重,或者运营商的问题,就会造成PPTP的不稳定性,这时我们就可以用OPENVPN了,总比一直拨不上去VPN强,只在PPTP无法使用的情况下使用OPENVPN,我在使用的过程中,发现OPENVPN的速度要比PPTP快,环境适应能力也比较强。

环境:CentOS5.5 X64 VMware Workstation 8.0

主机名:TwoVpn-FTP

IP地址:192.168.242.139

1.

启动主机并修改主机名:TwoVpn-FTP

2.

安装LAMP环境或者LNMP环境,后期daloradiu及phpmyadmin会用到

下载EasyLAMP.zip http://pan.baidu.com/share/link?shareid=3784523347&uk=1308854452

[root@TwoVpn-FTP ~]# unzip EasyLAMP.zip
[root@TwoVpn-FTP ~]# nohup sh install.sh &

等待进程安装完成

3.

简单配置一下LAMP及安装phpmyadmin

在启动项把MYSQL打开,及相应的phpmyadmin解压到apache的htdocs目录下,详细操作相信大家都会。

4.

安装openvpn

下载 openvpn.zip包里面包含相关源文件 你也可以到官方网站下载http://115.com/file/dpbpeif2

1、安装lzo

[root@TwoVpn-FTP ~]# tar zxvf lzo-2.02.tar.gz

[root@TwoVpn-FTP lzo-2.02]# ./configure && make && make install

2、安装openvpn

[root@TwoVpn-FTP ~]# tar zvxf openvpn-2.2.2.tar.gz

[root@TwoVpn-FTP openvpn-2.2.2]# ./configure && make && make install

3、安装完成后把源文件放入/usr/local中,这个还有用

[root@TwoVpn-FTP 2.0]# mv openvpn-2.2.2 /usr/local/

切换到目录

[root@TwoVpn-FTP 2.0]# cd /usr/local/openvpn-2.2.2/easy-rsa/2.0/

4、配置相关变量环境

[root@TwoVpn-FTP 2.0]# vim vars

image

image

5、生成相关证书及密钥

[root@TwoVpn-FTP 2.0]# source ./vars  //加载环境变量

[root@TwoVpn-FTP 2.0]# ./clean-all

[root@TwoVpn-FTP 2.0]# ./build-ca ;./build-key-server server;./build-dh //一路回车

image

image

[root@TwoVpn-FTP 2.0]# openvpn –genkey –secret keys/ta.key  //生成ta.key

创建配置文件目录

[root@TwoVpn-FTP 2.0]# mkdir /etc/openvpn

[root@TwoVpn-FTP 2.0]# cp keys/* /etc/openvpn/

[root@TwoVpn-FTP 2.0]# cp ../../sample-config-files/server.conf /etc/openvpn/

[root@TwoVpn-FTP 2.0]# cd /etc/openvpn/

配置server.conf文件

[root@TwoVpn-FTP openvpn]# vim server.conf

image

image

修改如上两处即可最小化运行,如果需要微调请自便

[root@TwoVpn-FTP openvpn]# openvpn –config server.conf

如果出现如下图所示说明运行正常

image

添加服务项

cp openvpn-2.2.2/sample-scripts/openvpn.init /etc/init.d/openvpn

chkconfig –add openvpn

5.

现在基础的openvpn已经配置完成,接下来安装freeradius及daloradiu

下载freeradius及安装

wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.12.tar.gz

1、安装freeradius

[root@TwoVpn-FTP ~]# tar zvxf freeradius-server-2.1.12.tar.gz

[root@TwoVpn-FTP freeradius-server-2.1.12]# ./configure && make && make install

2、修改MYSQL密码为111111

/usr/local/mysql/bin/mysqladmin password 111111

3、导入freeradius的数据库表

切换目录到/usr/local/etc/raddb/sql/mysql

先连上MYSQL创建一个数据库radius

image

导入数据库表结构

[root@TwoVpn-FTP mysql]# /usr/local/mysql/bin/mysql -p111111 radius < schema.sql

[root@TwoVpn-FTP mysql]# /usr/local/mysql/bin/mysql -p111111 radius < admin.sql

切换到/usr/local/etc/raddb/sites-enabled

编辑

[root@TwoVpn-FTP sites-enabled]# vim default

image

image

image

编辑 inner-tunnel

[root@TwoVpn-FTP sites-enabled]# vim inner-tunnel

image

编辑radiusd.conf

[root@TwoVpn-FTP raddb]# vim radiusd.conf

image

调试运行,此过程会生成相应证书文件

[root@TwoVpn-FTP raddb]# /usr/local/sbin/radiusd -Xxx

image

 

6.

现在freeradius基本配置完成

下面安装daloradiu

1、下载

wget http://sourceforge.net/projects/daloradius/files/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz/download

2、安装

[root@TwoVpn-FTP ~]# tar zxvf daloradius-0.9-9.tar.gz

[root@TwoVpn-FTP ~]#mv daloradius-0.9-9 /usr/local/apache2/htdocs/daloradius

3、导入数据库

[root@TwoVpn-FTP daloradius]# /usr/local/mysql/bin/mysql -p111111 radius<contrib/db/mysql-daloradius.sql

4、打开地址访问

image

报错500内部服务器错误,查看php错误信息知道是DB.php没有找到的问题,这是一个php的数据库抽象层,需要安装pear 及Db

1.1下面安装pear

image

上面这是安装pear的方法,下面还要安装DB

image

以上安装完成就可以配置相关的daloradius的数据库连接信息了

5、配置

切换到目录/usr/local/apache2/htdocs/daloradius/library

[root@TwoVpn-FTP library]# vim daloradius.conf.php

image

6、界面如图

image

这个登陆的用户名是administrator密码radius

7、利用daloradius添加一个用户

image

现在daloradius基本配置完成

7.

freeradius与daloradius配置完成后,就可以开始freeradius与openvpn的验证整合步骤了

安装radiusplugin 插件,它是openvpn与freeradius的桥梁

wget http://www.nongnu.org/radiusplugin/radiusplugin_v2.1a_beta1.tar.gz

[root@TwoVpn-FTP ~]# tar zxvf radiusplugin_v2.1a_beta1.tar.gz

[root@TwoVpn-FTP radiusplugin_v2.1a_beta1]# make

[root@TwoVpn-FTP ]# cp radiusplugin.so radiusplugin.cnf /etc/openvpn/

切换到/etc/openvpn编辑radiusplugin.cnf效果如下

image

再编辑server.conf 文件添加如下内容

plugin /etc/openvpn/radiusplugin.so

client-cert-not-required

image

重起openvpn

server openvpn restart

这样服务器端配置就完成了,下面开始配置客户端,安装openvpn windows安装程序,这个怎么安装就不介绍了,直接下一步下一步就完事了

例如我的安装目录为C:\Program Files (x86)\OpenVPN

切换到目录C:\Program Files (x86)\OpenVPN\sample-config

复制一下客户端的配置文件client.ovpn到C:\Program Files (x86)\OpenVPN\config

从服务器上面下载ca.crt ta.key 两个文件也复制到这个目录

然后配置client.ovpn文件

image

image

image

这上配置完成保存

image

 

连接成功

image

8.下面是安装PPTP

安装包你可以自己yum也可以用我提供的

下载地址:http://pan.baidu.com/share/link?shareid=119963&uk=1308854452

rpm -ivh ppp-2.4.4-2.el5.x86_64.rpm

rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm

解压PPP的源码包

[root@TwoVpn-FTP ~]# tar zxvf ppp-2.4.4.tar.gz

[root@…TP ~]# mv ppp-2.4.4/pppd/plugins/radius/etc/ /usr/local/etc/radiusclient

[root@TwoVpn-FTP ~]# vim /etc/ppp/options.pptpd  //编辑PPTP文件

添加如下内容

plugin /usr/lib64/pppd/2.4.4/radius.so
plugin /usr/lib64/pppd/2.4.4/radattr.so
radius-config-file /usr/local/etc/radiusclient/radiusclient.conf

image

[root@TwoVpn-FTP ~]# vim /etc/pptpd.conf      //编辑内容

image

编辑文件修改key

[root@TwoVpn-FTP ~]# vim /usr/local/etc/radiusclient/servers

image

编辑radiusclient配置文件

[root@TwoVpn-FTP ~]# vim /usr/local/etc/radiusclient/dictionary

修改文件样子如下

image

拨号

image

PPTP安装完成

9.

下在是安装VSFTPD

由于简单直接yum 安装

[root@TwoVpn-FTP ~]# yum install vsftpd

安装pam库

wget ftp://ftp.freeradius.org/pub/radius/pam_radius-1.3.17.tar.gz

tar zxvf pam_radius-1.3.17.tar.gz

cd pam_radius-1.3.17

vim pam_radius_auth.h //编辑这个文件修改

image

修改成如下样子

image

编译

make

mv pam_radius_auth.so /lib/security/

mv pam_radius_auth.conf /usr/local/etc/raddb/

配置vsftpd PAM模块

vim /etc/pam.d/vsftpd

改成如下内容

auth       sufficient   /lib/security/pam_radius_auth.so
account    sufficient   /lib/security/pam_radius_auth.so

接下来修改密钥

vim /usr/local/etc/raddb/pam_radius_auth.conf

image

########################################

接下来配置VSFTPD

我的配置都是遵守的最小化更改所以改动比较少,当然你也可以再多开启些功能

[root@TwoVpn-FTP ~]# vim /etc/vsftpd/vsftpd.conf

注释掉anonymous_enable=YES

打开 xferlog_file=/var/log/xferlog

然后在最后面添加

use_localtime=yes
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
chroot_local_user=yes
guest_enable=yes
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=yes
reverse_lookup_enable=no
#############

添加用户

[root@TwoVpn-FTP ~]# useradd -s /bin/false vsftpd

创建虚拟用户的配置文件目录

mkdir /etc/vsftpd/vsftpd_user_conf/

vim /etc/vsftpd/vsftpd_user_conf/test

添加如下内容

local_root=/home/vsftpd/test

创建FTP用户的目录

mkdir /home/vsftpd/test

更改权限

chown vsftpd.vsftpd /home/vsftpd/test/

重起服务

service vsftpd restart

连接

image

image

这下就OK了。

【原创】OpenVpn+pptpd+vsftpd+freeradius+daloradiu认证整合 有 53 条回应

  1. [url=http://antabusedsuf.com/]antabuse buy[/url]

    回复
  2. Its like you read my mind! You seem to know a lot about this,
    like you wrote the book in it or something. I think that you could do
    with some pics to drive the message home a little bit, but instead of that, this is great blog.
    A great read. I’ll certainly be back.

    回复
  3. Marvelous, what a weblog it is! This webpage presents useful information to us, keep it up.

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注