标签 radius 下的文章

群晖的radius server使用openldap认证的坑

群晖的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的特殊性,每次升级后理论上上面三个方法都会失效,需要重新修改。

ikev2配合radius和ldap认证vpn服务器搭建,适合iphone,macos

ikev2的vpn是苹果系统默认推荐的方式,不需要下载客户端,企业用户配合ldap账号管理很方便。
以下方法基于ubuntu16.04系统,使用脚本https://quericy.me/blog/699/

20180823提醒一下,strongswan不支持野卡(通配符域名证书),需要使用具体的域名证书。
参考https://tools.ietf.org/html/rfc6125#section-7.2

20180524添加我改写的一键安装脚本https://github.com/trepwq/ikev2-radius-ldap/raw/master/install-ikev2-radius-ldap.sh
以下为原作者脚本安装步骤

首先申请域名证书,可以用阿里云免费的单域名证书,申请下来后证书里第一部分是域名证书,写入server.cert.pem;第二部分是ca证书,写入ca.cert.pem ,另一个key文件修改为server.pem,把这三个文件放到quericy脚本的相同目录里。
然后按照提示一步一步来,需要注意的是我开启了snat,其他为默认。如果网卡ip地址是内网ip,就输入内网ip,然后在路由器端把500和4500端口的udp转发给这个内网ip就可以了。
脚本安装完之后修改配置文件/usr/local/etc/ipsec.conf, 把里面的rightauth=eap-mschapv2修改为rightauth=eap-radius,然后在/usr/local/etc/strongswan.d/charon/eap-radius.conf 的servers段添加服务器地址和密码

servers {
        server_synology {
                        address = 192.168.1.1
                        secret = secret
                        }
}

我这里使用了群晖的radius-server。
最后重启ipsec restart。ps,ipsec reload对很多修改不起作用。
最最后添加ipsec开机启动

root@ubuntu:~# cat /etc/rc.local 
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/local/sbin/ipsec start


exit 0

由于使用了域名证书,根证书在苹果系统里是已经存在的,所以不需要导入证书,直接输入用户名密码即可。