DHCP option definieren

german

#1

Guten Tag

Wir müssen globale DHCP “options” setzen und diese danach in den subnet welche korrekt im UMC angeleget werden wieder verwenden und mit Werten abfüllen.

Beispiel in der Datei /etc/dhcp/local.conf erfasst:

option space PXE;
option PXE.discovery-control code 6 = {
        unsigned integer 8
};

option PXE.boot-server code 8 = {
        unsigned integer 16,
        unsigned integer 8,
        ip-address
};

option PXE.boot-menu code 9 = {
        unsigned integer 16,
        unsigned integer 8,
        text
};

option PXE.menu-prompt code 10 = {
        unsigned integer 8,
        text
};

Danach wird ein subnet im UMC erfasst, die Ausgabe ist aus der Datei /var/log/dhcp-ldap-startup.log:

subnet 10.0.16.0 netmask 255.255.255.0 {                     
range 10.0.16.101 10.0.16.199;                               
option broadcast-address 10.0.16.255;                        
option routers 10.0.16.1;                                    
option domain-name "test.local";                     
option domain-name-servers 10.9.42.111;  
} 

Wie kann ich nun diesem subnet die global options zuweisen und mit den richtigen Werten versehen?

subnet 10.0.16.0 netmask 255.255.255.0 {                     
range 10.0.16.101 10.0.16.199;                               
option broadcast-address 10.0.16.255;                        
option routers 10.0.16.1;                                    
option domain-name "test.local";                     
option domain-name-servers 10.9.42.111;  
# spezial
        option vendor-class-identifier "PXEClient";
        vendor-option-space PXE;
        option PXE.discovery-control 7;
        option PXE.boot-server 15 1 10.9.42.71;
        option PXE.boot-menu 15 5 "Rembo";
        option PXE.menu-prompt 0 "Rembo";
}

Kann man ein subnet doppelt definieren? einmal im UMC/LDAP und die spezial options im local.conf?
Wie kann man die komplette DHCP-Konfiguration ausgeben, damit man sieht wie die Mischung zwischen UMC/LDAP und der local.conf aussieht? mit dhcpd -t gibt es keine Syntax Fehler.

Es würde auch noch die Möglichkeit geben mit ldapmodify folgende Sachen zu erweitern, das ist aber sehr aufwändig. Als beispiel ist hier die wpad DHCP-Option zu betrachten:

dn: cn=schule1,cn=dhcp,ou=schule1,dc=test,dc=local
cn: schule1
univentionObjectType: dhcp/service
objectClass: top
objectClass: univentionDhcpService
objectClass: dhcpOptions
objectClass: univentionObject
objectClass: univentionPolicyReference
univentionPolicyReference: cn=default-settings,cn=dns,cn=dhcp,cn=policies,dc=test,dc=local
dhcpOption: wpad code 252 = text;
dhcpOption: wpad "http://dcschule1.test.local/proxy.pac";

Besten Dank für Hilfe.

Grüsse, RolandB


DHCP: MAC Adressen ausschliessen
#2

Hallo,

vermutlich können Sie die zusätzlichen DHCP Option über UCR sowie das “options” Attribut der DHCP-Services konfigurieren. Beispiele und Details zur Implementation dazu finden Sie im Forum und im Bugzilla:[ul]
[li]Routing per DHCP übergeben[/li]
[li]ntp-servers in dhcpd.conf[/li]
[li][bug]26838[/bug][/li][/ul]

Mit freundlichen Grüßen
Janis Meybohm


DHCP-Optionen setzen
#3

Guten Tag

So einfach ist es leider nicht. Ich habe nun begriffen wie Univention das möchte. Auf dem DHCP-Server werden die DHCP-Options definiert (die werden dann in die dhcpd.conf geschrieben):

ucr set dhcpd/options/wpad/252=text
ucr set dhcpd/options/ntp-servers/42="array of ip-address"

Am besten auf dem DC-Master muss diese Defition eine DHCP-subnetz oder DHCP-Service zugewiesen werden mit den korrekten Werten.

udm dhcp/service modify --dn="cn=schule1,cn=dhcp,ou=schule1,dc=test,dc=local" --append option='wpad "http://dcschule1.test.local/proxy.pac";'
udm dhcp/service modify --dn="cn=schule1,cn=dhcp,ou=schule1,dc=test,dc=local" --append option='ntp-servers 32.18.42.16;'

Das konnte ich nachvollziehen und das sollte auch funktionieren. Lieder verstehe ich aber nicht wie ich die komplexeren DHCP-Options erfassen muss mit ucr und nachher udm. Momentan habe ich es wie beschrieben über die local.conf gelöst. Das ist sicher nicht die schönste Lösung.

Syntax testen mit dhcpd -t ist immer noch eine gute Sache.

Besten Dank für die Links

mfg, RolandB