Nextcloud Login nicht möglich: Not enough arguments (missing: "configID")

Hallo,

OK, hier das lange log.
Die letzten Zeilen enthalten einen bekannten Fehler.

+ joinscript_log_error 'Could not create LDAP Config at Nextcloud'
+ local line
+ echo -en 'Could not create LDAP Config at Nextcloud'
+ read line
+ exit 0

Der Rest sagt mir wenig.

Janjoin.log (210.0 KB)

Ich könnte mir vorstellen, dass die Objekte nicht neu erzeugt werden (weil sie ja vorhanden sind) aber die alten Daten nicht zu der neuen Installation passen. Das würde doch bedeuten, dass diese Objekte erstmal komplette aus LDAP raus müssen !?

Jan

Alles sehr wirr.

Kann es evtl. sein, dass die Datenbank nicht angelegt wird? Jetzt ist die App ja gerade installiert. Zeigen Sie bitte noch mal die Ausgaben der folgenden zwei Befehle:

grep -E 'db(type|host|port|name)' /var/lib/univention-appcenter/apps/nextcloud/conf/config/config.php
echo '\l' | sudo -u postgres psql template1 | grep -i nextcloud

Gruß
mosu

Hallo,

hier die Ausgabe vom grep:

'dbtype' => 'pgsql',
  'dbname' => 'nextcloud',
  'dbhost' => '172.17.42.1',
  'dbport' => '5432',

und hier die vom postgres

 nextcloud | nextcloud  | UTF8      | de_DE.UTF-8  | de_DE.UTF-8 | nextcloud=CTc/nextcloud

Zur Info: Die nextcloud App (der Containerf) lässt sich jedesmal fehlerferi Installieren und deinstallieren (keine Fehler).

Jan

Hmm OK. Gehen wir mal ganz zum Anfang zurück: dass keine LDAP-Verbindung zustande kommt, wie ldap:config-test zeigt. Bitte mal das hier…

univention-app shell nextcloud
sudo -u www-data php /var/www/html/occ config:list|grep -i ldap|grep -v password

Gruß
mosu

Hallo,

Hier die Ausgabe:

< -u www-data php /var/www/html/occ config:list|grep -i ldap|grep -v password
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
        "user_ldap": {
            "s01ldap_backup_host": "",
            "s01ldap_backup_port": "",
            "s01ldap_tls": "0",
            "s01ldap_turn_off_cert_check": "0",
            "s01ldap_display_name": "displayName",
            "s01ldap_user_display_name_2": "",
            "s01ldap_gid_number": "gidNumber",
            "s01ldap_userfilter_objectclass": "",
            "s01ldap_userfilter_groups": "",
            "s01ldap_groupfilter_groups": "",
            "s01ldap_group_display_name": "cn",
            "s01ldap_group_member_assoc_attribute": "uniqueMember",
            "s01ldap_loginfilter_email": "0",
            "s01ldap_loginfilter_username": "1",
            "s01ldap_loginfilter_attributes": "",
            "s01ldap_quota_def": "",
            "s01ldap_base": "dc=[meinedomain],dc=de",
            "s01ldap_base_users": "dc=[meinedomain],dc=de",
            "s01ldap_dn": "cn=nextc-99792336,cn=memberserver,cn=computers,dc=[meinedomain],dc=de",
            "s01ldap_userlist_filter": "(&(objectclass=nextcloudUser)(nextcloudEnabled=1))",
            "s01ldap_group_filter": "(&(objectclass=nextcloudGroup)(nextcloudEnabled=1))",
            "s01ldap_group_filter_mode": "1",
            "s01ldap_login_filter": "(&(objectclass=nextcloudUser)(nextcloudEnabled=1)(uid=%uid))",
            "s01ldap_login_filter_mode": "1",
            "s01ldap_cache_ttl": "600",
            "s01ldap_override_main_server": "",
            "s01ldap_attributes_for_group_search": "",
            "s01ldap_expert_uuid_user_attr": "",
            "s01ldap_expert_uuid_group_attr": "",
            "s01ldap_nested_groups": "0",
            "s01ldap_paging_size": "500",
            "s01ldap_turn_on_pwd_change": "0",
            "s01ldap_dynamic_group_member_url": "",
            "s01ldap_default_ppolicy_dn": "",
            "s01ldap_host": "ucs.[meinedomain].de",
            "s01ldap_port": "7389",
            "s01ldap_base_groups": "cn=groups,dc=[meinedomain],dc=de",
            "s01ldap_user_filter_mode": "1",
            "s01ldap_groupfilter_objectclass": "nextcloudGroup",
            "s01ldap_quota_attr": "nextcloudQuota",
            "s01ldap_email_attr": "mailPrimaryAddress",
            "s01ldap_configuration_active": "1",
            "s01ldap_attributes_for_user_search": "uid\ngivenName\nsn\nemployeeNumber\nmailPrimaryAddress",
            "s01ldap_experienced_admin": "1",
            "s01ldap_expert_username_attr": "uid",

Jan

OK, dann nun ein kleiner Test, ob ein manueller LDAP-Connect aus dem Docker-Container zum Server funktioniert (vorsicht, sehr lange Zeile):

univention-app shell nextcloud
perl -MIO::Socket::IP -e "IO::Socket::IP->new(PeerHost => '$(sudo -u www-data php /var/www/html/occ config:app:get user_ldap s01ldap_host)', PeerPort => $(sudo -u www-data php /var/www/html/occ config:app:get user_ldap s01ldap_port), Type => SOCK_STREAM) || die"

Wenn das nur kommentarlos zum Prompt zurückkkehrt, dann klappt die Verbindung. Andernfalls bitte mal posten, was kommt.

Gruß
mosu

Hallo,

das kam nach rund 2 Minuten raus:

Connection timed out ...propagated at -e line 1.

Jan

Klingt nach Firewall? Was sagt denn iptables -L -nv auf dem Host?

Hallo,

zur Info: ich habe keine Regeln manuell auf dem UCS angelegt oder geändert:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  14M 6333M ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
1113K  729M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    3   252 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
  693 38688 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:7636
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:111
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpts:32765:32769
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:544
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:88
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:7389
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:464
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:88
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:2049
  841 50460 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:5432
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:143
  203 12060 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8443
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpts:32765:32769
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:123
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:464
  416 22432 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:995
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:110
10223  621K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:236
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2049
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:5666
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:636
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:6670
   13   780 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
  332 19664 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:465
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:11212
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:7777
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:6669
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
  695 41620 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:993
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:389
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:749
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:237
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:111
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:7777
    0     0 ACCEPT     tcp  --  *      *       172.17.0.0/16        0.0.0.0/0            tcp dpt:3306
  132 18632 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
14268   13M DOCKER-ISOLATION  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
 4145   13M DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
 4145   13M ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
10123  611K ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 73492 packets, 72M bytes)
 pkts bytes target     prot opt in     out     source               destination         
  14M 6333M ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  !docker0 docker0  0.0.0.0/0            172.17.0.1           tcp dpt:80

Chain DOCKER-ISOLATION (1 references)
 pkts bytes target     prot opt in     out     source               destination         
14268   13M RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Jan

Wird nicht weniger wirr :grinning: Oder ich seh den Wald vor lauter Bäumen nicht.

Bite mal im Container:

apt-get install iputils-ping
ping -c 2 $(sudo -u www-data php /var/www/html/occ config:app:get user_ldap s01ldap_host)

Gruß
mosu

Hier die Ausgabe von Ping:

PING mail.[meinedomain].de (176.9.70.148) 56(84) bytes of data.
64 bytes from ucs.meinedomain.de (176.9.70.148): icmp_seq=1 ttl=63 time=0.275 ms
64 bytes from ucs.meinedomain.de (176.9.70.148): icmp_seq=2 ttl=63 time=0.328 ms

--- mail.meinedomain.de ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.275/0.301/0.328/0.031 ms

Wobei das je gehen musste, denn der Nextcloud Anmeldebildschirm kommt ja, wenn ich die Adresse aufrufe (wenn das damit zu tun hat).

Allerdings: da siehst du das angesprochene SSL Dilemma: Er löst den Host als mail.meinedomain.de auf. Das ping kommt aber von ucs.meinedomain.de.
Für beide SubDomänen ist aber ein SSL Zertifikat vorhanden.

Jan

Die 176.9.70.148 ist ja eine öffentliche IP-Adresse. Ist das wirklich die IP des UCS-Servers? Hängt der also direkt im Internet? Was sagt ip a auf dem Host?

Hallo,

uups… ja… der UCS hängt indirect am Internet. Die Namensauflösung des namens mail. / ucs.meinedomain.de verweist nur auf die öffentliche IP. Der UCS selbst steht in der DMZ hinter der Firewall.

Dann löst der Container die Adresse zum UCS über die öffentliche IP auf, was dann natürlich in einem Fehler resultiert, weil über diese IP kein Zugriff auf den LDAP besteht!?

Der Container hat aber die IP der Firewall als Nameserver eingetragen. das heisst, die FW gibt statt der localen Adresse, die Öffentliche aus…
Der UCS löst sich selbst korrekt auf. Warum bekommt der Container nicht den Nameserver des UCS zugewiesen?

Jan

Huhu,

Genau so ist es. Widerlich zu debuggen, aber das ist hier der Fall.

Gute Frage. Was ist denn in den UCR-Variablen eingetragen? Also ucr search --brief 'nameserver|forwarder'. Oder Sie suchen direkt nach der eingetragenen IP, z.B. mit ucr search --brief --value resolv.ip.aus.container

Gruß
mosu

Okokok … :slight_smile:

Ich habe zu Testzwecken im nextcloud container die hosts Datei angepasst (so dass er den UCS über die DMZ Adresse findet), danach das join script laufen lassen und … nextcloud ist registriert. Ein Logon in nextcloud ist jetzt möglich!!!
HEUREA - soqweit so gut.

Um das Problem generell zu beseitigen, ist welche die richtige Vorgehensweise:
Soll UCS “seinen” Containern sich selbst als DNS zeigen oder den DNS des Netzwerkes setzen, so wie es “jetzte” noch der Fall ist?

mfg.
Jan

p.s. Wie kann ich mich für die Hilfe bedanken?

Huhu,

Innerhalb einer UCS-Domäne sollten tunlichst alle Hosts & Coniainer dieselbe Sicht aufs DNS haben. Das ist am einfachsten sicherzustellen, indem alle denselben DNS-Server nutzen, und zwar den DC Master. Man kann auch externe DNS-Server einsetzen, sofern diese wiederum bei Anfragen an die UCS-Domäne den DC Master fragen und dann Namen aus der UCS-Domäne zum Einen überhaupt aufgelöst werden und zum anderen die gleiche Antwort kommt, als hätte man den DC Master direkt gefragt. Letzteres ist bei Ihnen momentan ja anscheinend nicht der Fall.

Wenn wir uns mal über den Weg laufen, dann geben Sie mir einfach einen Tee aus :slight_smile:

Gruß
mosu

Mastodon