总概:本文主要介绍Poptop + FreeRADIUS + daloRADIUS的组合配置,CentOS平台。openvpn、l2tp类似。
1.程序下载:
Poptop:http://poptop.sourceforge.net/
FreeRADIUS:http://freeradius.org/download.html
daloRADIUS:http://sourceforge.net/projects/daloradius/files/
示例中这些源文件我在服务器中存放的路径为(后面有些地方会提到,以免不知所措):
/opt/poptop
/opt/freeradius-server
/opt/daloradius
2.安装:
安装需求:由于下面介绍的是编译安装,因此编译安装环境是前提,缺少什么可以看编译出错信息。另外最终是web管理,因此需要web服务器和MYSQL环境,本文以Apache为例。
安装没什么可说的,Poptop和FreeRADIUS都直接在源码目录执行以下命令:
- ./configure
make
make install
复制代码 编译出错的话,请自行解决。3.配置:
Poptop配置:
文件路径:/etc/ pptpd.conf
ppp /usr/local/sbin/pppd #pppd所在路径
option /etc/ppp/options.pptpd #options.pptpd所在路径
localip localhost #VPN服务器对外IP,可以为IP段,请指定IP
remoteip 10.0.0.101-200 #分配给客户端的内网IP
文件路径:/etc/ppp/options.pptpd
- name pptpd
refuse-pap #拒绝pap
refuse-chap #拒绝chap
refuse-mschap #拒绝mschap
require-mschap-v2 #要求mschap-v2
require-mppe-128 #要求mmpe-128
ms-dns 8.8.8.8 #客户端首要DNS
ms-dns 8.8.4.4 #客户端次要DNS
lock
nobsdcomp
novj
novjccomp
nologfd
plugin /usr/local/lib/pppd/2.4.5/radius.so #pppd radius插件路径
plugin /usr/local/lib/pppd/2.4.5/radattr.so #pppd radius扩展属性插件路径
radius-config-file /usr/local/etc/radiusclient/radiusclient.conf #radiusclient配置文件路径
复制代码
radiusclient设置:
文件路径:/usr/local/etc/radiusclient/radiusclient.conf
- auth_order radius
login_tries 4 #重试次数
login_timeout 60 #超时时间
nologin /etc/nologin
issue /usr/local/etc/radiusclient/issue
authserver localhost:1812 #用户验证服务器(假设不是本机,请指定IP)(可以为多个,依次尝试)
acctserver localhost:1813 #用户账户记录服务器(假设不是本机,请指定IP)
servers /usr/local/etc/radiusclient/servers #FreeRADIUS服务器和VPN服务器之间通讯的密钥配置文件
dictionary /usr/local/etc/radiusclient/dictionary #字典文件
login_radius /usr/local/sbin/login.radius
seqfile /var/run/radius.seq
mapfile /usr/local/etc/radiusclient/port-id-map
default_realm
radius_timeout 10
radius_retries 3
login_local /bin/login
复制代码
文件路径:/usr/local/etc/radiusclient/servers
- localhost pr74uJak #FreeRADIUS服务器地址(假设不是本机,请指定IP)及通讯密钥
复制代码
文件路径:/usr/local/etc/radiusclient/dictionary
在此文件的最后加入下面的内容
- INCLUDE /usr/local/etc/radiusclient/dictionary.microsoft
复制代码
FreeRADIUS设置:
文件路径:/usr/local/etc/raddb/radiusd.conf
去掉$INCLUDE sql.conf前的注视符号#
去掉$INCLUDE sql/mysql/counter.conf前的注视符号#
文件路径:/usr/local/etc/raddb/sql.conf
在这个文件中配置你的MYSQL信息,相关行如下:
- server=”localhost” #MYSQL服务器地址
#port=3306 #MYSQL服务器端口(一般不需要修改)
login=”radius” #MYSQL服务器登陆用户名
password=”radpass” #MYSQL服务器登陆密码
radius_db=”radius” #MYSQL服务器radius_db所在数据库名
复制代码
其它的只要用daloRADIUS目录中的相应文件覆盖掉FreeRADIUS设置目录中的相关文件即可
- /opt/daloradius/contrib/configs/freeradius-2.1.8/cfg1/raddb –> /usr/local/etc/raddb
复制代码
daloRADIUS配置:
建立FreeRADIUS数据库,可直接使用/opt/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql这个SQL文件来建立:
- mysql -uroot -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY “radpass”;
exit
cd /opt/daloradius/contrib/db/
mysql -uroot -p radius < fr2-mysql-daloradius-and-freeradius.sql
复制代码
把/opt/daloradius/下的全部文件拷贝到/var/www/daloradius/目录中
配置apache以便可以web访问
文件路径:/etc/httpd/conf.d/daloradius.conf
- #
# Web application to manage RADIUS
#
<Directory “/var/www/daloradius”>
Order Deny,Allow
# Deny from all
Allow from all
</Directory>
Alias /daloradius /var/www/daloradius
复制代码
文件路径:/var/www/daloradius/library/daloradius.conf.php
可能需要更改的行如下:
$configValues['CONFIG_DB_HOST'] = ‘localhost’; /*MYSQL服务器地址*/
$configValues['CONFIG_DB_USER'] = ‘radius’; /*MYSQL服务器登陆用户名*/
$configValues['CONFIG_DB_PASS'] = ‘radpass’; /*MYSQL服务器登陆密码*/
$configValues['CONFIG_DB_NAME'] = ‘radius’; /*MYSQL服务器radius_db数据库名*/
$configValues['CONFIG_FILE_RADIUS_PROXY'] = ‘/usr/local/etc/raddb/proxy.conf’;
$configValues['CONFIG_PATH_RADIUS_DICT'] = ‘/usr/local/share/freeradius’;
$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = ‘/var/www/daloradius/var’;
$configValues['CONFIG_LOG_FILE'] = ‘/tmp/daloradius.log’; /*daloRADIUS日志路径*/
至此整个安装配置过程完成,启动pptpd、FreeRADIUS以及MYSQL和Apache服务:
- service mysqld start
service httpd start
pptpd
radiusd
复制代码转自:全国主机交流论坛 ninjai