总概:
本文主要介绍Poptop + FreeRADIUS + daloRADIUS的组合配置,CentOS平台。openvpn、l2tp类似。
freeradius.jpg
(53.89 KB, 下载次数: 27)
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
复制代码 访问http://localhost/daloradius/以进行web管理PPTP VPN
daloRADIUS的使用另做叙述 |