总概:
本文主要介绍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
1 2 3 4 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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
1 |
localhost pr74uJak #FreeRADIUS服务器地址(如果不是本机,请指定IP)及通讯密钥 |
文件路径:/usr/local/etc/radiusclient/dictionary
在此文件的最后加入下面的内容
1 |
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信息,相关行如下:
1 2 3 4 5 |
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文件来建立:
1 2 3 4 5 6 |
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
1 2 3 4 5 6 7 8 9 10 11 |
# # 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
可能需要更改的行如下:
1 2 3 4 5 6 7 8 |
$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服务:
1 2 3 4 |
# service mysqld start # service httpd start # pptpd # radiusd |
访问http://localhost/daloradius/以进行web管理PPTP VPN
daloRADIUS的使用另做叙述