Syler——开源华为portal协议中间件

有涉及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,提供的接口参数和接口内参数不符,所以把接口参数稍作修改,接口部分说明如下

Login接口

通过调用相关接口上层应用可以实现不同ip、不同用户的上线和下线
  • 接口地址 http://12.34.56.78/login

  • 接口说明 调用该接口实现某个用户(IP)的上线功能

  • 接口参数

    • userip,必填,用户IP,待认证的用户的上网IP
    • nasip,必填,网络接入设备的IP
    • username,可选,用户登录用户名,当随机用户名配置项打开时,该项为可选项;否则为必填
    • userpwd,可选,用户登录密码,当随机用户名配置项打开时,该项为可选项;否则为必填
    • timeout,可选,用户上网允许时长,当为空时,不限制用户时长

Logout

接口实现用户的下线功能
  • 接口地址:http://12.34.56.78/logout
  • 接口说明:调用该接口实现某个用户(IP)的下线功能
  • 接口参数
    • userip,必填,用户IP,待下线的用户的上网IP
    • nasip,必填,网络接入设备的IP

4、运行syler

cd /usr/local/go/bin

./syler

如需后台一直运行syler,请使用命令 nohup ./syler &



以上

你可能感兴趣的:(Golang)