群晖的radius server是魔改的freeradius,可以使用本地ldap server和远程ldap,分别对应两套配置文件。
在使用远程ldap时,会读取控制面板/ldap客户端的配置信息,每次重启radius server都用读取的配置重置radius server的远程ldap配置文件,坑就在这里:radius server有个连接远程ldap的start_tls = no配置信息默认是yes,然而openldap默认是不开放ldaps://的,配置ldaps需要证书等一系列配置,比较繁琐,并且内网使用ldap://也没有什么安全问题,群晖radius server每次修改配置都会重置start_tls为yes,然后就连不上远程ldap了。
解决办法:
1,修改start_tls配置文件

vi /usr/local/synoradius/rad_ldap_starttls
start_tls =no

然后radius server的配置不动,在客户端每次不勾选客户端应用,再够远应用,达到不重置配置文件重启认证服务器。

2,修改ldap配置文件

vi /volume1/@appstore/RadiusServer/etc/raddb/mods-enabled/ldap
    tls {
#        $INCLUDE /usr/local/synoradius/rad_ldap_starttls
       $INCLUDE /var/packages/RadiusServer/target/syno_conf/rad_ldap_starttls
    }

注释掉原来的引用,修改成重启radius server不会重置的配置文件。

3,修改radius server的重启脚本
由于群晖魔改,配置文件启动脚本路径比较混乱,还没有找到重置配置文件的位置。

ps:由于群晖的packages的特殊性,每次升级后理论上上面三个方法都会失效,需要重新修改。