环境为
fedora 16 x64.
pppd version 2.4.5.
FreeRADIUS Version 2.1.12
mysql Ver 14.14 Distrib 5.5.18.
一、pppd的安装配置。
1.软件添加里面搜索ppp,选择安装。
搜索radiusclient 选择安装。
- cat /etc/ppp/pppoe-server-options:
-
-
auth
-
require-chap
-
default-mru
-
default-asyncmap
-
lcp-echo-interval 60
-
lcp-echo-failure 5
-
ms-dns 192.168.0.2
-
ms-dns 61.132.90.92
-
noipdefault
-
noipx
-
nodefaultroute
-
noproxyarp
-
noktune
-
netmask 255.255.255.0
-
logfile /var/log/pppd.log
-
plugin /usr/lib64/pppd/2.4.5/radius.so #配合radius 使用
-
plugin /usr/lib64/pppd/2.4.5/radattr.so
-
radius-config-file /etc/radiusclient-ng/radiusclient.conf
2.修改/etc/radiusclient-ng/server文件,添加
- localhost 123456#些为radius服务器的地址和访问radius服务器的密码
二、radius的配置
1.修改/etc/raddb/clients文件中的secret
- secret 123456 #访问radius服务器的密码
2.修改/etc/raddb/radius.conf
3.修改/etc/raddb/site-enabled/defaut文件。注释掉其中的
同时反注释
三、安装配置mysql
1.切换到/etc/raddb/sql/mysql目录下。
- mysql -uroot radius < schema.sql
-
mysql -uroot radius < admin.sql
-
mysql -uroot radius < ippool.sql
2.向mysql中添加测试数据。
- # /usr/local/mysql/bin/mysql -u root -p radius
-
先加入一些组信息:
-
insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');
-
insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');
-
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask','=','255.255.255.0');
-
insert into radgroupcheck (groupname, attribute, op, value) values ("user", "Auth-Type", ":=", "Local");
-
-
然后加入用户信息:
-
insert into radcheck (username,attribute,op,value) values ('test1','User-Password','==','123456');
-
-
然后把用户加到组里:
-
insert into usergroup(username,groupname) values('test1','user');
3.配置radius与mysql的连接
- vim sql.conf
-
-
# Connection info:
-
server = "localhost"
-
#port = 3306
-
login = "root"
-
password = "123456" #note! 使用root用户可以避免[sql_ippool] error 1142.
四、启动服务
- service mysql start
-
pppoe-server -I eth0 -xxx
-
service radiusd -X
至此应当能使用test,123456正常拨号接入了。
如有错误可检查日志。
五、用sqlippool。
- mysql -uroot -prootpass radius < ippool.sql
- INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.1');
-
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.2');
-
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.3');
-
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.4');
启用sqlipool.
- accounting {
-
sqlippool
-
}
-
-
post-auth {
-
sqlippool
-
}
添加groupcheck.
- INSERT into radgroupcheck (groupname,attribute,op,value) values('user', 'Pool-Name', ':=', 'main_pool');
这样user组的用户都可以分到main_pool里的ip。
六、网络通畅。
服务器是双网卡接入,eth0 10.72.222.249/10.72.222.254接入外面网络。
eth1接入内部网络。
- route add default gw 10.72.222.254
则可以实现内部网络机器通过服务器上网了。
最后,更改/etc/raddb/clients.conf.
- #ipaddr = 127.0.0.1
-
ipaddr = 10.72.222.249
七、设置使得同一个用户不能重复登陆。
1.修改 etc/raddb/sites-enabled 目录中的default 及inner-tunnel 这两个文件
- session {
-
#radutmp
-
# See "Simultaneous Use Checking Querie" in sql.conf
-
sql
-
}
2.修改/etc/raddb/sql/mysql/dialup.conf
- # Simultaneous Use Checking Queries
-
#######################################################################
-
# simul_count_query - query for the number of current connections
-
# - If this is not defined, no simultaneouls use checking
-
# - will be performed by this module instance
-
# simul_verify_query - query to return details of current connections for verification
-
# - Leave blank or commented out to disable verification step
-
# - Note that the returned field order should not be changed.
-
#######################################################################
-
-
# Uncomment simul_count_query to enable simultaneous use checking
3.在数据库中添加策略
- INSERT INTO `radgroupcheck` ( `GroupName` , `Attribute` , `op` , `Value` ) VALUES ( 'user','Simultaneous-Use',':=','1');
阅读(7506) | 评论(3) | 转发(2) |