Linux Client (DHCP) wird nicht in DNS eingetragen

german

#1

Hallo zusammen,

ich versuche mich gerade durch die Dokumentation zu kämpfen aber so ganz schlau werde ich nicht.

Ich habe bisher nur den UCS eingerichtet und bei der Installation den DHCP-Server mitinstalliert. Anschließend unter Netzerk erste und letze Adresse des Netzes und unter DHCP den Range den er vergeben soll definiert. Mehr nicht.

Linux-Laptop auf DHCP umgestellt und ich habe eine IP erhalten und ereiche den UCS unter seinem Hostnamen. Prima!

Aber umgekehrt funktioniert es nicht. Vom UCS aus kann ich das Notebook nicht unter seinem Hostnamen anpingen. Was muss ich tun damit die Hostnamen der Clients die vom DHCP eine Adresse erhalten automatisch in den DNS eingetragen werden.

Woraus ich auch nicht so ganz schlau werde ist das anlegen der Rechner auf dem Server. Muss ich den Client hier vorher anlegen? Dort muss ich aber eine IP eintragen und genau dass möchte ich ja bei DHCP nicht. Verstehe das Konzept wohl noch nicht ganz.

Eventuell kann mir jemand einen schups geben.

Viele Grüße
Sven


#2

Hallo,

die übliche Methode ist in der Tat, dass man den Client in der UMC mit einer festen Lease anlegt. Dazu reicht ein “IP-Managed Client” bei dem man die DNS- und DHCP-Felder füllt. Wenn man die MAC-Adresse nicht zur Hand hat, kann man sie sich - sofern eine Range für dynamische Adressen existiert - aus /var/log/daemon.log besorgen.

Die Variante DDNS geht auch, ist aber etwas komplexer.

Viele Grüße,
Dirk Ahrnke


#3

Danke schon mal für die Antwort.

Ich habe den DHCP-Range von 192.168.1.100 bis 192.168.1.200 definiert. Wenn ich nun einen IP managend Client hinzufüge schlägt UCS 192.168.1.2 (der UCS selbst hat 192.168.1.1) vor. Muss die hier vergebene innerhalb oder außerhalb des Ranges liegen? Ich denke außerhalb.

DDNS gefällt mir eigentlich besser. Ich habe mir die “Anleitung” mal angeschaut. Der erste Abschnitt “Schlüssel erzeugen oder /etc/bind/rndc.key verwenden” ist soweit klar für mich. Bei den darauf folgenden ist mir nicht ganz klar wo die einzelnen Befehle enden bzw. der nächste anfängt. So:

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

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; }; };

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 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"

Also jeder Code-Block wir ins Terminal kopiert? Ist zwar nur eine Testinstallation aber ich will nicht unbedingt die Konfiguration vermurksen und neu installieren.

Viele Grüße
Sven


#4

Hallo,

ja, eine feste Lease sollte außerhalb des dynamischen IP-Bereichs liegen. Ich wäre mir nicht sicher, ob irgendwo ein Schutz gegen Doppelvergabe von IP-Adressen in diesem Fall gibt.

Die Anleitung von Tim habe ich noch nicht probiert. Es sieht aber so aus als könnte man das mit copypasta in eine Shell fallen lassen.

Viele Grüße,
Dirk Ahrnke


#5

Wenn es einen Mechanismus gibt, der das verhindern soll, dann funktioniert er nicht :wink:
Ich vermute aber einfach es gibt keinen.

Als ich die Anleitung geschrieben habe, ging copy und paste, ja.

Viele Grüße,
Tim


#6

Als ich die Anleitung geschrieben habe, ging copy und paste, ja.

Viele Grüße,
Tim[/quote]
Habe mich mal zunächst weiter durchs Handbuch gelesen. Würde aber doch gerne DDNS haben.

Nochmal zur Sicherheit die Frage an Tim: Stimmen die Befehlsblöcke so wie ich sie oben zerteilt habe?


#7

Hallo pixel,
Tim hatte zwar schon drauf geantwortet (Du hast es selbst zitiert), aber hier nochmal:
Ja, die Befehlsblöcke können per copy&paste in einer Shell ausgeführt werden, oder man fügt alles nacheinander in ein Shellscript ein und führt Dieses aus.

Wenn Du mit UCS eine “Standard-(Samba4)-Domäne” einrichtest, funktioniert die Namensauflösung praktisch out-of-the-box. Zumindest hat das bei mir bisher immer funktioniert, wenn ich einen Ubuntu-Client in der Domäne registriert habe (wie das geht steht hier).

Ansonsten, bei BIND, Tims Anweisungen folgen.