Ddns

german

#1

Hallo,
ich werde aus der Doku zum Thema DDNS nicht ganz schlau … [quote]Diese können bislang noch nicht gegen einen LDAP-basierten DNS-Dienst durchgeführt werden, wie er von UCS bereitgestellt wird.[/quote] heißt das, dass dies generell nicht funktioniert oder nur mit dem dns/backend ldap nicht?

In der Datei dhcp.conf ist zu lesen [quote]dynamic DNS: with external name server only![/quote]

dann Gibt es in Bugzilla folgendes
http://forge.univention.org/bugzilla/show_bug.cgi?id=32425
https://forge.univention.org/bugzilla/show_bug.cgi?id=24282

…irgendwie verwirrend das ganze …

Ich möchte eine Zone name.dhcp anlegen, und dort alle Geräte die mittels DHCP ihre Adressen beziehen automatisch eintragen. Ich hoffe hier kann mir jemand sagen ob dies mit UCS möglich ist oder ob ich einen externen DHCP laufen lassen muss?

Danke


Linux Client (DHCP) wird nicht in DNS eingetragen
Dhcp / ddns
Einrichtung DHCP-Server
#2

Hallo,

so richtig klar ist mir das im Moment auch nicht.
[bug]32425[/bug] sagt, dass jemand in die Doku schreiben sollte, dass mit S4 als DNS-Backend DDNS von Haus aus implementiert ist.
Auf der anderen Seite sehe ich weiterhin die dhclient/options/ddns Variablen die laut [bug]27640[/bug] nicht weiter dokumentiert werden müssen.

Viele Grüße,
Dirk Ahrnke


#3

die Frage stellt sich auch, warum gibt es überhaupt unter DHCP -> Subnetz -> Richtlinien - eine Richtlinie “DHCP DNS Aktualisierung” wenn dies nicht unterstützt wird? wäre schön wenn in der Doku näher darauf eingegangen würde.

Wie ist bei euch der Workaround mit DHCP und DNS? vielleicht habe ich ja auch einen Denkfehler … wie werden bei euch die Hostnamen der DHCP Clients aufgelöst? müssen die Clients zwingend einer Domain angehören?


#4

Hallo,

[ul]
[li]Mit Samba4 als Backend geht es, sofern es der Client eben selber mit seinem Kerberos-Ticket macht.
[bug]37346[/bug]
[/li]
[li]DDNS mit OpenLDAP als Backend für BIND funktioniert nicht, weil BIND nicht ins LDAP zurückschreiben darf.
[/li]
[li]DDNS mit einer Zone in einer Datei funktioniert (exemplarisch, ohne Gewähr):
Schlüssel erzeugen oder /etc/bind/rndc.key verwenden

ddns-confgen -a hmac-md5 -k ddns-key -r /dev/urandom -q >/etc/bind/ddns.key
chown root:bind /etc/bind/ddns.key
chmod 0640 /etc/bind/ddns.key
# Berechtigungen für Schlüssel korrigieren (Samba)
mount -o remount,user_xattr,acl /
setfacl -m u:root:r /etc/bind/ddns.key

Zonen anlegen

cat >/var/lib/bind/forward.$(dnsdomainname).db <<FORWARD_ZONE \$TTL 604800 @ IN SOA $(hostname -f). root.$(dnsdomainname). (1 7d 1d 28d 7d) @ IN NS $(hostname -f). FORWARD_ZONE cat >/var/lib/bind/reverse.$(dnsdomainname).db <<REVERSE_ZONE \$TTL 604800 @ IN SOA $(hostname -f). root.$(dnsdomainname). (1 7d 1d 28d 7d) @ IN NS $(hostname -f). REVERSE_ZONE chgrp bind /var/lib/bind/*.$(dnsdomainname).db chmod 0664 /var/lib/bind/*.$(dnsdomainname).db
Bind-Proxy konfigurieren

# Bzw. /etc/bind/local.conf.proxy cat >>/etc/bind/local.conf.samba4 <<BIND_CONF include "/etc/bind/ddns.key"; zone "forward.$(dnsdomainname)" { type master; file "/var/lib/bind/forward.$(dnsdomainname).db"; allow-update { key ddns-key; }; }; zone "reverse.$(dnsdomainname)" { type master; file "/var/lib/bind/reverse.$(dnsdomainname).db"; allow-update { key ddns-key; }; }; BIND_CONF
DHCPd konfigurieren

cat >>/etc/dhcp/local.conf <<DHCP_CONF include "/etc/bind/ddns.key"; zone forward.$(dnsdomainname). { primary 127.0.0.1; key ddns-key; } # kein Semikolon zone reverse.$(dnsdomainname). { primary 127.0.0.1; key ddns-key; } # kein Semikolon DHCP_CONF
UDM konfigurieren

udm policies/dhcp_dnsupdate create --position "cn=dnsupdate,cn=dhcp,cn=policies,$(ucr get ldap/base)" \ --set name="$(dnsdomainname)" \ --set ddnsUpdateStyle=interim \ --set ddnsUpdates=on \ --set clientUpdates=deny \ --set ddnsDoForwardUpdate=true \ --set updateStaticLeases=true \ --set ddnsDomainname="\"forward.$(dnsdomainname).\"" \ --set ddnsRevDomainname="\"reverse.$(dnsdomainname).\"" \ --set ddnsHostname='= concat ("dhcp-", binary-to-ascii (10, 8, "-", leased-address))' policy="cn=$(ucr get domainname),cn=dnsupdate,cn=dhcp,cn=policies,$(ucr get ldap/base)" service=$(udm dhcp/service list | sed -ne 's/DN: //p') udm dhcp/service modify --dn "$service" --policy-reference "$policy"[/li][/ul]

Mit freundlichen Grüßen,
Tim Petersen


#5

vielen Dank :slight_smile: funktioniert!!


#6

Hallo zusammen,

ich bin ebenfalls nach der Anleitung ob vorgegangen und es funktioniert soweit.

Allerdings werden die DHCP Clients nicht mit ihrem Name in bind eingetragen, sondern mit ihrer IP Adresse.
Soll heißen:
Statt einen Record wie z.B. “Computer1.forward.intern.domain.com” gibt es Einträge wie “dhcp-10-0-0-15.forward.intern.domain.com” entsprechend der eben vergebenen IP.

Aus dem syslog ist jedoch zu entnehmen, das zumindest dem DHCP Dienst der Hostname “Computer1” bekannt war.

Wo liegt hier noch der Fehler ?

Danke euch.
Grüße,
Ludwig


#7

Ich konnte mein Problem lösen.

In obiger Anweisung zur LDAP Konfiguration ist

 --set ddnsHostname='= concat ("dhcp-", binary-to-ascii (10, 8, "-", leased-address))'

durch

 --set ddnsHostname='= host-name'

zu ersetzen. Dann wird der Hostname verwendet.