| Komponente | Funktion | IP-Adresse |
|---|---|---|
| VM1 | DHCP, Router, FreeRADIUS | 192.168.100.1 |
| VM2 | OpenLDAP + LAM | 192.168.100.10 |
—
bash
sudo apt update && sudo apt upgrade -y
bash
sudo apt install netplan.io
/etc/systemd/network/99-custom-names.link erstellen:bash
sudo nano /etc/systemd/network/99-custom-names.link
/etc/systemd/network/99-custom-names.link
[Match] MACAddress=AA:BB:CC:DD:EE:01 [Link] Name=wan0 [Match] MACAddress=AA:BB:CC:DD:EE:02 [Link] Name=lan0
bash
sudo update-initramfs -u sudo reboot
bash
sudo nano /etc/netplan/01-netcfg.yaml
/etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
wan0:
dhcp4: true
lan0:
addresses:
- 192.168.100.1/24bash
sudo netplan apply
bash
sudo apt install isc-dhcp-server iptables-persistent freeradius freeradius-ldap net-tools netplan.io curl sudo less vim
net-tools, vim, less, sudo, curl/etc/dhcp/dhcpd.conf):/etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.100 192.168.100.200;
option routers 192.168.100.1;
option domain-name-servers 192.168.100.10;
}/etc/default/isc-dhcp-server:/etc/default/isc-dhcp-server
INTERFACESv4="lan0"
bash
sudo apt install slapd ldap-utils ldap-account-manager net-tools netplan.io curl sudo less vim
zkm.localzkmadminpass)basisstruktur.ldif
dn: dc=zkm,dc=local objectClass: top objectClass: dcObject objectClass: organization o: ZKM dc: zkm dn: cn=admin,dc=zkm,dc=local objectClass: organizationalRole cn: admin dn: ou=people,dc=zkm,dc=local objectClass: organizationalUnit ou: people dn: ou=groups,dc=zkm,dc=local objectClass: organizationalUnit ou: groups
bash
sudo ldapadd -x -D "cn=admin,dc=zkm,dc=local" -W -f basisstruktur.ldif
ldif
dn: uid=demo,ou=people,dc=zkm,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Demo Benutzer
sn: Benutzer
uid: demo
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/demo
loginShell: /bin/bash
userPassword: {SSHA}<gehashtes_Passwort>bash
slappasswd
bash
sudo ln -s /etc/freeradius/3.0/mods-available/ldap /etc/freeradius/3.0/mods-enabled/
conf
server = '192.168.100.10'
identity = 'cn=radius,dc=zkm,dc=local'
password = 'radiuspass'
base_dn = 'dc=zkm,dc=local'
user {
base_dn = "${..base_dn}"
filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
scope = 'sub'
}
update {
control:Password-With-Header += 'userPassword'
}/etc/freeradius/3.0/sites-enabled/default:conf
if ((ok || updated) && User-Password && !control:Auth-Type) {
update {
control:Auth-Type := ldap
}
}bash
sudo freeradius -X
bash
sudo iptables -t nat -A POSTROUTING -o wan0 -j MASQUERADE sudo iptables -P FORWARD ACCEPT
bash
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
bash
sudo netfilter-persistent save
bash
sudo apt install ldap-account-manager
| Fehler | Ursache | Lösung |
|---|---|---|
| Benutzer nicht gefunden | falscher Login-Filter | Login-Methode auf „Direkter DN“ ändern |
| Kein Internet auf VM2 | NAT nicht aktiv | iptables + IP-Forwarding ĂĽberprĂĽfen |
| RADIUS kein Passwort | Attribut nicht lesbar | userPassword lesbar machen, Hash prĂĽfen |
| slapd lauscht nur lokal | SLAPD_SERVICES falsch | in /etc/default/slapd prĂĽfen |
| LAM findet DN nicht | falscher Filter oder OU fehlt | Basisstruktur kontrollieren |
âś… Authentifizierung von LDAP-Usern ĂĽber FreeRADIUS
âś… NAT und Routing aktiv auf VM1
✅ Benutzerverwaltung über LAM funktionsfähig
Lars WeiĂź 2025/05/01 17:31