CentOS搭建radius伺服器用於wifi的wap2認證
參考:https://www.dazhuanlan.com/2019/10/01/5d9313aa9a9a9/
https://www.cnblogs.com/keephappy/p/7681695.html
https://blog.csdn.net/qq_29056051/article/details/81066205
1,網路拓撲
IP規劃
明細 | IP | 備註 |
路由器WAN口 | 192.168.1.10 | |
路由器LAN口 | 192.168.0.0/24 | |
Radius伺服器 | 192.168.1.100 |
2,環境檢視
路由器型號為TP-Link TL-WAR1200L也可以使用其他支援WPA2認證的路由器
3,安裝FreeRadius
安裝
yum -y install freeradius freeradius-utils freeradius-mysql
啟動radius
systemctl start radiusd systemctl enable radiusd
日誌在
/var/log/radius/radius.log
也可以使用除錯模式啟動,直接在當前頁面顯示日誌
radiusd -X
FreeRADIUS 3.0的測試
修改配置檔案
vim /etc/raddb/users
把以下行的註釋取消
測試
[root@localhost ~]# radtest steve testing localhost 0 testing123
如果輸出"Access-Accept"
表示成功了,"Access-Reject"
表示失敗了。
使用radius -X啟動則在終端顯示以下代表認證成功
關閉radius測試會提示沒有響應
測試完把註釋在加上
4,安裝mariadb
安裝
yum install -y mariadb-server mariadb
啟動
systemctl start mariadb systemctl enable mariadb
執行安全設定
mysql_secure_installation
進入資料庫
[root@localhost ~]# mysql -uroot -p Enter password:
建立資料庫並授權
MariaDB [(none)]> create database radius; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on radius.* to radius@'localhost' identified by 'radius'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec)
5, 配置radius和資料庫
匯入資料庫
[root@localhost ~]# mysql -uroot -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
為/etc/raddb/mods-enabled建立軟連線
[root@localhost ~]# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
檢視
[root@localhost ~]# ll /etc/raddb/mods-enabled/sql lrwxrwxrwx 1 root root 29 1月 19 14:09 /etc/raddb/mods-enabled/sql -> /etc/raddb/mods-available/sql
配置SQL模組/ raddb/mods-available/ SQL,並更改資料庫連線引數,以適合環境
[root@localhost ~]# vim /etc/raddb/mods-available/sql
設定以下項,其餘項保持預設
driver = "rlm_sql_mysql" dialect = "mysql" server = "localhost" port = 3306 login = "radius" password = "radius" radius_db = "radius" read_clients = yes
然後,將/etc/raddb/mods-enabled/sql所屬組更改為radiusd
#chgrp -h radiusd /etc/raddb/mods-enabled/sql
新增客戶端連線設定,新增允許所有使用者接入,如需特定ip訪問,ip可以自由更改。
[root@localhost ~]# vim /etc/raddb/clients.conf
本次設定所有client都可以接入,生產中可設定特定ip
金鑰為testing123為需要在路由器配置的金鑰
client all_client { ipaddr = 0.0.0.0/0 secret = testing123 require_message_authenticator = no }
建立組資訊和使用者
建立組資訊
登入mysql建立
建立組資訊
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');
檢視
建立使用者資訊:(在此新建使用者名稱為test,密碼為testpwd)
insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');
檢視
將使用者加入組中
insert into radusergroup (username,groupname) values ('test','user');
重啟radius測試
systemctl restart radiusd
測試
radtest test testpwd localhost 1812 testing123
6,路由器設定使用radius認證
設定如下
電腦連線wifi
手機 連線
注意:連線可以檢視日誌排錯
tail -f /var/log/radius/radius.log
除錯期間可以使用除錯模式啟動,顯示詳細日誌資訊
radiusd -X