You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将FreeRadius服务器连接超时时间调整至10秒以上?

解决FreeRADIUS对接SoftEther VPN时2FA认证超时的问题

我之前也碰到过一模一样的情况——SoftEther在10秒后就切断RADIUS认证连接,导致2FA还没完成就失败。折腾了好几天,终于找到几个关键的调整点,你可以逐一试试:

1. 调整FreeRADIUS全局请求超时时间

FreeRADIUS默认的max_request_time通常是10秒,这刚好是你碰到的超时阈值。修改这个参数:

  • 打开FreeRADIUS的主配置文件/etc/raddb/radiusd.conf(不同系统路径可能略有差异,比如/etc/freeradius/radiusd.conf
  • 搜索max_request_time,把默认值改成20秒以上,比如:
    max_request_time = 25
    
    这个参数控制单个认证请求的最长存活时间,足够覆盖2FA的验证流程。

2. 调整客户端(SoftEther)的超时设置

除了全局设置,还要给SoftEther对应的客户端单独配置超时:

  • 打开/etc/raddb/clients.conf(或对应路径)
  • 找到你SoftEther VPN服务器的条目(通常是按IP地址匹配的),添加或修改timeout参数:
    client softether-vpn {
        ipaddr = 192.168.x.x  # 你的SoftEther服务器IP
        secret = your-shared-secret
        timeout = 15  # 单个请求的超时时间,建议设为全局时间的一半左右
    }
    

3. 调整SoftEther VPN自身的RADIUS认证超时

这一步很容易被忽略!SoftEther自己也有认证超时限制,就算FreeRADIUS调大了,SoftEther提前切断连接也没用:

  • 登录SoftEther VPN Server的管理界面(或用vpncmd命令行工具)
  • 进入服务器设置,找到「RADIUS认证」相关选项
  • 将「认证超时时间」调整为25秒以上(比如30秒),确保给FreeRADIUS足够的时间处理2FA验证

验证调整效果

修改完成后,先重启FreeRADIUS服务:

systemctl restart radiusd

然后重启SoftEther VPN服务,再测试2FA认证流程。也可以用radtest命令模拟长耗时的认证请求,验证超时是否生效:

radtest your-username your-password your-radius-server-ip 10 your-shared-secret -T 20

这里-T 20指定测试的超时时间为20秒,如果能正常完成认证,说明设置生效了。

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

火山引擎 最新活动