Ddns

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

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

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?

Hallo,

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"

Mit freundlichen Grüßen,
Tim Petersen

vielen Dank :slight_smile: funktioniert!!

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

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.

Mastodon