This page tries to document the changes needed in lwat to use the new features available in Debian Edu after "ldapifying" DHCP and DNS services. These changes don't affect at the way the users are managed, but to the way machines must be added for the network to work properly.
This attached file has the slapcat dump of a server that has being in production using this setup since May 2008. Most of the user accounts have been removed for confidentially reasons. There still a couple of them left (with messed data) in case its setup can be useful. The hosts setup hasn't been altered.
Adding non-thin client machines
Currently, when adding a new machine, lwat asks for its host_name, MAC_address, IP_address and domain_name. Then, it adds the machine to the ou=hosts branch in the ldap tree. With the new setup, this is useless.
These are the ldap branches where the machine must be added:
This is the ldif for the needed new entry:
dn: cn=host_name,cn=group1,cn=INTERNAL,cn=DHCP .... cn: host_name objectClass: top objectClass: dhcpHost dhcpHWAddress: ethernet MAC_address dhcpStatements: fixed-address host_name
Where group1 must be increased to group2, group3, etc. as the current ldap containing no more than 250 machines in every group. This is a limitation of the current use of ldap as a DHCP3 server backend. The group where the machine is added don't mind.
Obviously, this setup is not needed if the machine doesn't need a fixed hostname and address
Both, inverse and direct resolution must be configured. Using, as example, an ip address 172.23.36.30:
dn: dc=30,dc=36,dc=23,dc=172,dc=in-addr,dc=arpa,ou=hosts,dc=... changetype: add objectclass: dnsdomain2 objectclass: domainrelatedobject dc: 30 associateddomain: 22.214.171.124.in-addr.arpa PTRRecord: host_name.domain_name dn: dc=host_name,dc=domain_name,ou=hosts,dc=... changetype: add objectclass: dnsdomain2 objectclass: domainrelatedobject dc: host_name associateddomain: host_name.domain name ARecord: 172.23.36.30
The machine has to be added to its Netgroup too.
Adding thin client machines
Only the DHCP config is needed:
dn: cn=host_name,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=... cn: host_name objectClass: top objectClass: dhcpHost dhcpHWAddress: ethernet MAC_address dhcpStatements: filename "/var/lib/tftpboot/ltsp/i386/pxelinux.0"