DHCP: MAC Adressen ausschliessen

german

#1

Hallo,

da der kostenpflichtige (!!) Univention Support nicht zu mehr in der Lage war, als mich auf diesen nicht zielführenden Formus-Post zu verweisen

frage ich einfach mal hier. Ich muss dem DHCP-Server verbieten Leases an bestimmte Gruppen von MAC-Adressen zu vergeben. Normalerweise mache ich das so:

class "deny1" {
        match if substring(hardware,1,3) = 00:04:13;
}
class "deny2" {
        match if substring(hardware,1,3) = 00:08:5D;
}
class "deny3" {
        match if substring(hardware,1,3) = 00:15:65;
}

class "deny4" {
        match if substring(hardware,1,3) = 00:30:42;
}

subnet 192.168.100.0 netmask 255.255.255.0 {
pool {
        deny members of "deny1";
        deny members of "deny2";
        deny members of "deny3";
        deny members of "deny4";
        range 192.168.100.40 192.168.100.69;
}
}

Kann mir hier jemand helfen und sagen, wie GENAU ist das hier im UCS konfigurieren kann?

TIA
Matthias


#2

Hallo,

ich verstehe den Hinweis so, dass Sie das, was Sie normalerweise für diesen Konfigurationsansatz nehmen, anstelle über den üblichen Weg im UCS-LDAP direkt in die /etc/dhcp/local.conf einfügen. Es gibt des öfteren Dinge, die über das hinausgehen, was im aktuellen Stand mit UCS sinnvoll abzubilden ist. Wir haben schon das eine oder andere Mal z.B. Nagios oder die DNS-Dienste über die lokalen Konfigurationsdateien funktional erweitert.

Viele Grüße,
Dirk Ahrnke


#3

Hallo,

nein, falsch. Ich mache das so bei einem “normalen” DHCP-Server. Ich wüsste gerne wie ich das dem UCS sage, also in den LDAP schreibe dass das passiert was ich brauche. Die Frage ist halt auch geht das überhaupt oder muss ich doch “local” nehmen und die anschliessende Frage ist geht das überhaupt, da ich ja annehme, dass der UCS per LDAP auch schon ein “subnet” definiert und es dann somit ja nicht mehr sinnvoll per “local” machen kann. Gut wäre auch wenn ich wüsste, wie der UCS-DHCP hier eingestellt ist und das alles abarbeitet, damit ich weiss was geht, was ich machen kann und was nicht. Am liebsten wäre mich ich müsste “local” nicht verwenden.

MH


#4

Hallo,

die DHCP Option “client classing” kann man im Moment nicht über UCS setzen. Deswegen ist die local.conf derzeit der einzige Weg.
Das betreffende Subnet sollte dann natürlich nicht über UCS verwaltet sein. Automatisch passiert das allerdings auch nicht.
Wenn Sie sich nicht sicher sind, was effektiv eingestellt ist, können Sie “ldap-debug-file” in /etc/dhcp/dhcpd.conf aktivieren und in der angegeben Datei nachsehen.

Viele Grüße,
Dirk Ahrnke


#5

Hmmm … das ist schlecht, da nicht Windows-Admin-Kompatibel und so mit ein Featurerequest, da das unter Windows “einfach so” geht. Siehe Anhang.



#6

Hallo,

ich habe Ihren Erweiterungswunsch in [bug]36226[/bug] abgelegt.

Viele Grüße.
Dirk Ahrnke


#7

nicht so schön … x scheint wohl eher gegen unendlich zu gehen :frowning:

Target Milestone: UCS 4.0-x

und im Moment ist x = 2


#8

Hallo,

wir sind im Moment in der internen Planung zum DHCP-Thema, daher wird/wurde das kurzfristig nicht umgesetzt. Als Kompromiss können die Filter aber über “Extended Attributes” in die grafische Oberfläche gebracht werden:

[ol]
[li] die Definition der Filter erstellen Sie per Texteditor wie in Ihren Beispielen ob in /etc/dhcp/local.conf[/li]
[li] die Zuordnung zu Pools kann durch ein Extended Attribute freigeschaltet werden, das über folgenden Befehl (als root) angelegt wird:

eval $(ucr shell) udm settings/extended_attribute create --position "cn=custom attributes,cn=univention,$ldap_base" \ --set name=dhcpPermitList --set objectClass=univentionDhcpPool \ --set module="dhcp/pool" --set shortDescription="dhcpPermitList" \ --set ldapMapping=dhcpPermitList --set syntax=string \ --set longDescription="permit list" --set tabName="DHCP permit list" \ --set multivalue=1 --set mayChange=1[/li][/ol]

Beim nächsten Login an der UMC erscheint ein neues Feld am “pool”-Objekt im LDAP. Ein Beispieleintrag wäre ‘deny members of “deny4”’ (syntax wie in der dhcp,conf, ohne abschließendes “;”). Bitte beachten Sie, das Änderungen an diesem Attribut mit den bereits implementierten Allow/Deny Regeln auf dem “Erweiterte Einstellungen” Reiter kollidieren können, ausserdem können syntaktisch falsche Eingaben einen Start des DHCP-Servers verhindern - hier könnte man über weitere Konfiguration des Extended Attributes an die eigene Umgebung auch auf ein Drop-Down wechseln.

Über die weitere Umsetzung werden wir über den Bugzilla-Request kommunizieren.

Viele Grüße,
Ingo Steuwer


#9

Ich habe als Workaround einfach den DHCP-Server des UCS nicht benutzt. Jetzt befasse ich mich mal wieder mit der Sache und habe das mit einem aktuellen 4.1 ausprobiert. Im Webinterface finde ich das nirgends. Neu angemeldet habe ich mich. Was mache ich falsch?

Keine Aktionen im Bug zu sehen …


#10

Ich weiss jetzt, warum das bei mir nicht funktioniert:

Das Custom-Attribute bezieht sich auf die Objectclass “univentionDhcpPool”. In der aktuellen Version 4.1 wird aber “univentionDhcpPool” nicht mehr verwendet und ein Pool lässt sich auch nicht anlegen, sondern es wird in der Objectclass “univentionDhcpSubnet” das Attribut “dhcpRange” verwendet. Somit funktioniert der Vorschlag nicht (mehr).

Hat jemand eine Idee wie das mit der Version 4.1 funktioniert?


#11

Moin,

das ist so nicht ganz korrekt. Es werden weiterhin Pools verwendet, allerdings nur optional als Unterobjekte von Subnetzen. Man muss in vielen einfachen Situationen schlicht nicht auf Pools zurückgreifen. Es gibt aber durchaus Situationen, in denen das doch notwendig ist, z.B. bei Failover-Konfigurationen.

Navigieren Sie im LDAP-Baum zu »dhcp« und klicken Sie dort das zu modifizierende Subnetz an. Nun können Sie rechts ein neues Pool-Objekt unterhalb des Subnetzes anlegen. Siehe angehängter Screenshot.

Gruß,
mosu



#12

Hallo Moritz,

danke! Gut, dass das so intuitiv zu machen ist … wundern tut es mich nicht, denn IMHO steht Usability bei dem UMC nicht im Vordergrund. Gerade DHCP und DNS sind immer die Module bei denen ich mir die Haare raufe. Hätte ich mal im Handbuch nach “pool” gesucht (was ich jetzt nachgeholt habe) hätte ich selbst drauf kommen können. Ich gelobe Besserung und werde zukünftig erst ins Handbuch schauen.

Matthias


#13

Da sich in dieser Sache seit einem Jahr nichts bewegt habe ich mal das aktuelle Workaround zusammengefasst:

wiki.mhcsoftware.de/ucs