You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Freeradius中配置动态VLAN切换?基于Mikrotik RouterOS v7 NAS

在Freeradius中配置动态VLAN切换(适配Mikrotik RouterOS v7)

一、Freeradius端配置

1. 开启CoA支持

在线用户VLAN切换依赖Change of Authorization (CoA) 机制,先完成基础配置:

  • 启用CoA站点配置:
    ln -s /etc/freeradius/3.0/sites-available/coa /etc/freeradius/3.0/sites-enabled/
    
  • 在clients.conf中添加Mikrotik NAS的授权信息,允许其接收CoA请求:
    client mikrotik-nas {
        ipaddr = 192.168.1.1  # 替换为你的Mikrotik设备IP
        secret = your-radius-secret  # 与Mikrotik端密钥保持一致
        require_message_authenticator = no
        coa_server = yes
    }
    

2. 触发VLAN切换的CoA请求

用radclient命令手动发起切换(适合测试或脚本调用):

echo "User-Name=it-user,Tunnel-Type=13,Tunnel-Medium-Type=6,Tunnel-Private-Group-ID=20,Mikrotik-VLAN-ID=20" | radclient 192.168.1.1:3799 coa your-radius-secret

参数说明:

  • User-Name=it-user:指定目标切换用户
  • Tunnel-Type=13:RFC标准VLAN类型标识
  • Tunnel-Medium-Type=6:RFC标准IEEE 802介质标识
  • Tunnel-Private-Group-ID=20:目标VLAN ID
  • Mikrotik-VLAN-ID=20:兼容Mikrotik私有属性,确保设备识别

若需自动切换,可结合Freeradius的policy.conf配置触发条件,满足规则时自动发送CoA请求。

二、Mikrotik RouterOS v7端配置

1. 启用CoA接收

开启Mikrotik的CoA响应功能:

/radius
set [find name=your-radius-server] accept-coa=yes

(your-radius-server替换为你已配置的RADIUS服务器名称)

2. 配置接入端口VLAN模式

用户接入端口需设为Trunk模式,允许目标VLAN通过,以ether2为例:

/interface ethernet switch port
set ether2 vlan-mode=secure vlan-header=add-if-missing trunk-vlans=10,20,30

(trunk-vlans替换为你实际使用的VLAN ID列表)

3. 验证切换结果

发送CoA请求后,查看用户会话状态确认切换:

  • Hotspot用户:
    /ip hotspot active print detail
    
  • PPPoE用户:
    /ppp active print detail
    

同时检查用户是否获取到目标VLAN的DHCP地址,确认生效。

三、常见问题排查

  • 端口阻断:确保Freeradius与Mikrotik之间的UDP端口(1812、1813、3799)未被防火墙拦截
  • 密钥不匹配:两端RADIUS密钥必须完全一致
  • CoA未启用:再次确认Mikrotik的accept-coa参数为yes
  • 日志定位:查看Freeradius日志排查问题:
    tail -f /var/log/freeradius/radius.log
    

内容的提问来源于stack exchange,提问作者qwerty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 09:55:58