SDN - dnsmasq Problem

soisses77

Member
Sep 19, 2022
10
2
8
Hallo zusammen,

aktuell beschäftige ich mich mit Proxmox SDN und bin dabei auf ein für mich nicht lösbares Problem gestoßen. Ich möchte ein paar VMs (testweise) in einem eigenen Subnetz isolieren und teste das SDN gerade.
Dazu habe ich auf Datacenter-Ebene ein SimpleSDN eingerichtet (mit Auto-DHCP), ein VNET mit einem Subnetz mit Gateway und DHCP-Range. Das ganze aktiviert und dem ein LXC-Container zugeordnet. Der bootet, bekommt eine IP-Adresse und es funktioniert alles wie gewünscht.

Starte ich Proxmox neu, dann funktioniert leider der DHCP-Server nicht mehr - der LXC bekommt keine IP-Adresse mehr. Stelle ich im SimpleSDN "auto DHCP" aus und vergebe eine manuelle IP-Adresse, dann funktioniert das Netzwerk wie gewünscht.

Folgende Fehlermeldung gibt der Start des LXC aus:

Bash:
root@pve5:/lib/systemd/system# pct start 101 --debug
run_buffer: 571 Script exited with status 11
lxc_init: 845 Failed to run lxc.hook.pre-start for container "101"
__lxc_start: 2034 Failed to initialize container "101"
0 hostid 100000 range 65536
INFO     lsm - ../src/lxc/lsm/lsm.c:lsm_init_static:38 - Initialized LSM security driver AppArmor
INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxc/hooks/lxc-pve-prestart-hook" for container "101", config section "lxc"
DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-prestart-hook 101 lxc pre-start produced output: org.freedesktop.DBus.Error.ServiceUnknown: The name uk.org.thekelleys.dnsmasq.sdn was not provided by any .service files

ERROR    utils - ../src/lxc/utils.c:run_buffer:571 - Script exited with status 11
ERROR    start - ../src/lxc/start.c:lxc_init:845 - Failed to run lxc.hook.pre-start for container "101"
ERROR    start - ../src/lxc/start.c:__lxc_start:2034 - Failed to initialize container "101"
INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxcfs/lxc.reboot.hook" for container "101", config section "lxc"
startup for container '101' failed

Überprüfe ich mit systemctl status dnsmasq, dann ist dieser aktiv.

Hat jemand eine Idee, wie ich da weiterkomme? Vielen Dank!
 
So als Test, setzt mal Start at boot auf No und Netzwerk wieder auf DHCP.
Starte den PVE Server neu warte kurz und starte dann den LXC. Wenn er startet und eine IP bekommt dann ist der SDN DHCP Server noch nicht soweit, wenn der PVE neu startet.
Dann kannst du unter System -> Options dann mit dem Wert von Start on boot delay den Start von VMs und LXCs verzögern.
Start at boot dann wieder auf Yes :)
 
So als Test, setzt mal Start at boot auf No und Netzwerk wieder auf DHCP.
Starte den PVE Server neu warte kurz und starte dann den LXC. Wenn er startet und eine IP bekommt dann ist der SDN DHCP Server noch nicht soweit, wenn der PVE neu startet.
Dann kannst du unter System -> Options dann mit dem Wert von Start on boot delay den Start von VMs und LXCs verzögern.
Start at boot dann wieder auf Yes :)
ich hatte mal vxlan (läuft vielleicht noch, weiß gar nicht) und einfach ein OPNsense als gatekeeper und DHCP server (usw) verwendet, allerdings mit VMs. Wenn dann DHCP nicht da ist, muss ja gewartet werden. Die Meldung oben sieht bisschen nach einer der üblichen Probleme aus dem freedesktop/Pöttering Universum aus, vielleicht versagt da wieder so eine systemd Heuristik, ist IMHO leider oft nur schwer zu debuggen...
 
Bin jetzt mal etwas in die Tiefe gegangen...der dnsmasq für die Zone wird nicht gestartet wegen folgender Fehlermeldung:

Code:
Jan 22 17:24:36 pve5 systemd[1]: Starting dnsmasq@sdn01.service - dnsmasq (sdn01) - A lightweight DHCP and caching DNS server...
Jan 22 17:24:36 pve5 systemd-helper[722]: dnsmasq: failed to create listening socket for 10.11.0.1: Address already in use
Jan 22 17:24:36 pve5 dnsmasq[722]: failed to create listening socket for 10.11.0.1: Address already in use
Jan 22 17:24:36 pve5 dnsmasq[722]: FAILED to start up
Jan 22 17:24:36 pve5 systemd[1]: dnsmasq@sdn01.service: Control process exited, code=exited, status=2/INVALIDARGUMENT
Jan 22 17:24:36 pve5 systemd[1]: dnsmasq@sdn01.service: Failed with result 'exit-code'.
Jan 22 17:24:36 pve5 systemd[1]: Failed to start dnsmasq@sdn01.service - dnsmasq (sdn01) - A lightweight DHCP and caching DNS server.

Das Subnetz ist 10.11.0.0/24, als Gateway ist 10.11.0.1 eingerichtet ... ist das der Fehler?
 
Ok, die Lösung ist einfacher als gedacht und ich habe sie in einer Anleitung zum Einrichten des SDN unter Proxmox gefunden:

Es laufen 2 dnsmasq-Instanzen: die Standardinstanz "dnsmasq" und "dnsmasq@sdn01" (oder wie auch immer die SDN-Zone heißt). Die Standardinstanz muss deaktiviert werden, dann läuft alles nach Plan.
 
  • Like
Reactions: danielrippen