背景:
RADIUS(Remote Authentication Dial-In User Server,远程认证拨号用户服务)是一种分布式的、C/S架构的信息交互协议,能包含网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。
协议定义了基于UDP(User Datagram Protocol)的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。
工作原理
RADIUS认证、授权和计费:
接入设备作为RADIUS客户端,负责收集用户信息(例如:用户名、密码等),并将这些信息发送到RADIUS服务器。RADIUS服务器则根据这些信息完成用户身份认证以及认证通过后的用户授权和计费。用户、RADIUS客户端和RADIUS服务器之间的交互流程如下:
图:RADIUS认证、授权、计费的交互过程
第一步,安装软件
sudo apt-get install -y freeradius
第二步,配置AP可访问radius服务器
sudo vi /etc/freeradius/3.0/clients.conf
添加如下内容到尾部,其中:
AP_WPA_AUTH随意
ipaddr是AP所在的IP网段或者单个IP
secret表示AP通过这个秘钥和radius服务器通信,需要在AP做配置.
修改任意网络连接:
client AP_WPA_AUTH {
ipaddr = 0.0.0.0/0
secret = www123456
}
第三步, 添加终端用户
sudo vi /etc/freeradius/3.0/users
添加如下内容到文件尾部
usertest Cleartext-Password := "userpassword"(账户密码也是可以和密钥一样都可以自定义然后登录的时候一致就行)
第四步, 启动radius:
开机自启动: sudo systemctl enable freeradius
重启freeradius: sudo systemctl restart freeradius
启动radius: sudo systemctl start freeradius
停止radius: sudo systemctl stop freeradius
查看radius状态: sudo systemctl status freeradius
检查配置是否OK: sudo freeradius -CX(配置没有问题)
测试添加用户是否ok: radtest usertest userpassword localhost 0 testing123
第五步, 终端连wifi
需要选择eap认证,输入第三步的用户名usertest,密码userpassword