Auf einer echten, frisch installierten Ubuntu-24.04-VM (192.168.80.114, Standard-Setup, Netz per DHCP) zeigten sich zwei reale Bugs: 1. Systemeinstellungen > Netzwerkeinstellungen: 'Kein unterstütztes Backend erkannt' trotz laufendem Netz -- _detect_network_backend() kannte nur NetworkManager und dhcpcd, nicht netplan/systemd-networkd, den mit Abstand haeufigsten Fall auf einem normalen Ubuntu-Host. Neues drittes Backend 'netplan' ergaenzt: Erkennung ueber systemd-networkd + vorhandenes netplan-Binary, Moduserkennung ueber das 'dynamic'-Flag des Kernels auf der aktuellen Adresse, Anwenden ueber eine eigene Override-Datei (/etc/netplan/90-poe-manager.yaml, gewinnt alphabetisch gegen z.B. cloud-inits 50-*.yaml) plus Aufruf von netplan apply, Backup/Auto-Rollback wie bei den anderen Backends. Live verifiziert: Anwenden loeste echten DHCP-Lease-Renew aus, nach Ablauf der 45s-Bestaetigungsfrist wurde die Override-Datei automatisch wieder entfernt (Rollback funktioniert). 2. DHCP-Konfiguration: 'Keine IPv4-Adresse auf eth0 gefunden', obwohl das Interface-Dropdown korrekt 'enp1s0' zeigte -- DHCP_DEFAULTS hatte 'eth0' hart kodiert (Annahme aus einer aelteren Testumgebung), was auf Systemen mit Predictable Network Interface Names schlicht nicht existiert. _load_dhcp_settings() korrigiert das jetzt: liegt der gespeicherte/Default-Wert nicht unter den tatsaechlich vorhandenen Schnittstellen, wird automatisch die erste echte vorgeschlagen. Neue Abhaengigkeit PyYAML fuer das Schreiben der netplan-Override-Datei.
28 lines
800 B
Plaintext
28 lines
800 B
Plaintext
bcrypt==5.0.0
|
|
blinker==1.9.0
|
|
cffi==2.0.0
|
|
click==8.3.0
|
|
cryptography==46.0.1
|
|
Flask==3.1.2
|
|
Flask-Bcrypt==1.0.1
|
|
Flask-Login==0.6.3
|
|
Flask-Sock==0.7.0
|
|
itsdangerous==2.2.0
|
|
Jinja2==3.1.6
|
|
MarkupSafe==3.0.2
|
|
paramiko==3.5.1
|
|
pycparser==2.23
|
|
PyNaCl==1.5.0
|
|
PyYAML==6.0.2
|
|
simple-websocket==1.1.0
|
|
Werkzeug==3.1.3
|
|
|
|
# Hinweis: Das Browser-SSH-Terminal (Switch-Verbindungstest) nutzt paramiko
|
|
# (reines Python) statt eines lokalen pty + System-ssh-Client und läuft
|
|
# damit plattformunabhängig — auch unter Windows. Die SSH-Verbindung wird
|
|
# dabei immer serverseitig (vom PoE-Server) aufgebaut, nie vom Browser aus.
|
|
#
|
|
# PyYAML wird für das netplan-Backend der Host-Netzwerkeinstellungen
|
|
# gebraucht (Systemeinstellungen → Netzwerkeinstellungen) — schreibt/liest
|
|
# die eigene Override-Datei unter /etc/netplan/.
|