Temos uma configuração semelhante, mas sem a autenticação do Google. As restrições do grupo AD no freeradius podem ser configuradas da seguinte maneira:
O arquivo users
contém:
DEFAULT Ldap-Group != "vpn", Auth-Type := Reject
O arquivo modules/ldap
contém:
ldap {
server = 127.0.0.1
identity = "cn=ad-freerad,cn=System,dc=kiwi,dc=intern"
password = "SECRET"
basedn = "dc=kiwi,dc=intern"
filter = "(&(objectClass=USER)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}}))"
ldap_connections_number = 5
max_uses = 0
port = 389
timeout = 4
timelimit = 3
net_timeout = 1
chase_referrals = no
rebind = no
tls {
start_tls = no
}
dictionary_mapping = ${confdir}/ldap.attrmap
password_attribute = userPassword
groupname_attribute = cn
groupmembership_filter = "(&(objectclass=GROUP)(member=%{control:Ldap-UserDn}))"
set_auth_type = no
keepalive {
idle = 60
probes = 3
interval = 3
}
}
Isso garante que o radius use o módulo ldap para verificar os grupos de um usuário, e a solicitação será negada se o usuário não for um membro do grupo vpn .