有涉及3A服务器的小伙伴可以了解一下,对接portal1.0/2.0协议的AC/AP亲测好用,献上原地址 https://github.com/extrame/syler,go语言编写,至于如何搭建golang环境,请参考上篇博文。
1、下载、编译syler源码
cd /usr/local/
yum -y install git
go get github.com/extrame/syler
2、增加syler配置文件,syler.conf是syler程序的主要配置文件,放置在syler可执行程序同级目录下
vim /usr/local/go/bin/syler.conf
(配置文件示例,具体参数根据需求自行修改)
[radius]
port = 1812 #radius服务的监听端口
acc_port = 1813 #radius计费服务的监听端口
secret = "mink2501" #radius和nas通讯密钥
enabled = false #是否开启radius模拟服务
[http]
port = 8080 #HTTP监听端口
[huawei]
port = 50100 #和华为交换机交互的本机监听端口
version = 2 #华为交换机portal协议的版本,目前只支持1版本
secret = "mink2501" #portal和华为交换机的通讯密钥
nas_port = 2000 #华为交换机的监听端口
domain = "minktech.com" #用户的默认监听域
timeout = 15 #和交换机交互的超时时间,单位秒
[basic]
callback_logout = "http://localhost/test" #当交换机向服务器发送用户下线等主动消息时,服务器转发的目的url
logfile = "./debug.log" #日志文件
remote_ip_as_user_ip = true #是否使用请求的ip作为用户ip
nas_ip = "192.168.0.1
(默认监听8080端口,ubuntu需防火墙开放此端口 sudo ufw allow 8080)
3、本人发现syler一处bug,提供的接口参数和接口内参数不符,所以把接口参数稍作修改,接口部分说明如下
通过调用相关接口上层应用可以实现不同ip、不同用户的上线和下线
接口地址 http://12.34.56.78/login
接口说明 调用该接口实现某个用户(IP)的上线功能
接口参数
接口实现用户的下线功能
4、运行syler
cd /usr/local/go/bin
./syler
如需后台一直运行syler,请使用命令 nohup ./syler &
以上