Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

AAA with FreeRadius and Univention UCS

This solution relies on:

LDAPFreeRADIUSUCS1LDAPFreeRADIUSUCS2NetworkDeviceDRS

Cisco side

AAA config

aaa new-model
!
radius server FREERADIUS
 address ipv4 192.168.1.10 auth-port 1812 acct-port 1813
 key StrongSharedSecret123
!
aaa authentication login default group radius local
!
aaa authorization exec default group radius local
!
line vty 0 15
 login authentication default
 transport input ssh

Univention UCS side

LDAP - create the groups

This loads the dc= stuff into ldap_base

eval $(ucr shell)

RADIUS Network Admins

udm groups/group create \
  --position "cn=groups,$ldap_base" \
  --set name="RADIUS Network Admins" \
  --set description="Full RADIUS access to network devices"

RADIUS Network Read Only

udm groups/group create \
  --position "cn=groups,$ldap_base" \
  --set name="RADIUS Network Read Only" \
  --set description="Read-only RADIUS access to network devices"

LDAP - verifying the groups

udm groups/group list --filter name="RADIUS Network Admins"

udm groups/group list --filter name="RADIUS Network Read Only"

Add users

Users need to be added to this group directly.

I am ariadne so that’s my uid.

udm groups/group modify \
  --dn "cn=RADIUS Network Admins,cn=groups,$ldap_base" \
  --append users="uid=ariadne,cn=users,$ldap_base"

Verify users

udm users/user list --filter uid=ariadne | grep -i group

FreeRADIUS clients

cat >> /etc/freeradius/3.0/clients.conf << 'EOF'

client internal_network {
    ipaddr   = 192.168.0.0/16
    secret   = StrongSharedSecret123
    nas-type = cisco
}
EOF

FreeRADIUS Cisco AV pairs

eval $(ucr shell)

cat >> /etc/freeradius/3.0/mods-config/files/authorize << EOF
DEFAULT Ldap-Group == "cn=RADIUS Network Admins,cn=groups,$ldap_base"
        Service-Type = NAS-Prompt-User,
        cisco-avpair = "shell:priv-lvl=15"

DEFAULT Ldap-Group == "cn=RADIUS Network Read Only,cn=groups,$ldap_base"
        Service-Type = NAS-Prompt-User,
        cisco-avpair = "shell:priv-lvl=1"

DEFAULT Auth-Type := Reject
        Reply-Message = "Not in any authorized group"
EOF

Testing on Cisco

test aaa group radius ariadne my-password legacy

Testing on UCS

radtest <user-in-ldap> <ldap-password> <server-ip> 0 <FreeRADIUS-secret>

Do packets arrive

tcpdump -i any -n udp port 1812

Debugging FreeRADIUS

systemctl daemon-reload
systemctl restart freeradius
systemctl status freeradius
freeradius -X

After it’s working, RSYNC it

rsync -av /etc/freeradius/3.0/clients.conf \
  root@ucs-2:/etc/freeradius/3.0/clients.conf
rsync -av /etc/freeradius/3.0/mods-config/files/authorize \
  root@ucs-2:/etc/freeradius/3.0/mods-config/files/authorize

References

Univention Corporate Server - Manual for users and administrators

Last Modified • Sunday, June 21, 2026. 1:30 am UTC+00:00 • Commit: 5af1c25