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 • Saturday, June 13, 2026. 6:58 am UTC+00:00 • Commit: 27246d6