ich arbeite gerade an einem opsi-Paket welches auf einem Ubuntu Rechner die Pakete aus https://launchpad.net/~univention-dev/+archive/ubuntu/ppa installiert und dann
univention-domain-join-cli ausführt.
Das gibt eine DnsConfigurationException.
Meine Frage: Welche Vorausetzungen müssen gegeben sein damit das Funktioniert:
Muss der Rechner der gejoint werden soll dem master schon bekannt sein ?
Darf der Rechner zum Zeitpunkt des joins noch von einem anderen DHCP Server seinen (anderen) Nameserver zugewisen haben ?
Danke schonmal und Gruß aus Mainz nach Bremen
detlef oertel
Hier die Ausgabe:
root@ubuntu:/home/user# univention-domain-join-cli --username administrator --password linux123 --master-ip 172.16.166.111 Warning: /etc/resolvconf/resolv.conf.d/base already exists.
Warning: /etc/ldap/ldap.conf already exists.
Warning: /etc/krb5.conf already exists.
Created a backup of all configuration files, that will be modified at '/var/univention-backup/20180411104732_domain-join'.
Writing /etc/resolvconf/resolv.conf.d/base
Applying new resolvconf settings.
Setting up DNS did not work. Try removing any DNS settings in the network-manager and give this tool the IP address of the DC master.
An error occurred. Please check /var/log/univention/domain-join-cli.log for more information.
root@ubuntu:/home/user# cat /var/log/univention/domain-join-cli.log
2018-04-11 12:47:32,991 userinfo WARNING Warning: /etc/resolvconf/resolv.conf.d/base already exists.
2018-04-11 12:47:32,994 userinfo WARNING Warning: /etc/ldap/ldap.conf already exists.
2018-04-11 12:47:32,996 userinfo WARNING Warning: /etc/krb5.conf already exists.
2018-04-11 12:47:32,997 userinfo INFO Created a backup of all configuration files, that will be modified at '/var/univention-backup/20180411104732_domain-join'.
2018-04-11 12:47:33,005 userinfo INFO Writing /etc/resolvconf/resolv.conf.d/base
2018-04-11 12:47:33,006 userinfo INFO Applying new resolvconf settings.
2018-04-11 12:47:33,031 userinfo CRITICAL Setting up DNS did not work. Try removing any DNS settings in the network-manager and give this tool the IP address of the DC master.
2018-04-11 12:47:33,032 userinfo CRITICAL An error occurred. Please check /var/log/univention/domain-join-cli.log for more information.
2018-04-11 12:47:33,032 debugging CRITICAL
Traceback (most recent call last):
File "/usr/sbin/univention-domain-join-cli", line 195, in <module>
distribution_joiner.join_domain()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/distributions/ubuntu.py", line 95, in join_domain
DnsConfigurator(self.nameservers, self.domain).configure_dns()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 75, in configure_dns
self.check_if_dns_works()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 86, in check_if_dns_works
raise DnsConfigurationException()
DnsConfigurationException
root@ubuntu:/home/user#
Hallo,
ich würde jetzt ersteinmal prüfen, ob manuell ein DNS-Server eingestellt wurde, da die Fehlermeldung das vermuten lässt. Wie lautet denn die Ausgabe von nmcli? Mit welcher Ubuntu Version ist das Problem denn aufgetreten?
Prinzipiell darf der Nameserver nicht gesetzt sein, da univention-domain-join-cli diesen selbst setzt.
Der Rechner wurde automatisiert per opsi aufgesetzt ist also eine Standard Netzwerkinstallation.
Der opsi Server und der DHCP-Server sind nicht der UCS Master und auch keine Mitglieder der UCS Domain.
Der UCS-Master kennt den Ubuntu Rechner noch nicht.
Das Netzwerkinterface ist per DHCP konfiguriert und von da kommt auch die DNS Konfiguration.
Es wurde nichts weiter Manuell konfiguriert.
Das ist ja eher ein standard setup.
Das ganze ist ein Ubuntu 16.04.4 LTS
Hier die /etc/network/interfaces:
# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp
Der output von nmcli mit verschiedenen Optionen ist.
root@ubuntu:/home/user# nmcli g
STATUS KONNEKTIVITÄT WLAN-HW WLAN WWAN-HW WWAN
verbunden kein aktiviert aktiviert aktiviert aktiviert
root@ubuntu:/home/user# nmcli n
aktiviert
root@ubuntu:/home/user# nmcli c
NAME UUID TYP GERÄT
root@ubuntu:/home/user# nmcli d
GERÄT TYP STATUS VERBINDUNG
enp0s3 ethernet nicht verwaltet --
lo loopback nicht verwaltet --
root@ubuntu:/home/user#
Ich hoffe ich habe alle gestellten Fragen hinreichend vollständig beantwortet.
Bedeutet die Aussage:
Prinzipiell darf der Nameserver nicht gesetzt sein, da univention-domain-join-cli diesen selbst setzt.
das zum Zeitpunkt des Aufrufs von univention-domain-join-cli keinen DNS kennen darf ?
Für den Fall das dem so ist habe ich dei /etc/resolv.conf geleert.
DNS ging nicht mehr - und dann den Befehl wieder ausgeführt.
Exact das selbe ergebnis wie schon mal gepostet.
Die /etc/resolv.conf enthält danach wieder 2 nameserver: den vom dhcp mitgeteilten und den
UCS Master.
Da meine Fragen nicht beantwortet wurden, stelle ich sie einfach nochmal:
Meine Frage: Welche Vorausetzungen müssen gegeben sein damit das Funktioniert:
Muss der Rechner der gejoint werden soll dem master schon bekannt sein ?
Darf der Rechner zum Zeitpunkt des joins noch von einem anderen DHCP Server seinen (anderen) Nameserver zugewisen haben ?
Ich stelle diese Fragen nicht um euch zu ärgern. Und hier geht es nicht darum einen bestimmten Rechner zu joinen,
Es geht darum ein Paket zu bauen welche automatisiert Ubuntu Rechner Joinen kann weit gehend unabhängig davon wie das setup ist.
Muss der Rechner der gejoint werden soll dem master schon bekannt sein ?
Der Client muss dem master nicht vorher bekannt sein, kann er aber.
Darf der Rechner zum Zeitpunkt des joins noch von einem anderen DHCP Server seinen (anderen) Nameserver zugewisen haben ?
Das Problem ist vermutlich, der Nameserver, der per DHCP gesetzt wurde. In der Entwicklung wurde das Szenario mit zusätzlichem DHCP Server nicht getestet. Ich vermute, dass der DNS-Server, der vom DHCP-Server vorgegeben wird, vorzug erhält gegenüber der Einstellung, die das Tool unter /etc/resolvconf/resolv.conf.d/base einträgt. Wir werden das prüfen. Danke für den Hinweis!
ich habe ja schon die Frage gestellt:
Welche Vorausetzungen müssen gegeben sein damit das Funktioniert ?
Zwar mangelt es noch an Antworten aber man lernt ja auch durch probieren:
Ich habe ein ubuntu 16.04 mit KDE per opsi vom ucs-master aus installiert:
univention-domain-join-cli --username Administrator --password linux123 --master-ip 172.16.166.111
Error: Can't enable login with the login manager of your system.
Please use LightDM or GDM for full compatibility with UCS.
Joining the UCS domain is not safely possible.
Please resolve all problems and run this tool again.
An error occurred. Please check /var/log/univention/domain-join-cli.log for more information.
root@ubuntu:/home/user# echo $?
0
Fragen:
Das wichtigste zuerst:
Könnt Ihr das bitte, bitte so bauen, das wenn das script scheitert keinen Exitcode 0 zurückgibt !?
Verstehe ich das richtig das ein Desktoppaket installiert sein muß ?
Das die art des desktoppaketes (lubuntu,xubuntu,kubuntu,ubuntu,gnome) eigentlich egal ist, hauptsache der Windowmanager ist lightdm oder GDM ?
Wir dokumentieren die Vorraussetzung für die Verwendung des Univention Domain Join Tools in der README Datei. Wir werden hier die unterstützen Desktopumgebungen hinzufügen.
Im Übrigen haben wir die DNS-Konfiguration inzwischen angepasst. Wenn dem Domain Join Assistenten die IP Adresse des Masters übergeben wird, sollte der Join nun immer funktionieren. Der Assistent konfiguriert dann den NetworkManager so um, dass die IP Adresse des Masters der primäre DNS Server ist.
Wenn die UCS Domäne angegeben wird, muss sichergestellt sein, dass der vom Benutzer konfigurierte DNS Server darüber den UCS Master finden kann. Es wird dabei versucht, den DNS Eintrag _domaincontroller_master._tcp.<domainname> aufzulösen.
univention-domain-join-cli versucht den Login Manager so zu konfigurieren, dass man sich auch als Domäne-Benutzer anmelden kann. Wir haben das Tool mit Fokus auf die Desktopumgebungen Unity (bis Ubuntu 17.10) und Gnome (ab Ubuntu 17.10) geschrieben. Alternative Desktopumgebungen werden derzeit nicht unterstützt.
Man kann aber mit dem Parameter --skip-login-manager die Konfiguration des Login Managers überspringen. Somit kann man das Tool auch mit nicht unterstützten Desktopumgebungen ausprobieren. Eventuell funktioniert das auch auf Headless Systemen, das haben wir allerdings nicht getestet. Unter Umständen funktioniet der Login als Domäne-Benutzer dann sogar, wenn der Login Manager das ohne weitere Konfiguration unterstützt.
Hallo Zusammen, ich versuche hier gerade eine Linux Mint Workstation (19 Cinnamon) anzubinden. Die Fehlermeldung die ich bekomme, ist identisch mit der oben, nur dass eben in der “linuxmint.py” auf die Zeile 95 gezeigt wirde:
2018-10-11 19:33:42,563 userinfo WARNING Warning: /etc/ldap/ldap.conf already exists.
2018-10-11 19:33:42,564 userinfo WARNING Warning: /etc/krb5.conf already exists.
2018-10-11 19:33:42,565 userinfo INFO Created a backup of all configuration files, that will be modified at '/var/univention-backup/20181011173342_domain-join'.
2018-10-11 19:33:42,599 userinfo INFO Configuring ipv4 DNS servers for enp2s0.
2018-10-11 19:33:42,635 userinfo INFO Applying new settings to enp2s0.
2018-10-11 19:33:43,928 userinfo CRITICAL Setting up DNS did not work. Try removing any DNS settings in the network-manager and give this tool the IP address of the DC master.
2018-10-11 19:33:43,929 userinfo CRITICAL An error occurred. Please check /var/log/univention/domain-join-cli.log for more information.
2018-10-11 19:33:43,929 debugging CRITICAL
Traceback (most recent call last):
File "./usr/sbin/univention-domain-join-cli", line 195, in <module>
distribution_joiner.join_domain()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/distributions/linuxmint.py", line 95, in join_domain
DnsConfigurator(self.nameservers, self.domain).configure_dns()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/utils/general.py", line 40, in root_wrapper
return_value = func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 82, in configure_dns
self.check_if_dns_works()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 93, in check_if_dns_works
raise DnsConfigurationException()
DnsConfigurationException
Was mich wundert: Wenn das Skript läuft, trägt es genau die richtigen Werte für DNS in den Networkmanager ein.
Im Terminal bekomme ich den gleichen Fehler. So haben wir probiert:
Ich häng mich hier mal drann. Gabs schon ne Lösung? Ich versuche hier gerade jede Menge LXC’s an die Domäne an zu binden. Leider ohne Erfolg. Irgendwas scheint wohl noch zu fehlen. Da die KVM’s mit der gleichen Netzwerkconfig ohne Probleme funktionieren. Networkmanager usw. habe ich zwecks Abhängigkeiten nach installiert. DNS tut, auch mal die Resolv.conf gleert. So binde ich an:
Traceback (most recent call last):
File "/usr/sbin/univention-domain-join-cli", line 195, in <module>
distribution_joiner.join_domain()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/distributions/ubuntu.py", line 95, in join_domain
DnsConfigurator(self.nameservers, self.domain).configure_dns()
File "/usr/lib/python2.7/dist-packages/univention_domain_join/utils/general.py", line 40, in root_wrapper
return_value = func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 75, in configure_dns
self.working_configurator.configure_dns(self.nameservers, self.domain)
File "/usr/lib/python2.7/dist-packages/univention_domain_join/utils/general.py", line 40, in root_wrapper
return_value = func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 169, in configure_dns
raise DnsConfigurationException()
DnsConfigurationException