Proxmox Container - kein LDAP mehr nach Update auf v8

Hallo zusammen,

das nächste Problem :slight_smile:

Wir haben gestern unseren Proxmox-Server auf Version 8 aktualisiert. Soweit funktioniert auch alles. Nur ein LDAP-Search (und auch Anmeldungen) aus einem Container durch die Firewall zum Linuxmuster-Server schlägt fehl.

Als einer VM kein Problem. Und das ging vor dem Update problemlos.

Ich hänge mal an, was passiert.

Hat jemand ein ähnliches Setup (LDAP-Login an v7 aus einem Container heraus)? Bzw. könnte das mal jemand bei sich testen?

Der Aufruf ldapsearch -H ldap://192.168.1.171:389 -D "CN=<dienst>-binduser,OU=Management,OU=default-school,OU=SCHOOLS,DC=corvi,DC=linuxmuster,DC=lan" -w "<passwort>" -b "ou=SCHOOLS,dc=corvi,dc=linuxmuster,dc=lan" -vv -d 1
hängt in der letzten Zeit - und dann tut sich nichts mehr. Auch kein Timeout.

Hätten wir nicht auf Keycloak umgestellt (dass natürlich derzeit den LDAP nicht repliziert, aber immerhin erfolgreich authentifiziert), hätten wir ein ziemlich großes Problem…

Vielleicht hat ja irgendjemand eine Idee… Zumindest wäre ich mit dem Upgrade auf Proxmox 8 erst einmal vorsichtig, wenn das jemand ähnlich strukturiert hat.

Danke und viele Grüße
Thomas

ldap_url_parse_ext(ldap://192.168.1.171:389)
ldap_initialize( ldap://192.168.1.171:389/??base )
ldap_create
ldap_url_parse_ext(ldap://192.168.1.171:389/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP 192.168.1.171:389
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.1.171:389
ldap_pvt_connect: fd: 3 tm: -1 async: 0
attempting to connect: 
connect success
ldap_open_defconn: successful
ldap_send_server_request
ber_scanf fmt ({it) ber:
ber_scanf fmt ({i) ber:
ber_flush2: 117 bytes to sd 3
ldap_result ld 0x621e936d9100 msgid 1
wait4msg ld 0x621e936d9100 msgid 1 (infinite timeout)
wait4msg continue ld 0x621e936d9100 msgid 1 all 1
** ld 0x621e936d9100 Connections:
* host: 192.168.1.171  port: 389  (default)
  refcnt: 2  status: Connected
  last used: Sat Sep  7 15:46:08 2024


** ld 0x621e936d9100 Outstanding Requests:
 * msgid 1,  origid 1, status InProgress
   outstanding referrals 0, parent count 0
  ld 0x621e936d9100 request count 1 (abandoned 0)
** ld 0x621e936d9100 Response Queue:
   Empty
  ld 0x621e936d9100 response count 0
ldap_chkResponseList ld 0x621e936d9100 msgid 1 all 1
ldap_chkResponseList returns ld 0x621e936d9100 NULL
ldap_int_select
read1msg: ld 0x621e936d9100 msgid 1 all 1
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
read1msg: ld 0x621e936d9100 msgid 1 message type bind
ber_scanf fmt ({eAA) ber:
read1msg: ld 0x621e936d9100 0 new referrals
read1msg:  mark request completed, ld 0x621e936d9100 msgid 1
request done: ld 0x621e936d9100 msgid 1
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_parse_result
ber_scanf fmt ({iAA) ber:
ber_scanf fmt (}) ber:
ldap_msgfree
filter: (objectclass=*)
requesting: All userApplication attributes
# extended LDIF
#
# LDAPv3
# base <ou=SCHOOLS,dc=corvi,dc=linuxmuster,dc=lan> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

ldap_search_ext
put_filter: "(objectclass=*)"
put_filter: simple
put_simple_filter: "objectclass=*"
ldap_send_initial_request
ldap_send_server_request
ber_scanf fmt ({it) ber:
ber_scanf fmt ({) ber:
ber_flush2: 80 bytes to sd 3
ldap_result ld 0x621e936d9100 msgid -1
wait4msg ld 0x621e936d9100 msgid -1 (infinite timeout)
wait4msg continue ld 0x621e936d9100 msgid -1 all 0
** ld 0x621e936d9100 Connections:
* host: 192.168.1.171  port: 389  (default)
  refcnt: 2  status: Connected
  last used: Sat Sep  7 15:46:08 2024


** ld 0x621e936d9100 Outstanding Requests:
 * msgid 2,  origid 2, status InProgress
   outstanding referrals 0, parent count 0
  ld 0x621e936d9100 request count 1 (abandoned 0)
** ld 0x621e936d9100 Response Queue:
   Empty
  ld 0x621e936d9100 response count 0
ldap_chkResponseList ld 0x621e936d9100 msgid -1 all 0
ldap_chkResponseList returns ld 0x621e936d9100 NULL
ldap_int_select

Hallo Thomas,

hilft Dir vielleicht nur bedingt weiter, aber den grundsätzlichen Zusammenhang Proxmox v8 <> Zugriff lxc-Container <> LMN 7.2-Server kann ich als funktionierend bestätigen. Allerdings sind bei mir der getestete Container und die LMN v7.2-VM im selben Netz …

Ein

ldapsearch -H ldap://10.32.1.1:389 -D "CN=global-binduser,OU=Management,OU=GLOBAL,DC=lmn7,DC=meine-schule,DC=de" -w "tollesPasswort" -b "ou=SCHOOLS,dc=lmn7,dc=meine-schule,dc=de" -vv -d 1 

haut - wie erwartet - reichlich Text raus und endet mit

# numResponses: 157
# numEntries: 156
ldap_free_connection 1 1
ldap_send_unbind
ber_flush2: 7 bytes to sd 3
ldap_free_connection: actually freed

Mein Setup:

  • LMN 7.2-Server (aktueller Stand der Pakete, derzeit Base 7.2.3-0, Sophomorix 3.92.1-3)
  • LXC-Container Debian 12 (bookworm)
  • Proxmox mit pvemanager 8.2.4 (heutiger Stand der Pakete), allerdings noch auf Kernel 6.5.13-5-pve laufend, da ich mit dem 6.8.x zwischenzeitlich Probleme hatte (sind aber auch inzwischen behoben)

Deine Firewall-Regeln hast Du sicher überprüft, oder?

Beste Grüße,
Jens

Hallo Jens,

Danke fürs Testen! Ich habe die Lösung mit etwas rätseln und ein paar Tests über den Tag verteilt gefunden. Seltsam ist eben, dass alles scheinbar richtig flott läuft. Es scheitert NUR dieser LDAP-Befehl.

Da es ja aus einer VM lief und aus dem Container nicht, habe ich die physischen Rechner durchgetestet. Auf den Proxmox-Hosts lief es ebenfalls nicht. Dann habe ich gedacht: der Kernel, denn den Teilen sich Container ja mit dem Host. Unser Proxmox Backup Server läuft auf einer anderen Hardware, nutzt aber den gleichen Kernel - und da ging es.
Nächster Kandidat: die Netzwerkkarte - auf den Problemrechnern Intel X710 SFTP 10G-Karten.

Letztlich wurde ich dann auf der Suche diesbezüglich fündig und fand mehrere Forenbeiträge zum Thema MTU-Überschreibung und Ungereimtheiten in bestimmten Netzwerkkonfigurationen beim Update auf Version 8.

Also habe ich die MTU (bei uns überall auf 9000 gesetzt) testweise von Zuhause auf 1500 zurückgesetzt. Dann ein bisschen unruhig auf den Neustart des Clusters gewartet.

Und tatsächlich hat DAS unser Problem gelöst. Ich werde die Werte irgenwann in Ruhe in der Schulenochmal hochsetzen und genau darauf achten, dass es überall, auch in den VMs/CTs und unserer (physischen) OpnSense zusammenpasst. Dann ergänze ich die Erkenntnisse hier ggf. nochmal.

Warum das nun vor dem Upgrade lief (Netzwerk- und Client-Konfigurationen identisch) und nachher nicht - keine Ahnung. In einem Forenbeitrag stand, dass der MTU-Konfigurationseintrag „same as host“ neu dazugekommen ist und evtl. zu Inkonsistenzen führt.

In jedem Fall hilft das ja vielleicht, wenn irgendjemand auf ähnliche seltsame Dinge stößt. Dann ist die MTU etwas, wonach man schauen könnte.

Viele Grüße
Thomas

Hier noch der Artikel, der mich auf die MTU gestoßen hat.