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
- localhost 123456#些为radius服务器的地址和访问radius服务器的密码
二、radius的配置
1.修改/etc/raddb/clients文件中的secret
- secret 123456 #访问radius服务器的密码
- $INCLUDE sql.conf
- files
- sql
1.切换到/etc/raddb/sql/mysql目录下。
- mysql -uroot radius < schema.sql
- mysql -uroot radius < admin.sql
- mysql -uroot radius < ippool.sql
- # /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');
- 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
如有错误可检查日志。
五、用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');
- accounting {
- sqlippool
- }
-
- post-auth {
- sqlippool
- }
- INSERT into radgroupcheck (groupname,attribute,op,value) values('user', 'Pool-Name', ':=', 'main_pool');
六、网络通畅。
服务器是双网卡接入,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
- }
- # 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
- INSERT INTO `radgroupcheck` ( `GroupName` , `Attribute` , `op` , `Value` ) VALUES ( 'user','Simultaneous-Use',':=','1');