快捷搜索:

基于freeradius的mac认证

  甚么是甚么是 FreeRADIUSRADIUS 是 Remote Access Dial In User Service 的简称。 RADIUS 主要用来提供认证(Authentication)机制,用来识别应用者的身份与暗码 – 确认经过以后,经过授权 (Authorization)应用者登入网域应用相干资本 – 并可供给计费(Accounting)机制,保管应用者的收集应用记录。 FreeRADIUS 是一款 OpenSource 软件,基于 RADIUS 协定,完成 RADIUS AAAAuthentication、Authorization、Accounting功用。 Radius 认证的过程认证的过程1,supplicant 向 NAS 提议 802.1X 的 EAP0L-START;2,NAS 收到 EAP0L-START 以后发给 supplicant 一个 eap/identity;3,supplicant 收到这个 eap/identity 以后将 username 作为 response 发回给 NAS;4,NAS 将包罗有 username 的 eap 包封装入 RADIUS 包的的 eap_message 属性中,并作为 access request 包(包 ID 假定为 1)发给 RADIUS 效劳器;5,RADIUS 效劳器收到这个含有 eap_message 属性的 RADIUS 包以后,发回一个带有eap_message其外部的 EAP 包为 md5 challenge给 NAS;6,NAS 收到这个 RADIUS 包以后将 eap_message 属性中的 EAP 包提取出来,然后封装在EAPOL 中发给 supplicant;7,supplicant 收到这个 EAP/MD5 CHALLENGE 以后将 passwd 放入 EAP 包中发给NAS,然后 NAS 再次打包发给 RADIUS8,RADIUS 停止认证,假设 username 和 passwd 婚配以后认证经过。 目标搭建目标搭建 freeradius 效劳器效劳器 完成用户上彀的完成用户上彀的 Mac 地址认证地址认证情况情况centosfreeradiusmysql装置1、装置 openssl2、装置 mysql12345[rootzhinan] yun groupinstall “MySQL Database“ /装置 MySQL 数据库[rootzhinan] service mysqld start /启动数据库[rootzhinan] netstat -nax /检查 3306 端口可否在应用,从而肯定装置可否胜利[rootzhinan] mysqladmin -u root password 123 /修改 root 的暗码为 123[rootzhinan] mysql -u root -p123 /进入 mysql,检查数据库是正常应用。正常应用则参与三,装置 freeradius最新的 freeradius 的版本是 2.2.0。12345[rootzhinan] tar -xzvf freeradius-server-2.2.0.tar.gz /解压缩[rootzhinan] cd freeradius-server-2.2.0 /进入解压缩后的目次[rootzhinan] https://www.jinchutou.com/config /检测装置情况[rootzhinan] make /编译[rootzhinan] make install /装置装置完后,可以应用敕令1[rootzhinan] radiusd -x /进入 radiusd 效劳器的调试形式,假设能进入则装置胜利。装置胜利后 freeradius 的设备文件的门路是usr/local/etc/raddb/日记文件的门路是usr/local/var/log通俗以上过程不会出后果,主要的后果在于设备。 radius 效劳器几个设备文件效劳器几个设备文件radiusd.conf 效劳器端设备clients.conf 存储 radius 客户端(NAS,ROUTER)的验证信息,主如果配 KEYhttps://www.jinchutou.com/modules/ 主如果针对 LDAP,MYSQL、数字证书等的设备4、设备过程12345[rootzhinan] mysql -u root -p123 /上岸 mysqlmysql creat database radius; /创立数据库mysql exit /参与数据库。[rootzhinan] cd usr/local/etc/raddb/sql/mysql /进入usr/local/etc/raddb/sql/mysql 下[rootzhinan] mysql -u root -p radius use radius;mysql show tabels; /看到以下数据库表------------------| Tables_in_radius |------------------| radacct || radcheck || radgroupcheck || radgroupreply || radpostauth || radreply || radusergroup |------------------修改 usr/local/etc/raddb/site_enabled 下的 defoult 文件(2.1.1 与 1.1.7 分歧,radius.conf 被分红了几个局部,authorize 被放在了 defoult 文件下,请留心),把authorize{} 、accounting {}中的 sql 前面的去掉落,并把 authorize{} 中的 files 前加;以下示123456789101112131415authorize {chapmschapsuffixeapfilessqlpap}accounting {detailunixradutmpsql}修改与 mysql 数据库连接的设备文件/usr/local/etc/raddb/sql.conf,1234server “localhost“login “root“password “数据库 root 的上岸暗码“radius_db “radius“ /radius 为数据库名修改客户端信息设备文件/usr/local/etc/raddb/clients.conf1234567891011client 127.0.0.1 {secret testing123shortname localhostnastype other}client 10.1.1.5 {ipaddr 10.1.1.5secret testing123 /SecretRadius aaa 与 NAS 之间的 key 传送是密文,而不是口令,是 MD5 计算结果shortname nas01nastype other在数据库中参与测试帐号12[rootzhinan] mysql -u root -p123mysql use 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-Address , , 255.255.255.255′;insert into radgroupreply groupname,attribute,op,value values user , Framed-IP-Netmask , , 255.255.255.0′;建立用户信息insert into radcheck username,attribute,op,value values test , User-Password , , test ;设备集中式 MAC 认证的时,只需往 radcheck 表中添加 MAC 地址作为用户名和暗码便可以了。INSERT INTO radcheck UserName, Attribute, Value VALUES geng , Password , peng ;INSERT INTO radcheck UserName, Attribute, Value VALUES 5cff350d01d8 , Password , 5cff350d01d8 ;将用户参与组中insert into radusergroup username,groupname values test , user ;mysql exit; /参与数据库测试 radius12345678910111213[rootzhinan] radiusd -X然后其余翻开一个终端输入一下信息[rootzhinan] radtest test test localhost 0 testing123Sending Access-Request of id 222 to 127.0.0.1 port 1812User-Name “test“User-Password “test“NAS-IP-Address 127.0.0.1NAS-Port 0rad_recv Access-Accept packet from host 127.0.0.1 port 1812, id222, length38Service-Type Framed-UserFramed-IP-Address 255.255.255.255Framed-IP-Netmask 255.255.255.0假设显示如上信息,则祝贺,freeradius 装置设备胜利。排错排错【【1】】假设出现假设出现“rlm_sql sql Could not link driver rlm_sql_mysql rlm_sql_mysql.so cannot open shared object file No such file or directory”找不到驱动包的毛病,就要a先装置 mysql-develb然落伍入到 freeradius 的装置文件目次下的src/modules/rlm_sql/drivers/rlm_sql_mysql 运转敕令https://www.jinchutou.com/configure –with-mysql-dir/usr/share/mysql/ –with-mysql-lib-dir/usr/lib/mysql/cmake;make intall 这时候分会把 rlm_sql_mysql 的驱动装置到/usr/local/lib 目次下,然则必须把这些驱动 copy 到/usr/lib 目次下才华正常运转cp -a /usr/l

您可能还会对下面的文章感兴趣: