From 427c3dc2b9fa2bcadaf0930a5429cf1c94a8087a Mon Sep 17 00:00:00 2001
From: Jonatan <190036+jcastro@users.noreply.github.com>
Date: Sat, 17 Oct 2026 15:08:53 +0200
Subject: [PATCH] docs: review networking documentation in all seven
translations
---
.github/workflows/test-i18n.yml | 10 ++
.../de/docs/network/backup-restore.json | 110 ++++++++++++++
.../de/docs/network/bridge-analysis.json | 132 +++++++++++++++++
.../de/docs/network/config-analysis.json | 122 ++++++++++++++++
web/messages/de/docs/network/diagnostics.json | 94 ++++++++++++
web/messages/de/docs/network/index.json | 107 ++++++++++++++
web/messages/de/docs/network/monitoring.json | 136 ++++++++++++++++++
.../de/docs/network/persistent-names.json | 130 +++++++++++++++++
web/messages/en/docs/network/monitoring.json | 2 +-
.../es/docs/network/backup-restore.json | 8 +-
.../es/docs/network/bridge-analysis.json | 18 +--
.../es/docs/network/config-analysis.json | 14 +-
web/messages/es/docs/network/diagnostics.json | 16 +--
web/messages/es/docs/network/index.json | 16 +--
web/messages/es/docs/network/monitoring.json | 28 ++--
.../es/docs/network/persistent-names.json | 18 +--
.../fr/docs/network/backup-restore.json | 110 ++++++++++++++
.../fr/docs/network/bridge-analysis.json | 132 +++++++++++++++++
.../fr/docs/network/config-analysis.json | 122 ++++++++++++++++
web/messages/fr/docs/network/diagnostics.json | 94 ++++++++++++
web/messages/fr/docs/network/index.json | 107 ++++++++++++++
web/messages/fr/docs/network/monitoring.json | 136 ++++++++++++++++++
.../fr/docs/network/persistent-names.json | 130 +++++++++++++++++
.../it/docs/network/backup-restore.json | 110 ++++++++++++++
.../it/docs/network/bridge-analysis.json | 132 +++++++++++++++++
.../it/docs/network/config-analysis.json | 122 ++++++++++++++++
web/messages/it/docs/network/diagnostics.json | 94 ++++++++++++
web/messages/it/docs/network/index.json | 107 ++++++++++++++
web/messages/it/docs/network/monitoring.json | 136 ++++++++++++++++++
.../it/docs/network/persistent-names.json | 130 +++++++++++++++++
.../pt/docs/network/backup-restore.json | 110 ++++++++++++++
.../pt/docs/network/bridge-analysis.json | 132 +++++++++++++++++
.../pt/docs/network/config-analysis.json | 122 ++++++++++++++++
web/messages/pt/docs/network/diagnostics.json | 94 ++++++++++++
web/messages/pt/docs/network/index.json | 107 ++++++++++++++
web/messages/pt/docs/network/monitoring.json | 136 ++++++++++++++++++
.../pt/docs/network/persistent-names.json | 130 +++++++++++++++++
.../sk/docs/network/backup-restore.json | 110 ++++++++++++++
.../sk/docs/network/bridge-analysis.json | 132 +++++++++++++++++
.../sk/docs/network/config-analysis.json | 122 ++++++++++++++++
web/messages/sk/docs/network/diagnostics.json | 94 ++++++++++++
web/messages/sk/docs/network/index.json | 107 ++++++++++++++
web/messages/sk/docs/network/monitoring.json | 136 ++++++++++++++++++
.../sk/docs/network/persistent-names.json | 130 +++++++++++++++++
.../sv/docs/network/backup-restore.json | 110 ++++++++++++++
.../sv/docs/network/bridge-analysis.json | 132 +++++++++++++++++
.../sv/docs/network/config-analysis.json | 122 ++++++++++++++++
web/messages/sv/docs/network/diagnostics.json | 94 ++++++++++++
web/messages/sv/docs/network/index.json | 107 ++++++++++++++
web/messages/sv/docs/network/monitoring.json | 136 ++++++++++++++++++
.../sv/docs/network/persistent-names.json | 130 +++++++++++++++++
51 files changed, 5056 insertions(+), 60 deletions(-)
create mode 100644 web/messages/de/docs/network/backup-restore.json
create mode 100644 web/messages/de/docs/network/bridge-analysis.json
create mode 100644 web/messages/de/docs/network/config-analysis.json
create mode 100644 web/messages/de/docs/network/diagnostics.json
create mode 100644 web/messages/de/docs/network/index.json
create mode 100644 web/messages/de/docs/network/monitoring.json
create mode 100644 web/messages/de/docs/network/persistent-names.json
create mode 100644 web/messages/fr/docs/network/backup-restore.json
create mode 100644 web/messages/fr/docs/network/bridge-analysis.json
create mode 100644 web/messages/fr/docs/network/config-analysis.json
create mode 100644 web/messages/fr/docs/network/diagnostics.json
create mode 100644 web/messages/fr/docs/network/index.json
create mode 100644 web/messages/fr/docs/network/monitoring.json
create mode 100644 web/messages/fr/docs/network/persistent-names.json
create mode 100644 web/messages/it/docs/network/backup-restore.json
create mode 100644 web/messages/it/docs/network/bridge-analysis.json
create mode 100644 web/messages/it/docs/network/config-analysis.json
create mode 100644 web/messages/it/docs/network/diagnostics.json
create mode 100644 web/messages/it/docs/network/index.json
create mode 100644 web/messages/it/docs/network/monitoring.json
create mode 100644 web/messages/it/docs/network/persistent-names.json
create mode 100644 web/messages/pt/docs/network/backup-restore.json
create mode 100644 web/messages/pt/docs/network/bridge-analysis.json
create mode 100644 web/messages/pt/docs/network/config-analysis.json
create mode 100644 web/messages/pt/docs/network/diagnostics.json
create mode 100644 web/messages/pt/docs/network/index.json
create mode 100644 web/messages/pt/docs/network/monitoring.json
create mode 100644 web/messages/pt/docs/network/persistent-names.json
create mode 100644 web/messages/sk/docs/network/backup-restore.json
create mode 100644 web/messages/sk/docs/network/bridge-analysis.json
create mode 100644 web/messages/sk/docs/network/config-analysis.json
create mode 100644 web/messages/sk/docs/network/diagnostics.json
create mode 100644 web/messages/sk/docs/network/index.json
create mode 100644 web/messages/sk/docs/network/monitoring.json
create mode 100644 web/messages/sk/docs/network/persistent-names.json
create mode 100644 web/messages/sv/docs/network/backup-restore.json
create mode 100644 web/messages/sv/docs/network/bridge-analysis.json
create mode 100644 web/messages/sv/docs/network/config-analysis.json
create mode 100644 web/messages/sv/docs/network/diagnostics.json
create mode 100644 web/messages/sv/docs/network/index.json
create mode 100644 web/messages/sv/docs/network/monitoring.json
create mode 100644 web/messages/sv/docs/network/persistent-names.json
diff --git a/.github/workflows/test-i18n.yml b/.github/workflows/test-i18n.yml
index 2b3e4685..7f4dfb51 100644
--- a/.github/workflows/test-i18n.yml
+++ b/.github/workflows/test-i18n.yml
@@ -9,15 +9,20 @@ on:
- 'AppImage/messages/**'
- 'AppImage/lib/i18n/**'
- 'AppImage/components/terminal-panel.tsx'
+ - 'web/**'
- 'CONTRIBUTING.md'
# Scheduler consumers and the offline extractor's .sh/.func inputs.
- 'scripts/**/*.sh'
- 'scripts/**/*.func'
- 'scripts/**/*.py'
- 'lang/*.json'
+ - 'menu'
+ - 'install_proxmenux.sh'
+ - 'install_proxmenux_beta.sh'
- 'oci/src/**/*.py'
- 'oci/catalog/**/*.json'
- 'oci/remote/**/*.sh'
+ - 'oci/remote/**/*.py'
push:
branches: [main, develop]
paths:
@@ -27,15 +32,20 @@ on:
- 'AppImage/messages/**'
- 'AppImage/lib/i18n/**'
- 'AppImage/components/terminal-panel.tsx'
+ - 'web/**'
- 'CONTRIBUTING.md'
# Scheduler consumers and the offline extractor's .sh/.func inputs.
- 'scripts/**/*.sh'
- 'scripts/**/*.func'
- 'scripts/**/*.py'
- 'lang/*.json'
+ - 'menu'
+ - 'install_proxmenux.sh'
+ - 'install_proxmenux_beta.sh'
- 'oci/src/**/*.py'
- 'oci/catalog/**/*.json'
- 'oci/remote/**/*.sh'
+ - 'oci/remote/**/*.py'
workflow_dispatch:
permissions:
diff --git a/web/messages/de/docs/network/backup-restore.json b/web/messages/de/docs/network/backup-restore.json
new file mode 100644
index 00000000..fc81f50a
--- /dev/null
+++ b/web/messages/de/docs/network/backup-restore.json
@@ -0,0 +1,110 @@
+{
+ "meta": {
+ "title": "Schnittstellen sichern und neu starten | ProxMenux-Dokumentation",
+ "description": "Manuelle Schnappschüsse erstellen und unter /var/backups/proxmenux/ gespeicherte Backups von /etc/network/interfaces durchsuchen und wiederherstellen. Mit bestätigtem Neustart des Netzwerkdienstes und Schnellansicht der aktuellen Konfiguration.",
+ "ogTitle": "Schnittstellen sichern und neu starten | ProxMenux-Dokumentation",
+ "ogDescription": "Snapshot und Wiederherstellung der Proxmox-Netzwerkkonfiguration; Neustart des Netzwerkdienstes mit Bestätigung."
+ },
+ "header": {
+ "title": "Schnittstellen sichern und neu starten",
+ "description": "Vier Werkzeuge für /etc/network/interfaces: einen manuellen Schnappschuss erstellen, die aktuelle Konfiguration anzeigen, ein früheres Backup mit optionaler Vorschau wiederherstellen und den Netzwerkdienst nach ausdrücklicher Zustimmung neu starten. Sie verwenden dasselbe Backup-Verzeichnis wie die geführten Reparaturen.",
+ "section": "Netzwerk"
+ },
+ "intro": {
+ "title": "Was das macht",
+ "body": "Verwaltet das gleiche Backup-Verzeichnis, das von den geführten Reparaturflüssen verwendet wird (/var/backups/proxmenux/). Sie können vor jeder manuellen Änderung eine zusätzliche Momentaufnahme machen, alle vorhandenen Backups durchsuchen und zu einem von ihnen zurückkehren - immer mit einem neuen Pre-Restore-Backup, das automatisch als zweites Sicherheitsnetz übernommen wird."
+ },
+ "shared": {
+ "heading": "Das gemeinsame Backup-Verzeichnis",
+ "intro": "Jedes Backup im Netzwerkmenü landet an der gleichen Stelle:",
+ "outro": "Dateinamen werden mit einem Zeitstempel versehen, nach Datum sortiert und nie überschrieben. Das Verzeichnis wird bei der ersten Verwendung erstellt."
+ },
+ "show": {
+ "heading": "Netzwerkkonfigurationsdatei anzeigen",
+ "body": "Gibt /etc/network/interfaces unverändert im Terminal aus. Schreibgeschützt. Nützlich zur Kontrolle vor einem Backup oder nach einer Wiederherstellung. Es gibt kein separates Werkzeug zum Vergleich mit dem vorherigen Backup; die aktuelle Datei direkt zu prüfen ist daher am einfachsten."
+ },
+ "create": {
+ "heading": "Netzwerk-Backup erstellen",
+ "body": "Kopiert den aktuellen /etc/network/interfaces mit einem neuen Zeitstempel in das Backup-Verzeichnis. Das ist es — keine Analyse, keine Aufforderungen, nur eine Momentaufnahme.",
+ "whenTitle": "Wann Sie ein manuelles Backup durchführen sollten",
+ "whenBody": "Vor der manuellen Bearbeitung von /etc/network/interfaces, vor der Installation eines Pakets, das den Netzwerkstack ändern kann (z. B. NetworkManager, Open vSwitch), oder vor Hardwareänderungen. Geführte Reparaturen erstellen bereits automatisch einen Schnappschuss — diese Option ist für manuelle Eingriffe."
+ },
+ "restore": {
+ "heading": "Netzwerksicherung wiederherstellen",
+ "intro": "Listet alle Backups in /var/backups/proxmenux/ vom neuesten zum ältesten auf und führt durch eine abgesicherte Wiederherstellung:",
+ "steps": [
+ {
+ "title": "1. Wählen Sie ein Backup",
+ "body": "Ein Menü listet jedes Backup nach seinem Zeitstempel auf. Wenn keine Backups vorhanden sind, wird der Flow mit einer klaren Nachricht beendet.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Optionale Vorschau",
+ "body": "Bietet an, das ausgewählte Backup in einer scrollbaren Ansicht zu öffnen, bevor Sie es festlegen. Standardmäßig ja – überspringen Sie es nicht auf einem entfernten Host.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Backup vor der Wiederherstellung",
+ "body": "Erstellt vor dem Überschreiben von /etc/network/interfaces ein weiteres Backup des aktuellen Zustands. Eine Wiederherstellung ist selbst ein destruktiver Vorgang. Mit dem neuen Schnappschuss können Sie zurückkehren, falls das gewählte Backup falsch war.",
+ "tone": "amber"
+ },
+ {
+ "title": "4. Anwenden der Wiederherstellung",
+ "body": "Kopiert das ausgewählte Backup über /etc/network/interfaces. Die Dateiänderung ist auf der Festplatte; der Live-Kernel-Zustand spiegelt immer noch die vorherige Konfiguration wider.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Optionaler Neustart",
+ "body": "Fragt, ob systemctl restart networking jetzt ausgeführt werden soll. Lehnen Sie ab, um die Änderung auf den nächsten Neustart zu verschieben.",
+ "tone": "emerald"
+ }
+ ],
+ "autoBackupTitle": "Jede Wiederherstellung erstellt automatisch ein eigenes Backup",
+ "autoBackupBody": "Die Auswahl von Netzwerksicherung wiederherstellen erstellt immer einen neuen Schnappschuss der aktuellen Konfiguration, bevor sie überschrieben wird. Falls Sie das falsche Backup wiederherstellen, enthält die neueste Datei in /var/backups/proxmenux/ den vorherigen Zustand."
+ },
+ "restart": {
+ "heading": "Starten Sie den Netzwerkdienst neu",
+ "body": "Führt nach einer Ja/Nein-Bestätigung systemctl restart networking aus. Meldet das Ergebnis mit msg_ok / msg_error. Die meisten Abläufe in diesem Menü bieten am Ende selbst einen Neustart an. Diese Option dient zum Neustart nach manueller Bearbeitung oder wenn Sie den zuvor angebotenen Neustart abgelehnt haben.",
+ "warnTitle": "Kurze Trennung garantiert; dauerhafte Trennung möglich",
+ "warnBody": "Ein Neustart von networking deaktiviert alle in /etc/network/interfaces deklarierten Schnittstellen und wendet ihre Konfiguration erneut an. SSH-Sitzungen über diese Schnittstellen brechen ab. Ist die neue Konfiguration ungültig, kehrt das Netzwerk nicht zurück. Nur ausführen, wenn:",
+ "warnItems": [
+ "Sie Konsolen-/IPMI-/iKVM-Zugriff bereithalten, oder",
+ "Sie sich direkt neben dem Rechner befinden, oder",
+ "Sie haben gerade erfolgreich zu einer bekannten guten Konfiguration zurückgerollt und wollen sie anwenden."
+ ]
+ },
+ "manualRollback": {
+ "heading": "Manuelles Rollback von einer Konsole",
+ "intro": "Wenn Sie das Menü nicht erreichen können (kein SSH, Dialogabsturz, ...), aber eine Konsole erreichen können, besteht das Rollback aus zwei Befehlen:",
+ "outro": "Das ist dieselbe Operation wie im Menü, nur von Hand eingegeben. Startet networking weiterhin nicht, prüfen Sie journalctl -u networking -b auf den zugrunde liegenden Syntax- oder Treiberfehler."
+ },
+ "troubleshoot": {
+ "heading": "Fehlerbehebung",
+ "noneTitle": "„Keine Backups gefunden“ bei der Wiederherstellung",
+ "noneBody": "Das Verzeichnis /var/backups/proxmenux/ existiert nicht oder enthält keine interfaces_backup_*-Dateien. Führen Sie Netzwerk-Backup erstellen mindestens einmal aus oder starten Sie eine geführte Reparatur, die automatisch ein Backup erstellt. Prüfen Sie mit ls /var/backups/proxmenux/.",
+ "unreachTitle": "Der Netzwerkneustart gelingt, aber der Host ist weiterhin nicht erreichbar",
+ "unreachBody": "Entweder ist die neue Konfiguration falsch oder die beim Neustart angewendete Konfiguration weist Ihre Verwaltungs-IP nicht zu. Setzen Sie sie über die Konsole zurück (siehe oben). Nutzen Sie danach Brückenanalyse und Konfigurationsanalyse, um den Fehler vor einem erneuten Anwenden zu verstehen.",
+ "emptyTitle": "Die Wiederherstellungsvorschau zeigt eine leere Datei",
+ "emptyBody": "Die Backup-Datei ist leer (0 Bytes). Das passiert, wenn ein Kopiervorgang bei einem früheren Durchlauf unbemerkt fehlgeschlagen ist. Wählen Sie ein älteres Backup oder führen Sie Netzwerk-Backup erstellen jetzt erneut aus, wenn die aktuelle Konfiguration funktioniert."
+ },
+ "related": {
+ "heading": "Verwandte Themen",
+ "items": [
+ {
+ "label": "Brückenanalyse und geführte Reparatur",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — der häufigste Grund, warum hier ein Backup erstellt wird."
+ },
+ {
+ "label": "Konfigurationsanalyse und geführte Bereinigung",
+ "href": "/docs/network/config-analysis",
+ "tailRich": "— schreibt auch automatisch an /var/backups/proxmenux/."
+ },
+ {
+ "label": "Diagnose",
+ "href": "/docs/network/diagnostics",
+ "tail": "- Überprüfen Sie den Live-Zustand nach einer Wiederherstellung."
+ }
+ ]
+ }
+}
diff --git a/web/messages/de/docs/network/bridge-analysis.json b/web/messages/de/docs/network/bridge-analysis.json
new file mode 100644
index 00000000..00d03038
--- /dev/null
+++ b/web/messages/de/docs/network/bridge-analysis.json
@@ -0,0 +1,132 @@
+{
+ "meta": {
+ "title": "Brückenanalyse & geführte Reparatur | ProxMenux Dokumentation",
+ "description": "Erkennt vmbrX-Bridges mit fehlenden oder ungültigen physischen Ports (typisch nach PCI-Reenumeration), meldet diese mit vorgeschlagenen Shell-Befehlen und bietet eine 5-schrittgesteuerte Reparatur mit obligatorischem Backup.",
+ "ogTitle": "Brückenanalyse & geführte Reparatur | ProxMenux Dokumentation",
+ "ogDescription": "Proxmox-Bridge-Ports nach Hardwareänderungen prüfen und reparieren, mit geführtem Ablauf und sicherer Rückkehr zur vorherigen Konfiguration."
+ },
+ "header": {
+ "title": "Brückenanalyse und geführte Reparatur",
+ "description": "Prüft jede in /etc/network/interfaces deklarierte vmbrX-Bridge und ob ihre physischen Ports tatsächlich existieren. Fehlende Ports können schrittweise repariert werden. Die Analyse ist schreibgeschützt; die Reparatur erfordert Zustimmung, zeigt eine Vorschau und erstellt ein Backup.",
+ "section": "Netzwerk"
+ },
+ "intro": {
+ "title": "Was das macht",
+ "body": "Liest jede Bridge in /etc/network/interfaces, prüft ihre Zeile bridge-ports und ob jeder deklarierte Port, etwa enp3s0, auf dem Host existiert. Fehlt ein Port, schlägt das Werkzeug einen Ersatz vor und wendet die Änderung nach ausdrücklicher Zustimmung mit dem Ablauf sichern, Vorschau anzeigen, anwenden, überprüfen an."
+ },
+ "when": {
+ "heading": "Wenn Sie das brauchen",
+ "intro": "Linux weist vorhersehbare Schnittstellennamen aus PCI-Topologie und Slot-Reihenfolge zu. Mehrere Ereignisse mischen sie und lassen /etc/network/interfaces auf Namen verweisen, die nicht mehr existieren:",
+ "items": [
+ "Hinzufügen oder Entfernen einer PCIe-Karte (ein NIC, ein GPU, ein HBA, ein NVMe-Träger).",
+ "Verschieben einer vorhandenen Karte in einen anderen PCIe-Slot.",
+ "BIOS / UEFI Updates, die PCI-Geräte erneut aufzählen.",
+ "Migration der Boot-Disk auf andere Hardware."
+ ],
+ "outro": "Nach dem nächsten Start versucht die Bridge, einen nicht mehr vorhandenen Port einzubinden. Sie lässt sich nicht aktivieren und der Host verliert seine Netzwerkverbindung. Persistente Schnittstellennamen verhindern eine Wiederholung. Falls Sie bereits ausgesperrt sind, beschreibt diese Seite den Wiederherstellungsweg."
+ },
+ "bigPicture": {
+ "heading": "Überblick",
+ "diagram1": {
+ "arrowLabel": "Stufe 1",
+ "nodes": {
+ "sourceLabel": "/etc/network/interfaces",
+ "sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
+ "bridgeLabel": "Analysieren (schreibgeschützt)",
+ "bridgeDetail": "ip link show enp3s0\n→ nicht vorhanden",
+ "targetLabel": "Bericht + Vorschlag",
+ "targetDetail": "❌ enp3s0: NICHT GEFUNDEN\nErsetzen mit: eno1\n(noch keine Änderungen)"
+ }
+ },
+ "diagram2": {
+ "arrowLabel": "mit Backup anwenden",
+ "nodes": {
+ "sourceLabel": "Geführte Reparatur",
+ "sourceDetail": "1. Backup\n2. Aktuelle Konfiguration anzeigen\n3. Änderungsvorschau\n4. Anwenden\n5. Überprüfen",
+ "targetLabel": "/etc/network/interfaces (neu)",
+ "targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
+ }
+ }
+ },
+ "step1": {
+ "heading": "Schritt 1: Analyse (schreibgeschützt)",
+ "intro": "Nach Auswahl von Brückenkonfiguration analysieren bricht das Werkzeug sofort ab, falls der Host nicht den klassischen Debian-/Proxmox-Stack nutzt. Andernfalls prüft es jede Bridge und meldet:",
+ "items": [
+ "Brückenname, aktueller Status (UP / DOWN), zugewiesene IP.",
+ "Jeder deklarierte Port und ob er derzeit existiert (ip link show <port>).",
+ "Für jeden ungültigen Port: ein vorgeschlagener Ersatz (die erste verfügbare physische Schnittstelle) sowie der genaue Befehl sed, um ihn manuell anzuwenden.",
+ "Brücken ohne bridge-ports und verwaiste auto-Einträge (kein passender iface-Block)."
+ ],
+ "readonlyTitle": "Garantie einer schreibgeschützten Analyse",
+ "readonlyBody": "Bis zu diesem Punkt hat das Skript keinen einzigen Änderungsbefehl ausgeführt. Sie können die Analyse offen lassen, die vorgeschlagenen sed-Befehle kopieren und sie manuell anwenden, wenn Sie möchten - oder die nächste Aufforderung akzeptieren, um in die geführte Reparatur einzusteigen."
+ },
+ "step2": {
+ "heading": "Schritt 2: geführte Reparatur (5 Schritte)",
+ "intro": "Wird nur gestartet, wenn Sie der Aufforderung am Ende der Analyse zustimmen. Jeder Schritt zeigt die geplante Aktion und bittet vor dem Fortfahren um Bestätigung.",
+ "steps": [
+ {
+ "title": "1. Sicherheitssicherung",
+ "body": "Kopiert /etc/network/interfaces in /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Der genaue Sicherungspfad wird vor der Kopie und danach mit dem Rollback-Befehl angezeigt.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Überprüfung der aktuellen Konfiguration",
+ "body": "Öffnet das Live /etc/network/interfaces in einem scrollbaren Dialog, so dass Sie genau sehen können, was geändert werden soll.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Vorgeschlagene Änderungen anzeigen",
+ "body": "Listet genau die betroffenen Bridges und geplanten Portersetzungen auf. Falls inzwischen kein Reparaturbedarf mehr besteht, weil der Port zwischenzeitlich wieder aufgetaucht ist, endet der Ablauf mit „Keine Änderungen erforderlich.“",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Änderungen anwenden",
+ "body": "Für jede betroffene Brücke läuft sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\" gegen /etc/network/interfaces. Wenn für eine Brücke kein gültiger Ersatz verfügbar war, wird die Substitution übersprungen und in Schritt 5 gemeldet.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Überprüfung",
+ "body": "Liest die Datei erneut und bestätigt, dass der neue Port jeder Bridge existiert. Gibt den Befehl zum Zurücksetzen aus (cp <backup> /etc/network/interfaces). Bietet abschließend Netzwerk neu starten an — stimmen Sie nur zu, wenn ein Konsolenzugang als Ersatz bereitsteht.",
+ "tone": "emerald"
+ }
+ ],
+ "restartTitle": "Netzwerkneustart ≠ risikoloses Rückgängigmachen",
+ "restartBody": "Die Reparatur wird auf den Datenträger geschrieben, unabhängig davon, ob Sie den Dienst neu starten. systemctl restart networking wendet die Änderung jetzt an und kann Ihre SSH-Sitzung unterbrechen, wenn der neue Port falsch ist. Lehnen Sie ab, wird die Änderung dennoch beim nächsten Systemstart wirksam. Prüfen Sie daher die neue Konfiguration oder setzen Sie sie mit dem angezeigten Befehl zurück."
+ },
+ "edits": {
+ "heading": "Was wird bearbeitet (genau)",
+ "body": "Nur die Zeile bridge-ports jeder betroffenen Bridge. Andere Direktiven (address, netmask, gateway, bridge-stp, …) bleiben unverändert. Das Skript erstellt oder entfernt in diesem Ablauf keine iface-Blöcke — dafür ist Konfigurationsanalyse & Bereinigung zuständig."
+ },
+ "troubleshoot": {
+ "heading": "Fehlerbehebung",
+ "unsupportedTitle": "Die Analyse bricht mit „Nicht unterstützter Netzwerkstack“ ab",
+ "unsupportedBody": "Der Host läuft netplan, systemd-networkd oder NetworkManager. Das Tool unterstützt nur /etc/network/interfaces. Schalten Sie den Host zuerst auf den klassischen Stack oder bearbeiten Sie die Konfiguration mit dem nativen Tooling des Managers (z.B. netplan apply).",
+ "noSuggestTitle": "Kein Vorschlag wird für einen ungültigen Port gedruckt",
+ "noSuggestBody": "Der Host hat null freie physische Schnittstellen (alles befindet sich entweder bereits in einer anderen Brücke oder existiert nicht). Die Analyse greift auf bridge-ports none zurück, so dass die Brücke zumindest ohne Port auftauchen kann. Fügen Sie eine NIC hinzu oder migrieren Sie Ports zwischen Brücken manuell, bevor Sie erneut ausführen.",
+ "stillDownTitle": "Die Reparatur ist abgeschlossen, aber die Brücke ist noch DOWN",
+ "stillDownBody": "sed hat die Datei aktualisiert, aber systemctl restart networking wurde abgelehnt. Führen Sie den Befehl nach Prüfung der neuen Konfiguration manuell aus oder starten Sie das System neu. Wurde der Neustart angenommen und bleibt die Bridge DOWN, prüfen Sie mit ip link show, ob der neue Port existiert, und suchen Sie mit journalctl -u networking nach der Ursache: nicht eingestecktes Kabel, nicht ausgehandelte Verbindung oder ein Port, der schon zu einer anderen Bridge gehört.",
+ "lostSshTitle": "Ich habe den SSH-Zugang direkt nach dem Neustart des Netzwerks verloren",
+ "lostSshIntro": "Verwenden Sie Konsole / IPMI / iKVM, um den Host zu erreichen. Wiederherstellen des Backups:",
+ "lostSshOutro": "Führen Sie dann die Analyse erneut von der Konsole aus aus, um herauszufinden, warum der Vorschlag nicht funktioniert hat (normalerweise: Der Ersatzanschluss ist nicht wirklich angeschlossen)."
+ },
+ "related": {
+ "heading": "Verwandte Themen",
+ "items": [
+ {
+ "label": "Persistente Schnittstellennamen",
+ "href": "/docs/network/persistent-names",
+ "tail": " — bindet Namen an MAC-Adressen, damit dieses Szenario nicht erneut auftritt."
+ },
+ {
+ "label": "Konfigurationsanalyse und geführte Bereinigung",
+ "href": "/docs/network/config-analysis",
+ "tailRich": "— für verwaiste iface-Blöcke (die andere Hälfte des gleichen Problems)."
+ },
+ {
+ "label": "Schnittstellen sichern und neu starten",
+ "href": "/docs/network/backup-restore",
+ "tail": "- manuelle Snapshots und der Wiederherstellungsbrowser."
+ }
+ ]
+ }
+}
diff --git a/web/messages/de/docs/network/config-analysis.json b/web/messages/de/docs/network/config-analysis.json
new file mode 100644
index 00000000..138b6c24
--- /dev/null
+++ b/web/messages/de/docs/network/config-analysis.json
@@ -0,0 +1,122 @@
+{
+ "meta": {
+ "title": "Konfigurationsanalyse und geführte Bereinigung | ProxMenux-Dokumentation",
+ "description": "Erkennt iface-Blöcke in /etc/network/interfaces, die auf physische NICs verweisen, die nicht mehr auf dem Host vorhanden sind. Meldet sie und bietet eine 5-schrittgesteuerte Entfernung mit obligatorischem Backup und einer Blockvorschau.",
+ "ogTitle": "Konfigurationsanalyse und geführte Bereinigung | ProxMenux-Dokumentation",
+ "ogDescription": "Finden und entfernen Sie verwaiste Schnittstellenblöcke, die durch Hardwareänderungen zurückgelassen wurden, mit vollständiger Vorschau und Rollback."
+ },
+ "header": {
+ "title": "Konfigurationsanalyse und geführte Bereinigung",
+ "description": "Untersucht jeden iface-Block in /etc/network/interfaces und prüft, ob die zugehörige physische Netzwerkkarte noch vorhanden ist. Meldet nach Hardwareänderungen verbliebene verwaiste Blöcke und bietet eine geführte Entfernung mit Backup, Vorschau und Bestätigung für jeden Block.",
+ "section": "Netzwerk"
+ },
+ "intro": {
+ "title": "Was das macht",
+ "body": "Identifiziert iface-Deklarationen, deren unterstützende NIC nicht mehr auf dem Host vorhanden ist (typisch nach dem Ersetzen oder Entfernen einer Netzwerkkarte). Anschließend wird eine geführte Bereinigung angeboten, bei der nur die verwaisten Blöcke entfernt werden, mit einer Sicherung, einer Vorschau pro Abschnitt und einer expliziten endgültigen Bestätigung."
+ },
+ "differs": {
+ "heading": "Wie es sich von der Brückenanalyse unterscheidet",
+ "headerAspect": "Aspekt",
+ "headerBridge": "Brückenanalyse",
+ "headerConfig": "Konfigurationsanalyse",
+ "rows": [
+ {
+ "aspect": "Untersucht",
+ "bridge": "Brücken (vmbrX) und ihre bridge-ports-Linie",
+ "config": "Jeder iface-Block (ausgenommen Loopback, Bridges, Bonds)"
+ },
+ {
+ "aspect": "Erkennt",
+ "bridge": "Brücken, die auf einen nicht vorhandenen Port verweisen",
+ "config": "Standalone-Schnittstellenblöcke für NICs, die nicht existieren"
+ },
+ {
+ "aspect": "Reparaturmaßnahmen",
+ "bridge": "Ersetzt den Portnamen in bridge-ports",
+ "config": "Entfernen Sie den gesamten iface-Block"
+ },
+ {
+ "aspect": "Ausgenommen sind",
+ "bridge": "Nichts – jede Brücke wird analysiert",
+ "config": "Bridges (vmbrX) und Bonds (bondX) bleiben immer erhalten, da sie virtuell sind und beim Start vorübergehend fehlen können"
+ }
+ ],
+ "outro": "In der Praxis führen Sie oft beide Werkzeuge in dieser Reihenfolge aus: zuerst Konfigurationsanalyse, um verwaiste Blöcke zu entfernen, dann Brückenanalyse, um Bridges, die auf die entfernte Schnittstelle verwiesen, neu zuzuordnen."
+ },
+ "step1": {
+ "heading": "Schritt 1: Analyse (schreibgeschützt)",
+ "intro": "Bricht sofort ab, wenn der Host nicht den klassischen Netzwerkstack nutzt. Andernfalls werden alle konfigurierten Schnittstellen außer Loopback mit ihrem Status aufgelistet:",
+ "virtTitle": "Virtuelle Schnittstellen sind geschützt",
+ "virtBody": "Bridges (vmbrX) und Bonds (bondX) sind virtuelle Konstrukte. Sie können zum Zeitpunkt der Prüfung durchaus fehlen, etwa eine Bridge ohne Ports. Daher schlägt die Analyse nur die Entfernung physischer Netzwerkkarten vor, niemals die dieser virtuellen Schnittstellen."
+ },
+ "step2": {
+ "heading": "Schritt 2: geführte Bereinigung (5 Schritte)",
+ "intro": "Wird nur gestartet, wenn Sie der Aufforderung am Ende der Analyse zustimmen. Jeder Schritt muss bestätigt werden; bei Abbruch wird ohne Schreiben beendet.",
+ "steps": [
+ {
+ "title": "1. Sicherheitssicherung",
+ "body": "Kopiert /etc/network/interfaces nach /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Der Pfad wird vorher und nachher angezeigt.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Bestätigen Sie die Entfernungsliste",
+ "body": "Listet genau die zu entfernenden physischen Schnittstellenblöcke auf. Sind die Netzwerkkarten zwischen Analyse und Bereinigung wieder aufgetaucht, etwa nach erneutem Einsetzen einer Karte, endet der Ablauf mit „Keine Bereinigung erforderlich.“",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Vorschau der genauen Block(s)",
+ "body": "Öffnet eine scrollbare Ansicht jedes iface-Blocks, der gelöscht werden würde, exakt wie in der Datei. Hier können Sie etwa einen wichtigen up-Hook erkennen, den Sie behalten möchten.",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Entfernung anwenden",
+ "body": "Für jede verwaiste Schnittstelle läuft sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces. Das löscht von der passenden iface-Zeile bis zur nächsten leeren Zeile.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Überprüfung",
+ "body": "Liest die Datei erneut, listet auf, was entfernt wurde, und überprüft die verbleibenden Schnittstellen erneut. Gibt den Rollback-Befehl aus. Führt nicht einen automatischen Neustart des Netzwerks durch. Das Entfernen eines nicht verwendeten Blocks kann sicher beim nächsten Neustart angewendet werden und vermeidet eine Beeinträchtigung des Live-Status.",
+ "tone": "emerald"
+ }
+ ],
+ "noRestartTitle": "Startet das Netzwerk nicht automatisch neu",
+ "noRestartBody": "Im Gegensatz zur Brückenreparatur bietet der Bereinigungsfluss keinen Neustart des Dienstes. Das Entfernen eines unbenutzten Schnittstellenblocks hat keine unmittelbaren Auswirkungen auf die laufende Konfiguration, so dass ein Neustart unnötig ist und ein unnötiges Verbindungsrisiko darstellt. Die Änderung wird beim nächsten manuellen systemctl restart networking oder beim nächsten Neustart wirksam."
+ },
+ "caveats": {
+ "heading": "Wichtige Vorbehalte",
+ "boundaryTitle": "Die Blockgrenze ist die erste leere Linie",
+ "boundaryBody": "Das sed-Muster löscht von iface <name> bis zur nächsten leeren Zeile. Fehlt in /etc/network/interfaces eine Leerzeile zwischen Blöcken, was nach manueller Bearbeitung möglich ist, kann auch der nächste Block gelöscht werden. Deshalb ist Schritt 3 obligatorisch: Prüfen Sie die Vorschau vor der Bestätigung.",
+ "tandemTitle": "Ein Waisen-Iface, das von einer Brücke verwendet wird, wird hier erkannt, nicht in der Brückenanalyse",
+ "tandemBody": "Wenn vmbr0bridge-ports enp3s0 deklariert und enp3s0 einen eigenen Block iface enp3s0 inet manual hat, bleibt nach der Entfernung von enp3s0 eine ungültige Referenz in vmbr0. Führen Sie danach die Brückenanalyse aus, um den Bridge-Port neu zuzuordnen oder zu entfernen. Beide Abläufe sind für die gemeinsame Verwendung ausgelegt."
+ },
+ "troubleshoot": {
+ "heading": "Fehlerbehebung",
+ "notFoundTitle": "Die Analyse zeigt mein neues NIC als \"NICHT GEFUNDEN\"",
+ "notFoundBody": "Der Kernel sieht das Gerät unter einem anderen Namen als in der Datei. Führen Sie ip link show aus, um den tatsächlichen Namen zu erhalten. Dies ist genau der Fall, wenn Persistente Schnittstellennamen das Problem verhindern würden.",
+ "tooMuchTitle": "Die Bereinigung hat zu viel entfernt (einen Block, den ich behalten wollte)",
+ "tooMuchBody": "Wiederherstellen aus dem in Schritt 5 gedruckten Backup:",
+ "tooMuchOutro": "Bearbeiten Sie die Datei von Hand, um eine klare leere Linie zwischen den Blöcken hinzuzufügen, bevor Sie die Bereinigung erneut ausführen, oder entfernen Sie den problematischen Block manuell.",
+ "bridgeBreakTitle": "Eine Brücke funktioniert nach dem Aufräumen nicht mehr",
+ "bridgeBreakBody": "Die Bridge war auf einen Port angewiesen, dessen iface-Block gerade entfernt wurde. Führen Sie die Brückenanalyse aus; der Vorschlag ordnet der Bridge eine vorhandene physische Schnittstelle zu."
+ },
+ "related": {
+ "heading": "Verwandte Themen",
+ "items": [
+ {
+ "label": "Brückenanalyse und geführte Reparatur",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — der natürliche nächste Schritt nach einer Bereinigung."
+ },
+ {
+ "label": "Persistente Schnittstellennamen",
+ "href": "/docs/network/persistent-names",
+ "tail": " — verhindert, dass sich nach jeder Hardwareänderung verwaiste Blöcke ansammeln."
+ },
+ {
+ "label": "Schnittstellen sichern und neu starten",
+ "href": "/docs/network/backup-restore",
+ "tail": "- manuelle Snapshots und der Wiederherstellungsbrowser."
+ }
+ ]
+ }
+}
diff --git a/web/messages/de/docs/network/diagnostics.json b/web/messages/de/docs/network/diagnostics.json
new file mode 100644
index 00000000..3aca50e3
--- /dev/null
+++ b/web/messages/de/docs/network/diagnostics.json
@@ -0,0 +1,94 @@
+{
+ "meta": {
+ "title": "Diagnose | ProxMenux Dokumentation",
+ "description": "Drei einmalige, schreibgeschützte Diagnoseprüfungen: Routingtabelle anzeigen, Konnektivität testen und erweiterte Diagnose. Reine Prüfung — schreibt nie in /etc/network/interfaces und führt nie ändernde Befehle aus, mit einer ausdrücklichen Ausnahme: Wird NetworkManager erkannt, kann er nach Ihrer Zustimmung vollständig entfernt werden.",
+ "ogTitle": "Diagnose | ProxMenux Dokumentation",
+ "ogDescription": "Schreibgeschützte Netzwerkdiagnose für den Proxmox-Host: Routing, Erreichbarkeit und erweiterte Statistiken."
+ },
+ "header": {
+ "title": "Diagnose",
+ "description": "Drei einmalige, schreibgeschützte Prüfungen des aktuellen Netzwerkzustands: Routingtabelle, Konnektivitätstest und erweiterte Statistiken. Keine schreibt in /etc/network/interfaces — jederzeit sicher nutzbar, auch über SSH. Für interaktive Echtzeitüberwachung siehe Überwachungswerkzeuge für Echtzeitdaten.",
+ "section": "Netzwerk"
+ },
+ "intro": {
+ "title": "Was das macht",
+ "body": "Berichtet über Routing, Erreichbarkeit und zusammengefasste Statistiken, ohne etwas zu ändern. Damit können Sie den ordnungsgemäßen Netzwerkbetrieb bestätigen oder doppelte IP-Adressen erkennen. Für die kontinuierliche Verkehrsbeobachtung siehe Überwachungswerkzeuge für Echtzeitdaten; zur Anzeige der unverarbeiteten Konfigurationsdatei siehe Schnittstellen sichern und neu starten."
+ },
+ "routing": {
+ "heading": "Routing-Tabelle anzeigen",
+ "body": "Listet alle aktuell vom Kernel verwendeten Routen auf (ip route show) und hebt das Standard-Gateway hervor. Damit lässt sich prüfen, ob Internetverkehr die erwartete Schnittstelle verwendet und keine veralteten Routen Vorrang haben."
+ },
+ "connectivity": {
+ "heading": "Konnektivität testen",
+ "intro": "Sendet zwei ICMP-Sonden nacheinander an drei Ziele und meldet jede einzelne. Führt dann eine nslookup google.com aus, um die DNS-Auflösung unabhängig von ICMP zu überprüfen.",
+ "headerTest": "Test",
+ "headerTarget": "Ziel",
+ "headerConfirms": "Was es bestätigt",
+ "rows": [
+ {
+ "test": "Google DNS",
+ "target": "8.8.8.8",
+ "confirms": "Externe Erreichbarkeit über bekannte Anycast IP"
+ },
+ {
+ "test": "Cloudflare DNS",
+ "target": "1.1.1.1",
+ "confirms": "Unabhängige zweite Meinung, wenn Google ICMP blockiert"
+ },
+ {
+ "test": "Gateway",
+ "target": "(Standardroute)",
+ "confirms": "L2/L3-Verbindung zum lokalen Router"
+ },
+ {
+ "test": "DNS-Auflösung",
+ "target": "google.com",
+ "confirms": "Der DNS-Server ist erreichbar und antwortet"
+ }
+ ],
+ "readingTitle": "Lesen des Ergebnisses",
+ "readingBody": "Wenn der Gateway-Test besteht, aber die öffentlichen DNS-Ziele fehlschlagen, haben Sie lokale Konnektivität, aber kein Internet - überprüfen Sie den Upstream des Gateways. Wenn die DNS-Auflösung fehlschlägt, Pings zu 8.8.8.8 jedoch erfolgreich sind, ist das Problem der Resolver, nicht das Netzwerk: Überprüfen Sie /etc/resolv.conf."
+ },
+ "advanced": {
+ "heading": "Erweiterte Diagnose",
+ "intro": "Fasst netzwerkweite Statistiken zusammen und prüft auf häufige Probleme. Meldet die Anzahl aktiver Verbindungen, lauschende Ports und die Gesamtzahl der Schnittstellen und weist ausdrücklich auf zwei problematische Konstellationen hin:",
+ "items": [
+ "NetworkManager läuft auf einem Proxmox-Host. NetworkManager und Proxmox’ ifupdown stehen im Konflikt: Beide versuchen, Schnittstellen zu verwalten, sodass Bridges ständig ihren Zustand wechseln oder nicht aktiviert werden. Wird NetworkManager erkannt, bietet das Werkzeug an, ihn interaktiv zu stoppen, zu deaktivieren und vollständig zu entfernen (dies ist die einzige Diagnose, die das System ändern kann, und nur nach ausdrücklicher Zustimmung).",
+ "Doppelte IP-Adressen auf verschiedenen Schnittstellen. Zwei Schnittstellen mit derselben IPv4-Adresse verursachen sporadische Verbindungsprobleme, die innerhalb der VM äußerst schwer zu untersuchen sind. Erkannt über ip -4 addr show | sort | uniq -d."
+ ],
+ "nmTitle": "Die NetworkManager-Eingabeaufforderung ist hier die einzige Änderungsaktion",
+ "nmBody": "Alle anderen Prüfungen in der erweiterten Diagnose sind schreibgeschützt. Die Entfernung von NetworkManager erfordert eine Ja/Nein-Bestätigung und führt systemctl stop / disable + apt-get purge -y network-manager aus. Wenn Sie ablehnen, ändert sich nichts."
+ },
+ "troubleshoot": {
+ "heading": "Fehlerbehebung",
+ "gwTitle": "Konnektivität testen meldet einen Gatewayfehler, aber der Host hat Internetzugriff",
+ "gwBody": "Einige Router reagieren nicht auf ICMP von ihrer internen Schnittstelle aus, selbst wenn sie den Datenverkehr gerne weiterleiten. Testen Sie mit traceroute 8.8.8.8 von einer Konsole aus: Wenn der zweite Hop Ihr ISP ist und der öffentliche DNS-Test bestanden ist, ist das Gateway trotz des fehlgeschlagenen Pings in Ordnung.",
+ "dupTitle": "Die erweiterte Diagnose meldet weiterhin doppelte IP-Adressen, obwohl ich eine entfernt habe",
+ "dupBody": "Der Check betrachtet den Live-Kernel-Status, nicht die Config-Datei. Führen Sie ip -4 addr show aus, um zu bestätigen; wenn das Duplikat noch vorhanden ist, hält es immer noch eine Schnittstelle. Verwenden Sie ip addr del <IP>/<mask> dev <iface>, um es aus dem Live-Zustand zu entfernen, und bearbeiten Sie dann /etc/network/interfaces, wenn es auch persistent ist."
+ },
+ "related": {
+ "heading": "Verwandte Themen",
+ "items": [
+ {
+ "label": "Überwachungswerkzeuge für Echtzeitdaten",
+ "href": "/docs/network/monitoring",
+ "tail": "— interaktive iftop / iptraf-ng / iperf3 Launcher."
+ },
+ {
+ "label": "Brückenanalyse und geführte Reparatur",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — wenn einem vmbrX der physische Port fehlt."
+ },
+ {
+ "label": "Konfigurationsanalyse und geführte Bereinigung",
+ "href": "/docs/network/config-analysis",
+ "tail": " — wenn eine alte Netzwerkkarte noch deklariert, aber nicht mehr vorhanden ist."
+ },
+ {
+ "label": "Schnittstellen sichern und neu starten",
+ "href": "/docs/network/backup-restore",
+ "tail": " — um vor jeder Änderung einen Schnappschuss der Konfiguration zu erstellen."
+ }
+ ]
+ }
+}
diff --git a/web/messages/de/docs/network/index.json b/web/messages/de/docs/network/index.json
new file mode 100644
index 00000000..f9900748
--- /dev/null
+++ b/web/messages/de/docs/network/index.json
@@ -0,0 +1,107 @@
+{
+ "meta": {
+ "title": "Proxmox-Netzwerkverwaltung — Bridges, Bonds, Diagnose, Reparatur | ProxMenux",
+ "description": "Schreibgeschützte Diagnose, Analysen mit anschließenden Vorschlägen und geführte Reparaturen für den Debian-/Proxmox-Netzwerkstack (/etc/network/interfaces). Prüfen Sie Bridges und Bonds, starten Sie Live-Überwachungswerkzeuge, vergeben Sie dauerhafte Schnittstellennamen, erstellen Sie Backups und starten Sie das Netzwerk sicher neu — mit obligatorischen Backups und schrittweiser Vorschau.",
+ "ogTitle": "Proxmox-Netzwerkverwaltung — Bridges, Bonds, Diagnose, Reparatur",
+ "ogDescription": "Diagnose, Analyse und geführte Reparaturen für den Proxmox-Netzwerkstack mit obligatorischen Backups und Schritt-für-Schritt-Vorschau.",
+ "twitterTitle": "Proxmox-Netzwerkverwaltung | ProxMenux",
+ "twitterDescription": "Brücken, Bonds, Diagnosen und geführte Reparaturen für den Proxmox-Netzwerkstack mit obligatorischen Backups."
+ },
+ "header": {
+ "title": "Netzwerkmanagement",
+ "description": "Schreibgeschützte Diagnose, Analyseberichte mit anschließenden Vorschlägen und geführte Reparaturen für den klassischen Debian-/Proxmox-Netzwerkstack. Jeder destruktive Vorgang erstellt zuerst ein Backup und zeigt die genauen Änderungen vor der Anwendung an.",
+ "section": "Netzwerk"
+ },
+ "intro": {
+ "title": "Wozu dieses Menü dient",
+ "body": "Prüfen, diagnostizieren und reparieren Sie bei Bedarf die Netzwerkkonfiguration des Proxmox-Hosts, ohne den Fernzugriff zu verlieren. Die Werkzeuge folgen einem Prinzip: zuerst lesen, dann Vorschläge machen und Änderungen nur mit ausdrücklicher Zustimmung und einer Sicherheitskopie anwenden. Es gibt keine Schaltfläche „Alles automatisch reparieren“."
+ },
+ "openingMenu": {
+ "heading": "Öffnen des Menüs",
+ "intro": "Wählen Sie im Hauptmenü von ProxMenux Netzwerk. Folgendes wird angezeigt:",
+ "imageAlt": "Menü Netzwerkmanagement mit Diagnose, Überwachung, Analyse, Reparatur, persistenten Namen und Backup-Optionen"
+ },
+ "safety": {
+ "heading": "Das Sicherheitsmodell",
+ "body": "Das Bearbeiten der Netzwerkkonfiguration auf einem entfernten Proxmox-Host ist eine der einfachsten Möglichkeiten, sich auszusperren. ProxMenux behandelt jede Aktion entsprechend. Die Werkzeuge fallen in drei Verhaltensstufen - wählen Sie die Karte, die Ihrer Absicht entspricht:"
+ },
+ "tiers": {
+ "readOnly": {
+ "title": "Schreibgeschützt",
+ "body": "Reine Inspektion. Kann das System unter keinen Umständen ändern.",
+ "items": [
+ "Routingtabelle, Konnektivitätstests, fortgeschrittene Statistiken",
+ "Verkehrsüberwachung in Echtzeit (iftop, iptraf-ng)",
+ "Bandbreitentest (iperf3)"
+ ]
+ },
+ "analyze": {
+ "title": "Analysieren, dann vorschlagen",
+ "body": "Erkennt Probleme, druckt einen Bericht mit vorgeschlagenen Shell-Befehlen und stoppt. Sie entscheiden, ob Sie anschließend in die geführte Reparatur eintreten möchten.",
+ "items": [
+ "Brückenkonfigurationsanalyse",
+ "Netzwerkkonfigurationsanalyse"
+ ]
+ },
+ "apply": {
+ "title": "Mit Backup anwenden",
+ "body": "Ändert das System. Erstellt immer zuerst ein Backup der betroffenen Datei mit Zeitstempel und zeigt vor dem Schreiben eine Vorschau an.",
+ "items": [
+ "Persistente Schnittstellennamen (.link-Dateien)",
+ "Manuelles Backup, Wiederherstellung und Neustart des Dienstes"
+ ]
+ }
+ },
+ "classicTitle": "Nur klassischer Stack",
+ "classicBody": "Jede Analyse- und Reparaturfunktion prüft den aktiven Netzwerkmanager, bevor sie etwas ändert. Wenn der Host netplan, systemd-networkd oder NetworkManager verwendet, bricht das Werkzeug sofort mit einer klaren Meldung ab — das Menü unterstützt nur den klassischen Debian-/Proxmox-Stack unter /etc/network/interfaces. Das ist beabsichtigt: Eine netplan-Datei nach Regeln für ifupdown zu bearbeiten, würde die Konfiguration unbemerkt beschädigen.",
+ "backups": {
+ "heading": "Wo Backups gespeichert werden",
+ "intro": "Jede geführte Reparatur, Wiederherstellung oder manuelle Sicherung schreibt eine zeitgestempelte Kopie von /etc/network/interfaces auf /var/backups/proxmenux/:",
+ "rollbackIntro": "So rollen Sie manuell von einer Konsole zurück:"
+ },
+ "readOnlySection": {
+ "heading": "Schreibgeschützte Prüfung",
+ "body": "Der Ausgangspunkt, wenn etwas nicht stimmt. Reine Prüfung — schreibt nie in /etc/network/interfaces und führt nie einen ändernden Befehl aus (mit einer ausdrücklichen Ausnahme: Wird NetworkManager erkannt, kann er nach Ihrer Zustimmung vollständig entfernt werden). Jederzeit sicher über SSH nutzbar.",
+ "options": [
+ {
+ "title": "Diagnose",
+ "description": "Drei einmalige, schreibgeschützte Prüfungen: Routingtabelle anzeigen, Konnektivität testen und erweiterte Diagnose. Reine Prüfung — schreibt nie in das System."
+ },
+ {
+ "title": "Überwachungswerkzeuge für Echtzeitdaten",
+ "description": "Drei interaktive Launcher: iftop (Echtzeitbandbreite pro Hostpaar), iptraf-ng (Multi-Mode-Traffic-Monitor) und iperf3 (Bandbreitentest, Server / Client-Modus)."
+ }
+ ]
+ },
+ "analyzeSection": {
+ "heading": "Analysieren, dann vorschlagen",
+ "body": "Wenn eine Prüfung oder ein tatsächlicher Ausfall auf ein Konfigurationsproblem hinweist, kommen diese Werkzeuge zum Einsatz. Jedes untersucht den relevanten Teil von /etc/network/interfaces, gibt einen detaillierten Bericht mit dem genauen Shell-Befehl zur Behebung jedes Befunds aus und stoppt. Wenn Sie anschließend die optionale geführte Reparatur annehmen, wird vor jeder Änderung eine Sicherung erstellt und die Änderung vor dem Schreiben angezeigt.",
+ "options": [
+ {
+ "title": "Brückenanalyse und geführte Reparatur",
+ "description": "Erkennt vmbrX-Bridges mit fehlenden oder ungültigen Ports, etwa nach einer neuen PCI-Gerätenummerierung. Zeigt zuerst einen Bericht an und repariert nur, wenn Sie dem geführten Ablauf mit 5 Schritten zustimmen."
+ },
+ {
+ "title": "Konfigurationsanalyse und geführte Bereinigung",
+ "description": "Findet in /etc/network/interfaces deklarierte physische Schnittstellen, die nicht mehr existieren (Waisenkonfigurationen, die durch Hardwareänderungen zurückgelassen wurden). Meldet sie und bietet eine geführte Entfernung an."
+ }
+ ]
+ },
+ "applySection": {
+ "heading": "Mit Backup anwenden",
+ "body": "Diese Werkzeuge schreiben bestimmungsgemäß auf den Datenträger. Jedes erstellt vorher ein Backup der betroffenen Datei mit Zeitstempel. Destruktive Optionen wie Wiederherstellen und Neustarten erfordern eine ausdrückliche Ja/Nein-Bestätigung. Persistente Schnittstellennamen werden erst beim nächsten Neustart wirksam, sodass die Einrichtung auch auf einem entfernten Host sicher geplant werden kann.",
+ "options": [
+ {
+ "title": "Persistente Schnittstellennamen",
+ "description": "Bindet Schnittstellennamen (eno1, enp3s0, …) über systemd-.link-Dateien an MAC-Adressen. Die Namen bleiben bei PCI-Steckplatzwechseln, Kernel-Upgrades und beim Hinzufügen oder Entfernen anderer Netzwerkkarten erhalten."
+ },
+ {
+ "title": "Schnittstellen sichern und neu starten",
+ "description": "Manueller Snapshot von /etc/network/interfaces, Durchsuchen und Wiederherstellen früherer Backups, Anzeigen der Live-Konfiguration und Neustart des Netzwerkdienstes bei Bedarf."
+ }
+ ]
+ },
+ "consoleTitle": "Konsolenzugriff bereithalten",
+ "consoleSubTitle": "Vor jeder Reparatur auf einem entfernten Host",
+ "consoleBody": "Wenn Sie über SSH verbunden sind und nur einen Zugangsweg zum Host haben, halten Sie vor Netzwerkänderungen einen Ersatzweg bereit: eine physische Konsole, IPMI oder iKVM oder einen anderen Rechner im selben LAN. Die geführten Reparaturen sind sicher und bieten immer einen Befehl zum Zurücksetzen. Eine falsch konfigurierte Bridge oder eine unterbrochene Verbindung kann Sie dennoch aussperren, bis Sie die Konsole erreichen."
+}
diff --git a/web/messages/de/docs/network/monitoring.json b/web/messages/de/docs/network/monitoring.json
new file mode 100644
index 00000000..c0be503f
--- /dev/null
+++ b/web/messages/de/docs/network/monitoring.json
@@ -0,0 +1,136 @@
+{
+ "meta": {
+ "title": "Überwachungswerkzeuge für Echtzeitdaten | ProxMenux-Dokumentation",
+ "description": "Drei interaktive Netzwerküberwachungsstarter: iftop (Echtzeitbandbreite pro Hostpaar), iptraf-ng (Multi-Mode-Traffic-Monitor) und iperf3 (Bandbreitentest, Server / Client-Modus). Jeder wird bei der ersten Verwendung installiert.",
+ "ogTitle": "Überwachungswerkzeuge für Echtzeitdaten | ProxMenux-Dokumentation",
+ "ogDescription": "Interaktive Netzwerküberwachung und Bandbreitentests für den Proxmox-Host: iftop, iptraf-ng, iperf3."
+ },
+ "header": {
+ "title": "Überwachungswerkzeuge für Echtzeitdaten",
+ "description": "Drei interaktive Starter zur Echtzeit-Netzwerkbeobachtung und Bandbreitenmessung: iftop, iptraf-ng und iperf3. Jedes Werkzeug wird beim ersten Gebrauch automatisch über apt installiert, läuft im Vordergrund und wird mit der angegebenen Taste beendet. Sie ändern die Netzwerkkonfiguration des Hosts nicht; iperf3 erzeugt Testverkehr.",
+ "section": "Netzwerk"
+ },
+ "intro": {
+ "title": "Was das macht",
+ "body": "Drei interaktive Monitoring-Tools, jedes hinter seinem eigenen Menüeintrag. Beim ersten Start eines Pakets wird das Paket lautlos über apt-get installiert. Nachfolgende Starts beginnen sofort. Keines dieser Tools ändert die Host-Netzwerkkonfiguration."
+ },
+ "when": {
+ "heading": "Welches Werkzeug Sie wann verwenden",
+ "headerQuestion": "Fragestellung",
+ "headerUse": "Verwenden",
+ "rows": [
+ {
+ "question": "Wer lastet die Verbindung gerade jetzt aus?",
+ "use": "iftop"
+ },
+ {
+ "question": "Welche Protokollaufschlüsselung / Paketgrößen / TCP-Flows fließen?",
+ "use": "iptraf-ng"
+ },
+ {
+ "question": "Wie viel Bandbreite ist tatsächlich zwischen zwei Hosts verfügbar?",
+ "use": "iperf3"
+ }
+ ]
+ },
+ "iftop": {
+ "heading": "Netzwerknutzung in Echtzeit (iftop)",
+ "body": "Bandbreite pro Hostpaar (Quelle ↔ Ziel) in Echtzeit — wie top für Netzwerkverkehr. Zeigt die größten Datenströme oben an, mit gleitenden Durchschnitten über 2/10/40 Sekunden. Das beste Werkzeug für die Frage „Warum ist mein Uplink ausgelastet?“.",
+ "exit": "Beenden: Drücken Sie q. ProxMenux zeigt vor dem Start einen Erinnerungsdialog.",
+ "keysTitle": "Nützliche Tasten in iftop",
+ "keysBody": "n DNS-Auflösung umschalten, p Portnummern anzeigen, P Anzeige pausieren, t Zeilenrichtung umschalten (gesendet / empfangen / beides), 1/2/3 nach dem Durchschnitt über 2 s / 10 s / 40 s sortieren. Vollständige Liste unter man iftop."
+ },
+ "iptraf": {
+ "heading": "Netzwerküberwachungstool (iptraf-ng)",
+ "intro": "Ein menügesteuerter Verkehrsmonitor mit mehreren Modi. iftop beantwortet „wer“, iptraf-ng beantwortet „was“: Byte-/Paketzähler pro Protokoll, Verfolgung des TCP-Verbindungszustands, Paketgrößenhistogramme und LAN-Aktivität pro Station.",
+ "menuIntro": "Beim Start erhalten Sie ein Menü mit fünf Optionen:",
+ "headerMode": "Modus",
+ "headerUseFor": "Verwenden Sie es für",
+ "rows": [
+ {
+ "mode": "IP-Verkehrsmonitor",
+ "useFor": "Live TCP / UDP/ICMP / Other-IP-Flow-Liste mit Byte-Zählern und Verbindungszustand"
+ },
+ {
+ "mode": "Allgemeine Schnittstellenstatistiken",
+ "useFor": "Aggregierte IPv4/IPv6/TCP/UDP/ICMP/Nicht-IP-Paketzahl pro NIC"
+ },
+ {
+ "mode": "Detaillierte Schnittstellenstatistiken",
+ "useFor": "Gleiche wie oben, aber für eine Schnittstelle, mit Paketgröße und -rate Details"
+ },
+ {
+ "mode": "Statistische Aufgliederungen",
+ "useFor": "Histogramm der Paketgrößenverteilung nach TCP / UDP Port"
+ },
+ {
+ "mode": "LAN-Stationenmonitor",
+ "useFor": "Per-MAC-Verkehrsstatistiken für die lokale Broadcast-Domain"
+ }
+ ],
+ "exit": "Beenden: Drücken Sie in einer beliebigen Ansicht x oder im Hauptmenü Q. ProxMenux zeigt vor dem Start einen Erinnerungsdialog.",
+ "logTitle": "Erfasste Daten in einer Datei protokollieren",
+ "logBody": "Jeder Modus bietet an, erfasste Statistiken unter /var/log/iptraf-ng/ zu protokollieren. Nützlich zur Aufzeichnung einer Verkehrsspitze: Lassen Sie das Werkzeug laufen, protokollieren Sie in eine Datei und prüfen Sie diese später, statt die Live-Anzeige mitlesen zu müssen."
+ },
+ "iperf3": {
+ "heading": "Bandbreitentest (iperf3)",
+ "intro1": "Misst den tatsächlichen TCP-Durchsatz zwischen zwei Hosts. Anders als iftop / iptraf-ng, die vorhandenen Verkehr beobachten, erzeugt iperf3 künstlichen Verkehr für einen Belastungstest der Verbindung. Unverzichtbar für Fragen wie „Erreicht mein 10-GbE-Link wirklich 10 GbE?“ oder „Liegt der Engpass an der Netzwerkkarte, am Switch oder am Speicher?“.",
+ "intro2": "iperf3 ist ein Werkzeug für zwei Hosts: Eine Seite läuft als Server und lauscht auf TCP-Port 5201, die andere als Client, der sich verbindet, Daten sendet und die Rate ausgibt. Der ProxMenux-Starter fragt nach dem gewünschten Modus:",
+ "headerMode": "Modus",
+ "headerBehaviour": "Verhalten",
+ "headerCli": "Entsprechender CLI-Befehl",
+ "rows": [
+ {
+ "mode": "Server",
+ "behaviour": "Lauscht auf TCP-Port 5201 und gibt für jeden eingehenden Test Ergebnisse aus. Beenden mit Ctrl+C.",
+ "cli": "iperf3 -s"
+ },
+ {
+ "mode": "Client",
+ "behaviour": "Fragt nach der Server-IP / Hostname, verbindet, führt einen Standard-10-Sekunden-Test aus und druckt den Bericht aus.",
+ "cli": "iperf3 -c "
+ }
+ ],
+ "workflowIntro": "Typischer Workflow zum Testen einer 10 GbE-Verbindung zwischen zwei Proxmox-Hosts:",
+ "workflow": [
+ "Öffnen Sie auf Host A das Netzwerkmenü → Bandbreitentest (iperf3) → wählen Sie Server.",
+ "Öffnen Sie auf Host B den gleichen Menüeintrag → Wählen Sie Client → Geben Sie die IP von Host A ein.",
+ "Warten Sie 10 Sekunden. Vergleichen Sie die gemeldete Rate mit dem theoretischen Maximum des Links."
+ ],
+ "sample": "Beispiel für die Client-Ausgabe:",
+ "flagsTitle": "Nützliche manuelle Flags (aus einer Shell ausgeführt)",
+ "flagsBody": "-t 60 längerer Test (60 s statt 10 s), -P 4 4 parallele Datenströme (lastet schneller aus), -R umgekehrte Richtung (Server → Client), -u -b 100M UDP-Test mit 100 Mbit/s (für Jitter- und Paketverlustmessungen), -p 5202 anderer Port (mehrere parallele Tests). Vollständige Liste unter man iperf3.",
+ "firewallTitle": "Öffnen Sie den Firewall-Port auf dem Server",
+ "firewallBody": "Der Server hört standardmäßig auf TCP 5201. Wenn Sie den Server in einem Proxmox-Host mit einer strengen Firewall (Datacenter oder Host-Level) betreiben, erlauben Sie für die Dauer des Tests eingehende TCP 5201 von der IP des Clients und schließen Sie ihn erneut. Gleiches gilt für nftables / iptables auf bloßen Hosts."
+ },
+ "install": {
+ "heading": "Erster Start installiert das Paket",
+ "body": "Alle drei Starter prüfen, ob das Programm vorhanden ist, und führen bei Bedarf apt-get update -qq && apt-get install -y <pkg> aus. Die Installation erfolgt ohne Ausgabe: Das Menü kann beim ersten Mal 10–30 Sekunden lang eingefroren wirken. Spätere Starts erfolgen sofort."
+ },
+ "troubleshoot": {
+ "heading": "Fehlerbehebung",
+ "hangTitle": "Die Installation hängt beim ersten Start endlos",
+ "hangBody": "Der Host hat kein Internet oder die Apt-Repos sind nicht erreichbar. Brechen Sie mit Ctrl+C ab, führen Sie apt-get update manuell aus, um den tatsächlichen Fehler anzuzeigen (DNS, Repo-Signatur, Proxy …), und kehren Sie dann zum Menü zurück.",
+ "refusedTitle": "iperf3-Client: „unable to connect to server: Connection refused“",
+ "refusedBody": "Entweder läuft der Server nicht oder seine Firewall blockiert TCP 5201. Prüfen Sie auf dem Server mit ss -tlnp | grep 5201, ob iperf3 lauscht. Lauscht es, aber der Client kann sich weiterhin nicht verbinden, prüfen Sie die Firewalls auf dem Weg zwischen beiden Hosts.",
+ "slowTitle": "iperf3 meldet deutlich weniger als die erwartete Verbindungsgeschwindigkeit",
+ "slowBody": "Häufige Ursachen nach Wahrscheinlichkeit: (1) Die CPU eines Hosts begrenzt den Durchsatz — versuchen Sie iperf3 -c <target> -P 4 zur Nutzung mehrerer Kerne; (2) der Weg enthält eine langsamere Verbindung, etwa einen Gigabit-Switch zwischen zwei 10-GbE-Karten; (3) unterschiedliche MTU — prüfen Sie ip link show an beiden Enden; (4) deaktiviertes NIC-Offloading — siehe Community-Skript Disable NIC Offloading bei einer Intel-e1000e-Karte.",
+ "noTrafficTitle": "iftop / iptraf-ng zeigt keinen Traffic für einen beschäftigten Host an",
+ "noTrafficBody": "Die Standarderfassung erfolgt auf der ersten erkannten Schnittstelle. Geben Sie die richtige explizit aus der Shell an: iftop -i vmbr0 oder iptraf-ng -i vmbr0. Der Menüstarter verwendet den Standard; für nicht standardmäßige Schnittstellen, laufen Sie von einer Konsole aus."
+ },
+ "related": {
+ "heading": "Verwandte Themen",
+ "items": [
+ {
+ "label": "Diagnose",
+ "href": "/docs/network/diagnostics",
+ "tail": " — die einmaligen, schreibgeschützten Prüfungen (Routing, Konnektivität, erweiterte Statistiken)."
+ },
+ {
+ "label": "Brückenanalyse und geführte Reparatur",
+ "href": "/docs/network/bridge-analysis",
+ "tail": "Wenn die Überwachung zeigt, dass eine Schnittstelle oder Brücke nicht das tut, was sie sollte."
+ }
+ ]
+ }
+}
diff --git a/web/messages/de/docs/network/persistent-names.json b/web/messages/de/docs/network/persistent-names.json
new file mode 100644
index 00000000..4c79b075
--- /dev/null
+++ b/web/messages/de/docs/network/persistent-names.json
@@ -0,0 +1,130 @@
+{
+ "meta": {
+ "title": "Persistente Schnittstellennamen | ProxMenux-Dokumentation",
+ "description": "Binden Sie Proxmox-Schnittstellennamen (eno1, enp3s0, …) über systemd-.link-Dateien an MAC-Adressen, damit sie bei neuer PCI-Nummerierung, Kernel-Upgrades und beim Hinzufügen oder Entfernen anderer Netzwerkkarten erhalten bleiben.",
+ "ogTitle": "Persistente Schnittstellennamen | ProxMenux-Dokumentation",
+ "ogDescription": "Verhindern Sie, dass sich Proxmox-Schnittstellennamen bei Hardwareänderungen ändern. Verwendet systemd-.link-Dateien mit Zuordnung über die MAC-Adresse."
+ },
+ "header": {
+ "title": "Persistente Schnittstellennamen",
+ "description": "Erstellt pro physischer Netzwerkkarte eine systemd-.link-Datei, die den vom Kernel vergebenen Namen an die MAC-Adresse der Karte bindet. Nach der Anwendung beim nächsten Neustart bleiben die Schnittstellennamen beim Hinzufügen, Entfernen oder Umstecken von PCIe-Karten stabil.",
+ "section": "Netzwerk"
+ },
+ "intro": {
+ "title": "Was das macht",
+ "body": "Schreibt für jede physische Netzwerkkarte des Hosts eine kleine Datei unter /etc/systemd/network/10-<iface>.link mit der Regel: „Das Gerät mit dieser MAC-Adresse muss immer diesen Namen tragen.“ systemd-udevd wendet die Regel bei jedem Start an, bevor ifupdown die Datei /etc/network/interfaces liest."
+ },
+ "problem": {
+ "heading": "Das Problem, das dies löst",
+ "intro": "Linux leitet Standard-Schnittstellennamen aus der PCI-Topologie ab — eno1 = onboard, enp3s0 = die Karte in PCI-Bus 3, Steckplatz 0 usw. Das Namensschema ist deterministisch, solange die Hardwareanordnung gleich bleibt. Ändert sich die Anordnung, verschieben sich die Namen:",
+ "items": [
+ "Fügen Sie einen GPU vor einem vorhandenen NIC hinzu → die NIC-Busnummer kann sich ändern → Namensänderungen.",
+ "Bewegen Sie eine Karte in einen anderen PCIe-Slot → Namensänderungen.",
+ "BIOS / UEFI-Update, das Geräte erneut auflistet → Namen können sich ändern.",
+ "Ersetzen Sie eine fehlerhafte Karte durch das gleiche Modell in einem anderen Slot → Namensänderungen."
+ ],
+ "outro": "Nach einer solchen Änderung verweist /etc/network/interfaces weiterhin auf den alten Namen. Die Bridge lässt sich nicht aktivieren und der Host verliert die Netzwerkverbindung. Persistente Namen verhindern, dass dieses Szenario erneut auftritt."
+ },
+ "howWorks": {
+ "heading": "Wie es funktioniert",
+ "arrowLabel": "je NIC",
+ "nodes": {
+ "detectLabel": "Physische NIC erkennen",
+ "detectDetail": "ls /sys/class/net/\nvmbr / bond / docker / veth /\nwireguard … ausschließen",
+ "readLabel": "Jede MAC-Adresse lesen",
+ "readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
+ "writeLabel": ".link-Datei schreiben",
+ "writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
+ },
+ "minimalIntro": "Jede generierte Datei ist absichtlich minimal:",
+ "minimalOutro": "Beim Start erkennt systemd-udevd das Gerät anhand der MAC-Adresse und weist den gewünschten Namen zu, bevor andere Komponenten wie ifupdown oder die Standardbenennung des Kernels darauf zugreifen. Das Dateipräfix 10- sorgt dafür, dass diese Regeln früh und vor der Standarddatei 99-default.link geladen werden."
+ },
+ "scope": {
+ "heading": "Was geschrieben wird, was übersprungen wird",
+ "headerType": "Typ",
+ "headerBehaviour": "Verhalten",
+ "headerWhy": "Warum",
+ "rows": [
+ {
+ "type": "Onboard-/PCIe-Netzwerkkarte",
+ "behaviour": ".link Datei geschrieben",
+ "why": "Unterstützt durch ein echtes PCI-Gerät - der Fall, für den das Tool geeignet ist"
+ },
+ {
+ "type": "Wi-Fi (phy80211)",
+ "behaviour": ".link Datei geschrieben",
+ "why": "Hat einen echten MAC und profitiert von Namensstabilität"
+ },
+ {
+ "type": "Brücken (vmbrX)",
+ "behaviour": "Übersprungen",
+ "why": "Virtuell; Name kommt von /etc/network/interfaces"
+ },
+ {
+ "type": "Bonds (bondX)",
+ "behaviour": "Übersprungen",
+ "why": "Virtuell; Bondname wird von ifupdown festgelegt"
+ },
+ {
+ "type": "veth / docker0 / br-XXXX",
+ "behaviour": "Übersprungen",
+ "why": "Erstellt auf Anfrage von Docker / LXC - keine persistente Hardware"
+ },
+ {
+ "type": "tap / fwpr / fwln",
+ "behaviour": "Übersprungen",
+ "why": "Erstellt auf Anfrage von Proxmox per VM/CT"
+ },
+ {
+ "type": "WireGuard / Cilium / Tailscale",
+ "behaviour": "Übersprungen",
+ "why": "Software-Schnittstellen, die von eigenen Daemons verwaltet werden"
+ }
+ ]
+ },
+ "safety": {
+ "heading": "Sicherheitsnetz: Frühere .link-Dateien werden gesichert",
+ "intro": "Wenn /etc/systemd/network/ bereits .link-Dateien enthält (aus einem früheren Lauf oder anderen Tools), werden diese in ein Backup-Verzeichnis mit Zeitstempel kopiert, bevor die neuen generiert werden:",
+ "outro": "Zum Zurückrollen: Kopieren Sie die Dateien aus dem Backup-Verzeichnis zurück und starten Sie neu.",
+ "rebootTitle": "Effekt beim nächsten Neustart, nicht sofort",
+ "rebootBody": "Änderungen an .link-Dateien gelten nur beim Booten, wenn udev Geräte erneut auflistet. Das Tool meldet \"Änderungen gelten nach dem Neustart\" aus diesem Grund. Das Umbenennen einer Schnittstelle ist riskant und wird nicht versucht: Ein aktiver vmbr0 mit Mitgliedern müsste atomar neu konfiguriert werden, weshalb die Operation auf den nächsten sauberen Boot verschoben wird."
+ },
+ "afterReboot": {
+ "heading": "Nach dem Reboot",
+ "intro": "Sobald die Namen angeheftet sind, ist der Workflow für zukünftige Hardwareänderungen einfach:",
+ "items": [
+ "Ausschalten, Hardware ändern (Karte hinzufügen, in einen anderen Steckplatz umstecken, …), starten.",
+ "Jedes NIC behält seinen vorherigen Namen, weil sein MAC mit einer .link-Datei übereinstimmt.",
+ "Wenn ein NIC ersetzt wird (anderer MAC), erhält er einen Standard-Kernelnamen (enp<bus>s<slot>); Führen Sie dieses Menü erneut aus, um einen .link-Eintrag für den MAC der neuen Karte hinzuzufügen."
+ ]
+ },
+ "troubleshoot": {
+ "heading": "Fehlerbehebung",
+ "emptyTitle": "\"Keine physischen Schnittstellen gefunden\" nach dem Ausführen des Tools",
+ "emptyBody": "Der Kernel erkennt auf dem Host keine auf PCI oder phy80211 basierenden Schnittstellen. Prüfen Sie mit ls -l /sys/class/net/ — jeder Eintrag sollte entweder einen device-Symlink (PCI) oder einen phy80211-Eintrag (WLAN) haben. Fehlt bei einer echten Netzwerkkarte beides, ist der Treiber nicht geladen.",
+ "noChangeTitle": "Nach dem Neustart änderten sich die Namen nicht wie erwartet",
+ "noChangeBody": "Überprüfen Sie, ob die Datei vorhanden und gut geformt ist: cat /etc/systemd/network/10-<iface>.link. Dann überprüfen Sie udev logs: journalctl -u systemd-udevd -b | grep -i link. Eine häufige Ursache ist ein veralteter net.ifnames=0-Kernelparameter, der die vorhersagbare Benennung vollständig deaktiviert - entfernen Sie ihn aus /etc/default/grub, führen Sie update-grub aus, Neustart.",
+ "undoTitle": "Ich möchte persistente Benennung rückgängig machen",
+ "undoBody": "Löschen Sie entweder die .link-Dateien (rm /etc/systemd/network/10-*.link) oder stellen Sie sie aus dem beim vorherigen Durchlauf erstellten Backup-Verzeichnis wieder her. Starten Sie neu, um die Änderung anzuwenden."
+ },
+ "related": {
+ "heading": "Verwandte Themen",
+ "items": [
+ {
+ "label": "Brückenanalyse und geführte Reparatur",
+ "href": "/docs/network/bridge-analysis",
+ "tailRich": " — der Wiederherstellungsweg, wenn sich die Namen bereits geändert haben."
+ },
+ {
+ "label": "Konfigurationsanalyse und geführte Bereinigung",
+ "href": "/docs/network/config-analysis",
+ "tail": "- um verwaiste Blöcke zu entfernen, die durch Namensverschiebungen zurückgelassen wurden."
+ },
+ {
+ "label": "Diagnose",
+ "href": "/docs/network/diagnostics",
+ "tailRich": " — bestätigen Sie die neuen Namen nach dem Neustart mit Routingtabelle anzeigen."
+ }
+ ]
+ }
+}
diff --git a/web/messages/en/docs/network/monitoring.json b/web/messages/en/docs/network/monitoring.json
index c6e85f08..ef749366 100644
--- a/web/messages/en/docs/network/monitoring.json
+++ b/web/messages/en/docs/network/monitoring.json
@@ -7,7 +7,7 @@
},
"header": {
"title": "Live monitoring tools",
- "description": "Three interactive launchers for real-time network observation and bandwidth measurement: iftop, iptraf-ng and iperf3. Each tool is auto-installed from apt on first use, runs in the foreground, and is exited with the documented keystroke. Read-only against the host configuration — they only observe traffic.",
+ "description": "Three interactive launchers for real-time network observation and bandwidth measurement: iftop, iptraf-ng and iperf3. Each tool is auto-installed from apt on first use, runs in the foreground, and is exited with the documented keystroke. They do not change the host network configuration; iperf3 generates test traffic.",
"section": "Network"
},
"intro": {
diff --git a/web/messages/es/docs/network/backup-restore.json b/web/messages/es/docs/network/backup-restore.json
index 4e6945a4..75ead38d 100644
--- a/web/messages/es/docs/network/backup-restore.json
+++ b/web/messages/es/docs/network/backup-restore.json
@@ -1,8 +1,8 @@
{
"meta": {
- "title": "Backup y reinicio de interfaces | ProxMenux Documentation",
+ "title": "Backup y reinicio de interfaces | Documentación de ProxMenux",
"description": "Snapshot manual, navegación y restauración de backups de /etc/network/interfaces almacenados en /var/backups/proxmenux/. Incluye un reinicio del servicio de red con confirmación y una vista rápida de la configuración en vivo.",
- "ogTitle": "Backup y reinicio de interfaces | ProxMenux Documentation",
+ "ogTitle": "Backup y reinicio de interfaces | Documentación de ProxMenux",
"ogDescription": "Snapshot y restauración de la configuración de red de Proxmox; reinicia el servicio de red con confirmación."
},
"header": {
@@ -27,7 +27,7 @@
"heading": "Crear backup de red",
"body": "Copia el /etc/network/interfaces actual al directorio de backups con un timestamp nuevo. Ya está — sin análisis, sin prompts, solo un snapshot.",
"whenTitle": "Cuándo hacer un backup manual",
- "whenBody": "Antes de editar /etc/network/interfaces a mano, antes de instalar un paquete que pueda tocar la stack de red (p. ej. NetworkManager, Open vSwitch) o antes de cualquier cambio de hardware. Las reparaciones guiadas ya hacen snapshot automáticamente — esta opción es para los momentos manuales."
+ "whenBody": "Antes de editar /etc/network/interfaces a mano, antes de instalar un paquete que pueda modificar la pila de red (p. ej. NetworkManager, Open vSwitch) o antes de cualquier cambio de hardware. Las reparaciones guiadas ya crean una copia automáticamente; esta opción es para las operaciones manuales."
},
"restore": {
"heading": "Restaurar backup de red",
@@ -96,7 +96,7 @@
"tail": " — la razón más habitual por la que un backup acaba aquí."
},
{
- "label": "Análisis de config y limpieza guiada",
+ "label": "Análisis de configuración y limpieza guiada",
"href": "/docs/network/config-analysis",
"tailRich": " — también escribe en /var/backups/proxmenux/ automáticamente."
},
diff --git a/web/messages/es/docs/network/bridge-analysis.json b/web/messages/es/docs/network/bridge-analysis.json
index 6fba5f64..af1f211f 100644
--- a/web/messages/es/docs/network/bridge-analysis.json
+++ b/web/messages/es/docs/network/bridge-analysis.json
@@ -1,8 +1,8 @@
{
"meta": {
- "title": "Análisis de bridges y reparación guiada | ProxMenux Documentation",
+ "title": "Análisis de bridges y reparación guiada | Documentación de ProxMenux",
"description": "Detecta bridges vmbrX con puertos físicos ausentes o inválidos (típico tras una re-enumeración PCI), los reporta con comandos de shell propuestos y ofrece una reparación guiada de 5 pasos con backup obligatorio.",
- "ogTitle": "Análisis de bridges y reparación guiada | ProxMenux Documentation",
+ "ogTitle": "Análisis de bridges y reparación guiada | Documentación de ProxMenux",
"ogDescription": "Auditar y reparar los puertos de bridge de Proxmox tras cambios de hardware, con flujo guiado y rollback seguro."
},
"header": {
@@ -35,7 +35,7 @@
"bridgeLabel": "Analizar (solo lectura)",
"bridgeDetail": "ip link show enp3s0\n→ no existe",
"targetLabel": "Informe + sugerencia",
- "targetDetail": "❌ enp3s0: NOT FOUND\nReemplazar por: eno1\n(aún sin cambios)"
+ "targetDetail": "❌ enp3s0: NO ENCONTRADA\nReemplazar por: eno1\n(aún sin cambios)"
}
},
"diagram2": {
@@ -50,7 +50,7 @@
},
"step1": {
"heading": "Paso 1: análisis (solo lectura)",
- "intro": "Seleccionar Analizar configuración de bridges aborta inmediatamente si el host no usa la stack clásica de Debian/Proxmox. Si no, recorre cada bridge y reporta:",
+ "intro": "Al seleccionar Analizar configuración de bridges, la herramienta se detiene inmediatamente si el host no usa la pila clásica de Debian/Proxmox. En caso contrario, recorre todos los bridges e informa de:",
"items": [
"Nombre del bridge, estado actual (UP / DOWN), IP asignada.",
"Cada puerto declarado y si existe actualmente (ip link show <port>).",
@@ -76,7 +76,7 @@
},
{
"title": "3. Previsualizar los cambios propuestos",
- "body": "Lista exactamente qué bridges se van a tocar y qué sustituciones de puerto se van a hacer. Si el análisis decide que en realidad no hay que arreglar nada (race condition: el puerto volvió), el flujo sale limpio con \"No changes needed.\"",
+ "body": "Lista exactamente qué bridges se modificarán y qué sustituciones de puertos se harán. Si el análisis determina que no hay nada que reparar porque el puerto ha reaparecido entre las comprobaciones, el proceso termina con «No es necesario realizar cambios».",
"tone": "blue"
},
{
@@ -90,7 +90,7 @@
"tone": "emerald"
}
],
- "restartTitle": "Reiniciar networking ≠ un undo gratis",
+ "restartTitle": "Reiniciar la red ≠ deshacer los cambios sin riesgo",
"restartBody": "La reparación se escribe en disco independientemente de si reinicias el servicio. systemctl restart networking aplica el cambio ahora, lo que puede cortar tu sesión SSH si el nuevo puerto es incorrecto. Si rechazas el reinicio, el cambio sigue surtiendo efecto en el siguiente reinicio — confirma antes la nueva config o haz rollback con el comando impreso."
},
"edits": {
@@ -99,8 +99,8 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
- "unsupportedTitle": "El análisis aborta con \"Unsupported Network Stack\"",
- "unsupportedBody": "El host usa netplan, systemd-networkd o NetworkManager. La herramienta solo soporta /etc/network/interfaces. Cambia el host a la stack clásica primero, o edita la configuración con las herramientas nativas del gestor (p. ej. netplan apply).",
+ "unsupportedTitle": "El análisis se detiene con «Pila de red no compatible»",
+ "unsupportedBody": "El host usa netplan, systemd-networkd o NetworkManager. La herramienta solo admite /etc/network/interfaces. Cambia primero el host a la pila clásica o edita la configuración con las herramientas nativas del gestor (p. ej. netplan apply).",
"noSuggestTitle": "No se imprime sugerencia para un puerto inválido",
"noSuggestBody": "El host no tiene ninguna interfaz física libre (todas están ya en otro bridge o no existen). El análisis cae a sugerir bridge-ports none para que el bridge al menos pueda levantar sin puerto. Añade una NIC o migra puertos entre bridges manualmente antes de volver a ejecutar.",
"stillDownTitle": "La reparación termina pero el bridge sigue DOWN",
@@ -118,7 +118,7 @@
"tail": " — fija los nombres a direcciones MAC para que esto deje de pasar."
},
{
- "label": "Análisis de config y limpieza guiada",
+ "label": "Análisis de configuración y limpieza guiada",
"href": "/docs/network/config-analysis",
"tailRich": " — para bloques iface huérfanos (la otra mitad del mismo problema)."
},
diff --git a/web/messages/es/docs/network/config-analysis.json b/web/messages/es/docs/network/config-analysis.json
index af835473..637b08f6 100644
--- a/web/messages/es/docs/network/config-analysis.json
+++ b/web/messages/es/docs/network/config-analysis.json
@@ -1,12 +1,12 @@
{
"meta": {
- "title": "Análisis de config y limpieza guiada | ProxMenux Documentation",
+ "title": "Análisis de configuración y limpieza guiada | Documentación de ProxMenux",
"description": "Detecta bloques iface en /etc/network/interfaces que referencian NICs físicas que ya no están en el host. Los reporta y ofrece una eliminación guiada de 5 pasos con backup obligatorio y previsualización por bloque.",
- "ogTitle": "Análisis de config y limpieza guiada | ProxMenux Documentation",
+ "ogTitle": "Análisis de configuración y limpieza guiada | Documentación de ProxMenux",
"ogDescription": "Encuentra y elimina bloques de interfaz huérfanos dejados por cambios de hardware, con previsualización completa y rollback."
},
"header": {
- "title": "Análisis de config y limpieza guiada",
+ "title": "Análisis de configuración y limpieza guiada",
"description": "Recorre cada bloque iface en /etc/network/interfaces y verifica que la NIC física subyacente sigue existiendo. Reporta los bloques huérfanos dejados por cambios de hardware y ofrece una eliminación guiada con backup, previsualización y confirmación por bloque.",
"section": "Red"
},
@@ -18,7 +18,7 @@
"heading": "En qué se diferencia del análisis de bridges",
"headerAspect": "Aspecto",
"headerBridge": "Análisis de bridges",
- "headerConfig": "Análisis de config",
+ "headerConfig": "Análisis de configuración",
"rows": [
{
"aspect": "Mira",
@@ -45,7 +45,7 @@
},
"step1": {
"heading": "Paso 1: análisis (solo lectura)",
- "intro": "Aborta inmediatamente si el host no usa la stack clásica. Si no, lista cada interfaz configurada que no sea loopback y reporta su estado:",
+ "intro": "Se detiene inmediatamente si el host no usa la pila clásica. En caso contrario, lista todas las interfaces configuradas salvo loopback e indica su estado:",
"virtTitle": "Las interfaces virtuales están protegidas",
"virtBody": "Los bridges (vmbrX) y los bonds (bondX) son construcciones virtuales. Pueden no existir legítimamente en el momento de la inspección (p. ej. un bridge aún sin puertos), por lo que el análisis nunca propone eliminarlos — solo NICs físicas."
},
@@ -60,7 +60,7 @@
},
{
"title": "2. Confirmar la lista a eliminar",
- "body": "Lista exactamente qué bloques de interfaz física se van a eliminar. Si, entre el análisis y la limpieza, las NICs han reaparecido (p. ej. has reasentado una tarjeta), el flujo sale con \"No cleanup needed.\"",
+ "body": "Lista exactamente qué bloques de interfaz física se eliminarán. Si las NIC han reaparecido entre el análisis y la limpieza, por ejemplo al volver a insertar una tarjeta, el proceso termina con «No es necesaria ninguna limpieza».",
"tone": "blue"
},
{
@@ -91,7 +91,7 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
- "notFoundTitle": "El análisis muestra mi NIC nueva como \"NOT FOUND\"",
+ "notFoundTitle": "El análisis muestra mi NIC nueva como «NO ENCONTRADA»",
"notFoundBody": "El kernel ve el dispositivo con un nombre distinto al que hay en el fichero. Ejecuta ip link show para obtener el nombre real. Este es exactamente el caso en el que Nombres persistentes de interfaz evitaría el problema de aquí en adelante.",
"tooMuchTitle": "La limpieza eliminó demasiado (un bloque que quería conservar)",
"tooMuchBody": "Restaura desde el backup impreso en el paso 5:",
diff --git a/web/messages/es/docs/network/diagnostics.json b/web/messages/es/docs/network/diagnostics.json
index 2e01d19e..7ea0b105 100644
--- a/web/messages/es/docs/network/diagnostics.json
+++ b/web/messages/es/docs/network/diagnostics.json
@@ -1,8 +1,8 @@
{
"meta": {
- "title": "Diagnóstico | ProxMenux Documentation",
- "description": "Tres comprobaciones de diagnóstico puntuales de solo lectura: Mostrar tabla de rutas, Test de conectividad y Diagnóstico avanzado. Pura inspección — nunca escribe en /etc/network/interfaces y nunca ejecuta un comando modificador (con una excepción explícita y opt-in para purgar NetworkManager cuando se detecta).",
- "ogTitle": "Diagnóstico | ProxMenux Documentation",
+ "title": "Diagnóstico | Documentación de ProxMenux",
+ "description": "Tres comprobaciones de diagnóstico puntuales de solo lectura: Mostrar tabla de rutas, Test de conectividad y Diagnóstico avanzado. Pura inspección: nunca escribe en /etc/network/interfaces ni ejecuta comandos modificadores, con una excepción explícita que requiere tu aceptación para purgar NetworkManager si se detecta.",
+ "ogTitle": "Diagnóstico | Documentación de ProxMenux",
"ogDescription": "Diagnóstico de red de solo lectura para el host Proxmox: rutas, alcanzabilidad, estadísticas avanzadas."
},
"header": {
@@ -21,12 +21,12 @@
"connectivity": {
"heading": "Test de conectividad",
"intro": "Envía dos sondas ICMP a tres destinos en secuencia y reporta cada uno. Luego ejecuta un nslookup google.com para verificar la resolución DNS independientemente de ICMP.",
- "headerTest": "Test",
+ "headerTest": "Prueba",
"headerTarget": "Destino",
"headerConfirms": "Qué confirma",
"rows": [
{
- "test": "Google DNS",
+ "test": "DNS de Google",
"target": "8.8.8.8",
"confirms": "Alcanzabilidad externa por IP anycast conocida"
},
@@ -36,7 +36,7 @@
"confirms": "Segunda opinión independiente si Google bloquea ICMP"
},
{
- "test": "Gateway",
+ "test": "Pasarela",
"target": "(ruta por defecto)",
"confirms": "Conectividad L2 / L3 con el router local"
},
@@ -53,7 +53,7 @@
"heading": "Diagnóstico avanzado",
"intro": "Agrega estadísticas de red a nivel global y ejecuta una batería de comprobaciones de problemas comunes. Reporta el número de conexiones activas, puertos en escucha, total de interfaces y señala dos antipatrones explícitamente:",
"items": [
- "NetworkManager corriendo en un host Proxmox. NetworkManager y el ifupdown de Proxmox entran en conflicto — los dos intentan gestionar interfaces, lo que provoca bridges que flapean o se niegan a levantar. Si se detecta, la herramienta ofrece un prompt interactivo para detenerlo, deshabilitarlo y purgarlo (es el único diagnóstico que puede modificar el sistema, y solo tras consentimiento explícito).",
+ "NetworkManager ejecutándose en un host Proxmox. NetworkManager y el ifupdown de Proxmox entran en conflicto: ambos intentan gestionar las interfaces, lo que provoca bridges con caídas intermitentes o que no se activan. Si se detecta, la herramienta ofrece una confirmación interactiva para detenerlo, deshabilitarlo y purgarlo (es el único diagnóstico que puede modificar el sistema, y solo tras consentimiento explícito).",
"Direcciones IP duplicadas en distintas interfaces. Dos interfaces con la misma IPv4 causan conectividad intermitente extremadamente difícil de depurar desde dentro de la VM. Se detecta vía ip -4 addr show | sort | uniq -d."
],
"nmTitle": "El prompt de NetworkManager es la única acción modificadora aquí",
@@ -80,7 +80,7 @@
"tail": " — cuando un vmbrX se queda sin su puerto físico."
},
{
- "label": "Análisis de config y limpieza guiada",
+ "label": "Análisis de configuración y limpieza guiada",
"href": "/docs/network/config-analysis",
"tail": " — cuando una NIC antigua sigue declarada pero ya no está."
},
diff --git a/web/messages/es/docs/network/index.json b/web/messages/es/docs/network/index.json
index 2d7e778e..66c61ea1 100644
--- a/web/messages/es/docs/network/index.json
+++ b/web/messages/es/docs/network/index.json
@@ -1,15 +1,15 @@
{
"meta": {
"title": "Gestión de red en Proxmox — bridges, bonds, diagnóstico, reparación | ProxMenux",
- "description": "Diagnóstico de solo lectura, flujos de analizar-y-sugerir y reparaciones guiadas para la stack de red Debian / Proxmox (/etc/network/interfaces). Inspecciona bridges y bonds, ejecuta herramientas de monitorización en vivo, persiste nombres de interfaz, hace backup y reinicia la red de forma segura — con backups obligatorios y previsualizaciones paso a paso.",
+ "description": "Diagnóstico de solo lectura, análisis con propuestas y reparaciones guiadas para la pila de red Debian / Proxmox (/etc/network/interfaces). Inspecciona bridges y bonds, ejecuta herramientas de monitorización en vivo, fija nombres de interfaz, crea copias de seguridad y reinicia la red de forma segura, con copias obligatorias y vistas previas paso a paso.",
"ogTitle": "Gestión de red en Proxmox — bridges, bonds, diagnóstico, reparación",
- "ogDescription": "Diagnóstico, análisis y reparaciones guiadas para la stack de red de Proxmox con backups obligatorios y previsualizaciones paso a paso.",
+ "ogDescription": "Diagnóstico, análisis y reparaciones guiadas para la pila de red de Proxmox con copias de seguridad obligatorias y vistas previas paso a paso.",
"twitterTitle": "Gestión de red en Proxmox | ProxMenux",
- "twitterDescription": "Bridges, bonds, diagnóstico y reparaciones guiadas para la stack de red de Proxmox con backups obligatorios."
+ "twitterDescription": "Bridges, bonds, diagnóstico y reparaciones guiadas para la pila de red de Proxmox con copias de seguridad obligatorias."
},
"header": {
"title": "Gestión de red",
- "description": "Diagnóstico de solo lectura, informes de analizar-y-sugerir y reparaciones guiadas para la stack clásica de red Debian/Proxmox. Cada flujo destructivo hace primero un backup y previsualiza los cambios exactos antes de aplicarlos.",
+ "description": "Diagnóstico de solo lectura, informes de análisis con propuestas y reparaciones guiadas para la pila de red clásica de Debian/Proxmox. Cada operación destructiva crea primero una copia de seguridad y muestra los cambios exactos antes de aplicarlos.",
"section": "Red"
},
"intro": {
@@ -52,8 +52,8 @@
]
}
},
- "classicTitle": "Solo stack clásica",
- "classicBody": "Cada función de análisis y reparación comprueba el gestor de red activo antes de tocar nada. Si el host usa netplan, systemd-networkd o NetworkManager, la herramienta aborta inmediatamente con un mensaje claro — el menú solo soporta la stack clásica de Debian/Proxmox en /etc/network/interfaces. Es intencional: editar un fichero de netplan con reglas escritas para ifupdown corrompería silenciosamente la configuración.",
+ "classicTitle": "Solo la pila de red clásica",
+ "classicBody": "Cada función de análisis y reparación comprueba el gestor de red activo antes de tocar nada. Si el host usa netplan, systemd-networkd o NetworkManager, la herramienta se detiene inmediatamente con un mensaje claro: el menú solo admite la pila clásica de Debian/Proxmox en /etc/network/interfaces. Es intencional: editar un fichero de netplan con reglas escritas para ifupdown corrompería silenciosamente la configuración.",
"backups": {
"heading": "Dónde van los backups",
"intro": "Cada reparación guiada, restauración o backup manual escribe una copia con timestamp de /etc/network/interfaces en /var/backups/proxmenux/:",
@@ -61,7 +61,7 @@
},
"readOnlySection": {
"heading": "Inspección de solo lectura",
- "body": "El punto de partida cuando algo huele raro. Pura inspección — nunca escribe en /etc/network/interfaces y nunca ejecuta un comando modificador (con una única excepción explícita y opt-in para purgar NetworkManager cuando se detecta). Seguro de usar por SSH en cualquier momento.",
+ "body": "El punto de partida cuando algo parece ir mal. Pura inspección: nunca escribe en /etc/network/interfaces ni ejecuta comandos que modifiquen el sistema (con una única excepción explícita, que requiere tu aceptación, para purgar NetworkManager cuando se detecta). Se puede usar por SSH en cualquier momento de forma segura.",
"options": [
{
"title": "Diagnóstico",
@@ -82,7 +82,7 @@
"description": "Detecta bridges vmbrX con puertos ausentes o inválidos (típico tras una re-enumeración PCI). Muestra primero un informe; solo repara cuando aceptas el flujo guiado de 5 pasos."
},
{
- "title": "Análisis de config y limpieza guiada",
+ "title": "Análisis de configuración y limpieza guiada",
"description": "Encuentra interfaces físicas declaradas en /etc/network/interfaces que ya no existen (configs huérfanas que dejan cambios de hardware). Las reporta y ofrece una eliminación guiada."
}
]
diff --git a/web/messages/es/docs/network/monitoring.json b/web/messages/es/docs/network/monitoring.json
index 2db64fb1..d2d6c671 100644
--- a/web/messages/es/docs/network/monitoring.json
+++ b/web/messages/es/docs/network/monitoring.json
@@ -1,13 +1,13 @@
{
"meta": {
- "title": "Herramientas de monitorización en vivo | ProxMenux Documentation",
+ "title": "Herramientas de monitorización en vivo | Documentación de ProxMenux",
"description": "Tres lanzadores interactivos de monitorización de red: iftop (ancho de banda en tiempo real por par de hosts), iptraf-ng (monitor de tráfico multimodo) e iperf3 (test de ancho de banda, modo servidor / cliente). Cada uno se instala la primera vez que se usa.",
- "ogTitle": "Herramientas de monitorización en vivo | ProxMenux Documentation",
+ "ogTitle": "Herramientas de monitorización en vivo | Documentación de ProxMenux",
"ogDescription": "Monitorización interactiva de red y test de ancho de banda para el host Proxmox: iftop, iptraf-ng, iperf3."
},
"header": {
"title": "Herramientas de monitorización en vivo",
- "description": "Tres lanzadores interactivos para observación de red en tiempo real y medición de ancho de banda: iftop, iptraf-ng e iperf3. Cada herramienta se autoinstala desde apt la primera vez que se usa, corre en primer plano y se sale con la tecla documentada. De solo lectura sobre la configuración del host — solo observan el tráfico.",
+ "description": "Tres lanzadores interactivos para observar la red en tiempo real y medir el ancho de banda: iftop, iptraf-ng e iperf3. Cada herramienta se instala automáticamente desde apt la primera vez que se usa, se ejecuta en primer plano y se cierra con la tecla indicada. No cambian la configuración de red del host; iperf3 genera tráfico de prueba.",
"section": "Red"
},
"intro": {
@@ -48,28 +48,28 @@
"headerUseFor": "Úsalo para",
"rows": [
{
- "mode": "IP traffic monitor",
+ "mode": "Monitor de tráfico IP",
"useFor": "Lista en vivo de flujos TCP / UDP / ICMP / otro-IP con contadores de bytes y estado de conexión"
},
{
- "mode": "General interface stats",
+ "mode": "Estadísticas generales de interfaces",
"useFor": "Conteos agregados de paquetes IPv4 / IPv6 / TCP / UDP / ICMP / no-IP por NIC"
},
{
- "mode": "Detailed interface stats",
+ "mode": "Estadísticas de interfaz detalladas",
"useFor": "Igual que arriba pero para una interfaz, con detalle de tamaño y tasa de paquetes"
},
{
- "mode": "Statistical breakdowns",
+ "mode": "Desglose estadístico",
"useFor": "Histograma de distribución de tamaño de paquete, por puerto TCP / UDP"
},
{
- "mode": "LAN station monitor",
+ "mode": "Monitor de estaciones LAN",
"useFor": "Estadísticas de tráfico por MAC del dominio de broadcast local"
}
],
"exit": "Salir: pulsa x desde cualquier vista (o Q desde el menú principal). ProxMenux muestra un diálogo recordatorio antes de lanzarlo.",
- "logTitle": "El logging captura a fichero",
+ "logTitle": "Guardar las capturas en un fichero",
"logBody": "Cada modo ofrece registrar las estadísticas capturadas en /var/log/iptraf-ng/. Útil si necesitas un registro de un pico de tráfico — déjalo corriendo, vuelca al fichero, revisa el fichero después en lugar de intentar leer la pantalla en vivo."
},
"iperf3": {
@@ -81,24 +81,24 @@
"headerCli": "CLI equivalente",
"rows": [
{
- "mode": "Server",
+ "mode": "Servidor",
"behaviour": "Escucha en TCP 5201 e imprime resultados de cada test entrante. Se detiene con Ctrl+C.",
"cli": "iperf3 -s"
},
{
- "mode": "Client",
+ "mode": "Cliente",
"behaviour": "Pide la IP / hostname del servidor, conecta, ejecuta un test por defecto de 10 segundos e imprime el informe.",
"cli": "iperf3 -c "
}
],
"workflowIntro": "Flujo típico para probar un enlace 10 GbE entre dos hosts Proxmox:",
"workflow": [
- "En el host A, abre el menú Red → Test de ancho de banda (iperf3) → elige Server.",
- "En el host B, abre la misma entrada de menú → elige Client → introduce la IP del host A.",
+ "En el host A, abre el menú Red → Test de ancho de banda (iperf3) → elige Servidor.",
+ "En el host B, abre la misma entrada de menú → elige Cliente → introduce la IP del host A.",
"Espera 10 segundos. Compara la tasa reportada con el máximo teórico del enlace."
],
"sample": "Salida de ejemplo del cliente:",
- "flagsTitle": "Flags útiles a mano (desde una shell)",
+ "flagsTitle": "Opciones útiles para ejecutar a mano desde una shell",
"flagsBody": "-t 60 test más largo (60s en lugar de los 10s por defecto), -P 4 4 streams en paralelo (satura más rápido), -R dirección inversa (servidor → cliente), -u -b 100M test UDP a 100 Mbit/s (para mediciones de jitter / pérdida de paquetes), -p 5202 usa un puerto distinto (varios tests en paralelo). man iperf3 para el set completo.",
"firewallTitle": "Abre el puerto del firewall en el servidor",
"firewallBody": "El servidor escucha en TCP 5201 por defecto. Si corres el servidor dentro de un host Proxmox con un firewall estricto (a nivel de datacenter o de host), permite entrada TCP 5201 desde la IP del cliente durante el test y luego ciérralo. Lo mismo aplica a nftables / iptables en hosts bare metal."
diff --git a/web/messages/es/docs/network/persistent-names.json b/web/messages/es/docs/network/persistent-names.json
index fb4e9b9f..c6c4de2a 100644
--- a/web/messages/es/docs/network/persistent-names.json
+++ b/web/messages/es/docs/network/persistent-names.json
@@ -1,8 +1,8 @@
{
"meta": {
- "title": "Nombres persistentes de interfaz | ProxMenux Documentation",
+ "title": "Nombres persistentes de interfaz | Documentación de ProxMenux",
"description": "Fija los nombres de interfaz de Proxmox (eno1, enp3s0, …) a direcciones MAC mediante ficheros .link de systemd para que los nombres sobrevivan a la re-enumeración PCI, actualizaciones de kernel y al añadir / quitar otras NICs.",
- "ogTitle": "Nombres persistentes de interfaz | ProxMenux Documentation",
+ "ogTitle": "Nombres persistentes de interfaz | Documentación de ProxMenux",
"ogDescription": "Evita que los nombres de interfaz de Proxmox cambien al modificar el hardware. Usa ficheros .link de systemd basados en la dirección MAC."
},
"header": {
@@ -16,7 +16,7 @@
},
"problem": {
"heading": "El problema que resuelve",
- "intro": "Linux deriva los nombres de interfaz por defecto a partir de la topología PCI — eno1 = onboard, enp3s0 = la tarjeta en el bus PCI 3, slot 0, etc. El esquema de naming es determinista dado el mismo layout de hardware. Cambia el layout y los nombres se mueven:",
+ "intro": "Linux obtiene los nombres de interfaz predeterminados a partir de la topología PCI: eno1 = integrada en placa, enp3s0 = la tarjeta en el bus PCI 3, ranura 0, etc. El esquema de nombres es determinista con la misma disposición de hardware. Si cambia la disposición, cambian los nombres:",
"items": [
"Añade una GPU delante de una NIC existente → el número de bus de la NIC puede cambiar → el nombre cambia.",
"Mueve una tarjeta a otro slot PCIe → el nombre cambia.",
@@ -46,7 +46,7 @@
"headerWhy": "Por qué",
"rows": [
{
- "type": "NIC onboard / PCIe",
+ "type": "NIC integrada / PCIe",
"behaviour": "Se escribe fichero .link",
"why": "Respaldada por un dispositivo PCI real — el caso para el que está la herramienta"
},
@@ -56,7 +56,7 @@
"why": "Tiene una MAC real y se beneficia de la estabilidad de nombre"
},
{
- "type": "Bridges (vmbrX)",
+ "type": "Puentes (vmbrX)",
"behaviour": "Se omite",
"why": "Virtual; el nombre viene de /etc/network/interfaces"
},
@@ -87,7 +87,7 @@
"intro": "Si /etc/systemd/network/ ya contiene ficheros .link (de una ejecución anterior u otra herramienta), se copian a un directorio de backup con timestamp antes de generar los nuevos:",
"outro": "Para hacer rollback: copia los ficheros desde el directorio de backup y reinicia.",
"rebootTitle": "Tiene efecto en el siguiente reinicio, no inmediatamente",
- "rebootBody": "Los cambios en ficheros .link solo se aplican en el arranque, cuando udev re-enumera los dispositivos. La herramienta reporta \"Changes will apply after reboot\" por este motivo. Renombrar una interfaz en vivo es arriesgado y no se intenta: un vmbr0 activo con miembros tendría que reconfigurarse atómicamente, por eso la operación se difiere al siguiente arranque limpio."
+ "rebootBody": "Los cambios en ficheros .link solo se aplican en el arranque, cuando udev vuelve a enumerar los dispositivos. Por eso la herramienta indica «Los cambios se aplicarán tras reiniciar». No intenta renombrar una interfaz en vivo por el riesgo que supone: un vmbr0 activo con interfaces miembro tendría que reconfigurarse de forma atómica, así que la operación se aplaza al siguiente arranque limpio."
},
"afterReboot": {
"heading": "Tras el reinicio",
@@ -100,11 +100,11 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
- "emptyTitle": "\"No physical interfaces found\" tras ejecutar la herramienta",
+ "emptyTitle": "«No se han encontrado interfaces físicas» tras ejecutar la herramienta",
"emptyBody": "El host no tiene interfaces respaldadas por PCI / phy80211 visibles para el kernel. Confirma con ls -l /sys/class/net/ — cada entrada debería tener un symlink device (PCI) o una entrada phy80211 (Wi-Fi). Si faltan ambos para lo que debería ser una NIC real, el driver no está cargado.",
"noChangeTitle": "Tras el reinicio, los nombres no han cambiado como esperaba",
"noChangeBody": "Comprueba que el fichero está presente y bien formado: cat /etc/systemd/network/10-<iface>.link. Después mira los logs de udev: journalctl -u systemd-udevd -b | grep -i link. Una causa habitual es un parámetro de kernel net.ifnames=0 residual que deshabilita el naming predictivo por completo — quítalo de /etc/default/grub, ejecuta update-grub y reinicia.",
- "undoTitle": "Quiero deshacer el naming persistente",
+ "undoTitle": "Quiero deshacer los nombres persistentes",
"undoBody": "O bien borra los ficheros .link (rm /etc/systemd/network/10-*.link) o restaura desde el directorio de backup generado en la ejecución anterior. Reinicia para aplicar."
},
"related": {
@@ -116,7 +116,7 @@
"tailRich": " — el camino de recuperación cuando los nombres ya se han movido."
},
{
- "label": "Análisis de config y limpieza guiada",
+ "label": "Análisis de configuración y limpieza guiada",
"href": "/docs/network/config-analysis",
"tail": " — para eliminar bloques huérfanos dejados por los cambios de nombre."
},
diff --git a/web/messages/fr/docs/network/backup-restore.json b/web/messages/fr/docs/network/backup-restore.json
new file mode 100644
index 00000000..5273c0c9
--- /dev/null
+++ b/web/messages/fr/docs/network/backup-restore.json
@@ -0,0 +1,110 @@
+{
+ "meta": {
+ "title": "Sauvegarde et redémarrage des interfaces | Documentation ProxMenux",
+ "description": "Capture manuelle, navigation et restauration des sauvegardes /etc/network/interfaces stockées sous /var/backups/proxmenux/. Comprend un redémarrage du service réseau avec confirmation et une vue rapide de la configuration en direct.",
+ "ogTitle": "Sauvegarde et redémarrage des interfaces | Documentation ProxMenux",
+ "ogDescription": "Créez un instantané de la configuration réseau Proxmox et restaurez-la ; redémarrez le service réseau avec confirmation."
+ },
+ "header": {
+ "title": "Sauvegarde et redémarrage des interfaces",
+ "description": "Quatre utilitaires qui tournent autour de /etc/network/interfaces: prennent un instantané manuel, visualisent la configuration en direct, restaurent une sauvegarde précédente avec prévisualisation optionnelle et redémarrent le service de réseautage avec un consentement explicite. Même répertoire de sauvegarde utilisé par les flux de réparation guidés.",
+ "section": "Réseau"
+ },
+ "intro": {
+ "title": "Ce que ça fait",
+ "body": "Gère le même répertoire de sauvegarde utilisé par les flux de réparation guidés (/var/backups/proxmenux/). Permet de prendre un instantané supplémentaire avant tout changement manuel, de parcourir toutes les sauvegardes existantes, et de revenir à l'une d'entre elles — toujours avec une nouvelle sauvegarde pré-restauration prise automatiquement comme deuxième filet de sécurité."
+ },
+ "shared": {
+ "heading": "Le répertoire de sauvegarde partagé",
+ "intro": "Chaque sauvegarde prise n'importe où dans le menu Réseau atterrit au même endroit :",
+ "outro": "Les noms de fichiers sont horodatés, triés par date et jamais écrasés. Le répertoire est créé lors de la première utilisation."
+ },
+ "show": {
+ "heading": "Afficher le fichier de configuration réseau",
+ "body": "Affiche le contenu exact de /etc/network/interfaces dans le terminal. En lecture seule. Utile pour vérifier la configuration avant une sauvegarde ou après une restauration. Il n’existe pas d’outil distinct pour comparer avec la sauvegarde précédente ; examiner le fichier actuel est donc le moyen le plus simple de confirmer son contenu."
+ },
+ "create": {
+ "heading": "Créer une sauvegarde réseau",
+ "body": "Copie le /etc/network/interfaces actuel dans le répertoire de sauvegarde avec un nouvel horodatage. C'est tout — pas d'analyse, pas d'invite, juste un instantané.",
+ "whenTitle": "Quand prendre une sauvegarde manuelle",
+ "whenBody": "Avant de modifier /etc/network/interfaces à la main, d’installer un paquet pouvant toucher la pile réseau (par exemple NetworkManager ou Open vSwitch), ou de changer le matériel. Les réparations guidées créent déjà automatiquement un instantané — cette option sert aux opérations manuelles."
+ },
+ "restore": {
+ "heading": "Restaurer la sauvegarde réseau",
+ "intro": "Liste les sauvegardes de /var/backups/proxmenux/, de la plus récente à la plus ancienne, et guide une restauration avec des garde-fous :",
+ "steps": [
+ {
+ "title": "1. Choisir une sauvegarde",
+ "body": "Un menu liste chaque sauvegarde par son horodatage. S'il n'y a pas de sauvegardes, le flux sort avec un message clair.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Aperçu facultatif",
+ "body": "Offre d'ouvrir la sauvegarde sélectionnée dans une vue défilante avant de s'engager. Oui par défaut — ne le sautez pas sur un hôte distant.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Sauvegarde avant restauration",
+ "body": "Avant d'écraser /etc/network/interfaces, prend une autre sauvegarde de l'état actuel. La restauration d'une sauvegarde est elle-même une action destructrice, de sorte que le nouvel instantané pré-restauration vous permet de revenir si la sauvegarde choisie s'avère être la mauvaise.",
+ "tone": "amber"
+ },
+ {
+ "title": "4. Appliquer la restauration",
+ "body": "Copie la sauvegarde choisie sur /etc/network/interfaces. Le changement de fichier est sur disque; l'état du noyau en direct reflète toujours la configuration précédente.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Redémarrage facultatif",
+ "body": "Demande s’il faut exécuter systemctl restart networking maintenant. Refusez pour reporter l’application au prochain redémarrage.",
+ "tone": "emerald"
+ }
+ ],
+ "autoBackupTitle": "Une restauration prend sa propre sauvegarde automatiquement",
+ "autoBackupBody": "Sélectionner Restaurer la sauvegarde réseau crée toujours un nouvel instantané de la configuration actuelle avant de l’écraser. Si vous restaurez la mauvaise sauvegarde, le fichier le plus récent dans /var/backups/proxmenux/ contient l’état précédent."
+ },
+ "restart": {
+ "heading": "Redémarrer le service réseau",
+ "body": "Exécute systemctl restart networking après confirmation oui/non. Affiche le résultat avec msg_ok / msg_error. La plupart des procédures de ce menu proposent déjà un redémarrage à la fin ; cette option sert après une modification manuelle ou si vous avez refusé le redémarrage proposé auparavant.",
+ "warnTitle": "Brève déconnexion garantie; possibilité de déconnexion permanente",
+ "warnBody": "Redémarrer networking désactive puis reconfigure chaque interface déclarée dans /etc/network/interfaces. Les sessions SSH passant par ces interfaces sont interrompues. Si la nouvelle configuration est invalide, le réseau ne revient pas. N’exécutez cette opération que si :",
+ "warnItems": [
+ "Vous avez la console / IPMI / accès iKVM prêt, ou",
+ "Vous êtes physiquement à côté de la machine, ou",
+ "Vous venez de restaurer avec succès une configuration dont le bon fonctionnement est connu et souhaitez l’appliquer."
+ ]
+ },
+ "manualRollback": {
+ "heading": "Retour manuel depuis une console",
+ "intro": "Si vous ne pouvez pas accéder au menu (pas de SSH, plantage de dialog, …) mais disposez d’une console, deux commandes suffisent pour revenir en arrière :",
+ "outro": "C’est la même opération que celle du menu, simplement saisie à la main. Si networking ne démarre toujours pas, consultez journalctl -u networking -b pour identifier l’erreur de syntaxe ou de pilote."
+ },
+ "troubleshoot": {
+ "heading": "Dépannage",
+ "noneTitle": "« Aucune sauvegarde trouvée » lors de la restauration",
+ "noneBody": "Le répertoire /var/backups/proxmenux/ n’existe pas ou ne contient aucun fichier interfaces_backup_*. Exécutez Créer une sauvegarde réseau au moins une fois ou lancez une réparation guidée, qui crée automatiquement une sauvegarde. Vérifiez avec ls /var/backups/proxmenux/.",
+ "unreachTitle": "Le redémarrage du réseau réussit, mais l’hôte reste inaccessible",
+ "unreachBody": "La nouvelle configuration est incorrecte ou n’attribue pas votre adresse IP de gestion. Revenez en arrière depuis la console (voir ci-dessus). Utilisez ensuite l’analyse des ponts et l’analyse de configuration pour comprendre le problème avant de réappliquer la configuration.",
+ "emptyTitle": "L’aperçu de restauration affiche un fichier vide",
+ "emptyBody": "Le fichier de sauvegarde est vide (0 octet). Cela arrive si une copie a échoué silencieusement lors d’une exécution précédente. Choisissez une sauvegarde plus ancienne ou relancez Créer une sauvegarde réseau maintenant si la configuration actuelle fonctionne."
+ },
+ "related": {
+ "heading": "Voir aussi",
+ "items": [
+ {
+ "label": "Analyse des ponts et réparation guidée",
+ "href": "/docs/network/bridge-analysis",
+ "tail": "— la raison la plus courante pour laquelle une sauvegarde se termine ici."
+ },
+ {
+ "label": "Analyse de configuration et nettoyage guidé",
+ "href": "/docs/network/config-analysis",
+ "tailRich": "— écrit également à /var/backups/proxmenux/ automatiquement."
+ },
+ {
+ "label": "Diagnostic",
+ "href": "/docs/network/diagnostics",
+ "tail": " — pour vérifier l’état actuel après une restauration."
+ }
+ ]
+ }
+}
diff --git a/web/messages/fr/docs/network/bridge-analysis.json b/web/messages/fr/docs/network/bridge-analysis.json
new file mode 100644
index 00000000..7a5a5903
--- /dev/null
+++ b/web/messages/fr/docs/network/bridge-analysis.json
@@ -0,0 +1,132 @@
+{
+ "meta": {
+ "title": "Analyse des ponts et réparation guidée | Documentation ProxMenux",
+ "description": "Détecte les ponts vmbrX dont les ports physiques sont absents ou invalides, généralement après une réénumération PCI. Les signale avec des commandes shell proposées et offre une réparation guidée en 5 étapes avec sauvegarde obligatoire.",
+ "ogTitle": "Analyse des ponts et réparation guidée | Documentation ProxMenux",
+ "ogDescription": "Vérifiez et réparez les ports des ponts Proxmox après des changements matériels, avec une procédure guidée permettant un retour en arrière sûr."
+ },
+ "header": {
+ "title": "Analyse des ponts et réparation guidée",
+ "description": "Examine chaque pont vmbrX déclaré dans /etc/network/interfaces, vérifie l’existence de ses ports physiques et propose une réparation étape par étape s’ils sont absents. L’analyse est en lecture seule ; la réparation nécessite un accord, présente un aperçu et crée une sauvegarde.",
+ "section": "Réseau"
+ },
+ "intro": {
+ "title": "Ce que ça fait",
+ "body": "Lit chaque pont dans /etc/network/interfaces, examine sa ligne bridge-ports et vérifie l’existence de chaque port déclaré, par exemple enp3s0, sur l’hôte. Si un port manque, propose un remplacement et applique la modification avec un consentement explicite selon la procédure sauvegarder, prévisualiser, appliquer, vérifier."
+ },
+ "when": {
+ "heading": "Quand vous en avez besoin",
+ "intro": "Linux attribue des noms d'interface prévisibles à partir de la topologie PCI et de l'ordre des fentes. Plusieurs événements les mélangent et laissent /etc/network/interfaces se référant à des noms qui n'existent plus :",
+ "items": [
+ "Ajouter ou retirer une carte PCIe (une carte NIC, un GPU, un HBA, un support NVMe).",
+ "Déplacement d'une carte existante vers une autre fente PCIe.",
+ "Mises à jour du BIOS / UEFI qui réénumèrent les périphériques PCI.",
+ "Migrer le disque de démarrage vers différents matériels."
+ ],
+ "outro": "Après le prochain démarrage, le pont tente de se fixer à un port qui n'existe plus, ne parvient pas à monter, et l'hôte perd son réseau. Les noms d'interface persistants empêchent cela de se reproduire — mais si vous êtes déjà verrouillé, cette page est le chemin de récupération."
+ },
+ "bigPicture": {
+ "heading": "La situation générale",
+ "diagram1": {
+ "arrowLabel": "étape 1",
+ "nodes": {
+ "sourceLabel": "/etc/network/interfaces",
+ "sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
+ "bridgeLabel": "Analyser (lecture seule)",
+ "bridgeDetail": "ip link show enp3s0\n→ n’existe pas",
+ "targetLabel": "Rapport + suggestion",
+ "targetDetail": "❌ enp3s0 : INTROUVABLE\nRemplacer par : eno1\n(pas encore de modification)"
+ }
+ },
+ "diagram2": {
+ "arrowLabel": "appliquer avec sauvegarde",
+ "nodes": {
+ "sourceLabel": "Réparation guidée",
+ "sourceDetail": "1. Sauvegarder\n2. Afficher l’état actuel\n3. Prévisualiser les modifications\n4. Appliquer\n5. Vérifier",
+ "targetLabel": "/etc/network/interfaces (nouveau)",
+ "targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
+ }
+ }
+ },
+ "step1": {
+ "heading": "Étape 1: analyse (lecture seule)",
+ "intro": "Sélectionner Analyser la configuration des ponts arrête immédiatement l’outil si l’hôte n’utilise pas la pile classique Debian/Proxmox. Sinon, il examine chaque pont et indique :",
+ "items": [
+ "Nom du pont, état actuel (UP / DOWN), IP assigné.",
+ "Chaque port déclaré et s'il existe actuellement (ip link show <port>).",
+ "Pour chaque port invalide : un remplacement proposé (la première interface physique disponible) plus la commande exacte sed pour l'appliquer manuellement.",
+ "Ponts sans bridge-ports du tout et entrées orphelines auto (pas de bloc correspondant iface)."
+ ],
+ "readonlyTitle": "Garantie en lecture seule",
+ "readonlyBody": "Jusqu'à ce point, le script n'a pas exécuté une seule commande de modification. Vous pouvez laisser l'analyse ouverte, copier les commandes sed suggérées et les appliquer manuellement si vous préférez — ou accepter l'invite suivante pour entrer dans la réparation guidée."
+ },
+ "step2": {
+ "heading": "Étape 2 : réparation guidée (5 étapes)",
+ "intro": "Accessible uniquement si vous acceptez la proposition à la fin de l’analyse. Chaque étape présente l’action prévue et demande une confirmation avant de continuer.",
+ "steps": [
+ {
+ "title": "1. Sauvegarde de sécurité",
+ "body": "Copie /etc/network/interfaces vers /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Le chemin exact de sauvegarde est affiché avant la copie et à nouveau après, avec la commande rollback.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Examiner la configuration actuelle",
+ "body": "Ouvre le fichier actuel /etc/network/interfaces dans une boîte de dialogue avec défilement pour voir exactement ce qui va être modifié.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Aperçu des modifications proposées",
+ "body": "Liste précisément les ponts concernés et les remplacements de ports prévus. Si aucune réparation n’est plus nécessaire parce que le port est réapparu entre les vérifications, la procédure se termine avec « Aucune modification nécessaire. »",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Appliquer les modifications",
+ "body": "Pour chaque pont touché, exécute sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\" contre /etc/network/interfaces. Si un pont n'avait pas de remplacement valide disponible, la substitution est ignorée et signalée à l'étape 5.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Vérification",
+ "body": "Relit le fichier et confirme l’existence du nouveau port de chaque pont. Affiche la commande de retour en arrière (cp <backup> /etc/network/interfaces). Propose enfin Redémarrer le réseau : n’acceptez que si vous disposez d’un accès de secours à la console.",
+ "tone": "emerald"
+ }
+ ],
+ "restartTitle": "Redémarrer le réseau ≠ annuler sans risque",
+ "restartBody": "La réparation est écrite sur le disque, même si vous ne redémarrez pas le service. systemctl restart networking applique la modification maintenant, ce qui peut interrompre votre session SSH si le nouveau port est incorrect. En cas de refus, la modification prendra quand même effet au prochain redémarrage : vérifiez d’abord la configuration ou revenez en arrière avec la commande affichée."
+ },
+ "edits": {
+ "heading": "Ce qui est édité (exactement)",
+ "body": "Uniquement la ligne bridge-ports de chaque pont concerné. Les autres directives (address, netmask, gateway, bridge-stp, …) restent intactes. Le script ne crée ni ne supprime de blocs iface dans cette procédure : c’est le rôle de l’analyse de configuration & du nettoyage."
+ },
+ "troubleshoot": {
+ "heading": "Dépannage",
+ "unsupportedTitle": "L’analyse s’arrête avec « Pile réseau non prise en charge »",
+ "unsupportedBody": "L'hôte exécute netplan, systemd-networkd ou NetworkManager. L'outil ne prend en charge que /etc/network/interfaces. Passez d'abord l'hôte à la pile classique ou modifiez la configuration avec l'outil natif du gestionnaire (p. ex. netplan apply).",
+ "noSuggestTitle": "Aucune suggestion n'est imprimée pour un port invalide",
+ "noSuggestBody": "L'hôte a zéro interfaces physiques libres (tout est déjà dans un autre pont ou n'existe pas). L'analyse revient à suggérer bridge-ports none afin que le pont puisse au moins monter sans port. Ajouter un NIC ou migrer les ports entre les ponts manuellement avant de recommencer.",
+ "stillDownTitle": "La réparation s'achève mais le pont est toujours DOWN",
+ "stillDownBody": "sed a mis à jour le fichier, mais systemctl restart networking a été refusé. Exécutez-le manuellement une fois que la nouvelle configuration est vérifiée, ou redémarrez. Si le redémarrage a été accepté et que le pont est toujours DOWN, exécutez ip link show pour confirmer l'existence du nouveau port, puis vérifiez journalctl -u networking pour l'erreur réelle (câble débranché, lien non négocié, port déjà membre d'un autre pont).",
+ "lostSshTitle": "J'ai perdu l'accès SSH juste après le redémarrage du réseau",
+ "lostSshIntro": "Utilisez console / IPMI / iKVM pour atteindre l'hôte. Restaurer la sauvegarde :",
+ "lostSshOutro": "Relancez ensuite l’analyse depuis la console pour comprendre pourquoi la suggestion n’a pas fonctionné, généralement parce que le port de remplacement n’est pas branché."
+ },
+ "related": {
+ "heading": "Voir aussi",
+ "items": [
+ {
+ "label": "Noms d'interface persistants",
+ "href": "/docs/network/persistent-names",
+ "tail": "— épingler les noms aux adresses MAC afin que ce scénario cesse de se produire."
+ },
+ {
+ "label": "Analyse de configuration et nettoyage guidé",
+ "href": "/docs/network/config-analysis",
+ "tailRich": "— pour les blocs orphelins de iface (l'autre moitié du même problème)."
+ },
+ {
+ "label": "Sauvegarde et redémarrage des interfaces",
+ "href": "/docs/network/backup-restore",
+ "tail": "— les instantanés manuels et le navigateur de restauration."
+ }
+ ]
+ }
+}
diff --git a/web/messages/fr/docs/network/config-analysis.json b/web/messages/fr/docs/network/config-analysis.json
new file mode 100644
index 00000000..1ada39d6
--- /dev/null
+++ b/web/messages/fr/docs/network/config-analysis.json
@@ -0,0 +1,122 @@
+{
+ "meta": {
+ "title": "Analyse de configuration et nettoyage guidé | Documentation ProxMenux",
+ "description": "Détecte les blocs iface de /etc/network/interfaces qui font référence à des cartes réseau physiques absentes de l’hôte. Les signale et propose une suppression guidée en 5 étapes avec sauvegarde obligatoire et aperçu de chaque bloc.",
+ "ogTitle": "Analyse de configuration et nettoyage guidé | Documentation ProxMenux",
+ "ogDescription": "Trouver et supprimer les blocs d'interface orphelins laissés derrière par les changements matériels, avec prévisualisation complète et retour."
+ },
+ "header": {
+ "title": "Analyse de configuration et nettoyage guidé",
+ "description": "Examine chaque bloc iface de /etc/network/interfaces et vérifie que la carte réseau physique correspondante existe toujours. Signale les blocs orphelins laissés par des changements matériels et propose une suppression guidée avec sauvegarde, aperçu et confirmation de chaque bloc.",
+ "section": "Réseau"
+ },
+ "intro": {
+ "title": "Ce que ça fait",
+ "body": "Identifie les déclarations iface dont le support NIC n'est plus présent sur l'hôte (typique après le remplacement ou la suppression d'une carte réseau). Ensuite, offre un nettoyage guidé qui supprime seulement les blocs orphelins, avec une sauvegarde, un aperçu par section et une confirmation finale explicite."
+ },
+ "differs": {
+ "heading": "Comment il diffère de l'analyse de pont",
+ "headerAspect": "Aspect",
+ "headerBridge": "Analyse des ponts",
+ "headerConfig": "Analyse de la configuration",
+ "rows": [
+ {
+ "aspect": "Regarde",
+ "bridge": "Ponts (vmbrX) et leur ligne bridge-ports",
+ "config": "Chaque bloc iface, sauf loopback, ponts et agrégations"
+ },
+ {
+ "aspect": "Détecte",
+ "bridge": "Ponts faisant référence à un port inexistant",
+ "config": "Blocs d'interface autonomes pour les NIC qui n'existent pas"
+ },
+ {
+ "aspect": "Action de réparation",
+ "bridge": "Remplace le nom du port dans bridge-ports",
+ "config": "Supprime tout le bloc iface"
+ },
+ {
+ "aspect": "Non compris",
+ "bridge": "Rien — chaque pont est analysé",
+ "config": "Les ponts (vmbrX) et agrégations (bondX) sont toujours conservés : ils sont virtuels et leur absence peut être normale au démarrage"
+ }
+ ],
+ "outro": "En pratique, on utilise souvent les deux dans cet ordre : analyse de configuration pour supprimer les blocs orphelins, puis analyse des ponts pour réaffecter tout pont qui dépendait de l’interface supprimée."
+ },
+ "step1": {
+ "heading": "Étape 1: analyse (lecture seule)",
+ "intro": "Avorte immédiatement si l'hôte n'est pas sur la pile classique. Sinon, liste toutes les interfaces non loopback configurées et indique son état :",
+ "virtTitle": "Les interfaces virtuelles sont protégées",
+ "virtBody": "Les ponts (vmbrX) et agrégations (bondX) sont virtuels. Leur absence peut être normale au moment de l’inspection, par exemple pour un pont sans port. L’analyse ne propose donc jamais de les supprimer, seulement les cartes réseau physiques."
+ },
+ "step2": {
+ "heading": "Étape 2 : nettoyage guidé (5 étapes)",
+ "intro": "Accessible uniquement si vous acceptez la proposition à la fin de l’analyse. Chaque étape exige une confirmation ; annuler à tout moment quitte sans écrire.",
+ "steps": [
+ {
+ "title": "1. Sauvegarde de sécurité",
+ "body": "Copie /etc/network/interfaces vers /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Chemin montré avant et après.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Confirmer la liste de suppression",
+ "body": "Liste précisément les blocs d’interface physique à supprimer. Si les cartes réseau réapparaissent entre l’analyse et le nettoyage, par exemple après avoir réinséré une carte, la procédure se termine avec « Aucun nettoyage nécessaire. »",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Aperçu du ou des blocs exacts",
+ "body": "Ouvre une vue défilante de chaque bloc iface qui serait supprimé, mot à mot du fichier. C'est le moment de repérer par exemple un crochet up intéressant que vous voulez préserver.",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Appliquer la suppression",
+ "body": "Pour chaque interface orpheline, exécute sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces. Cela supprime de la ligne correspondante iface jusqu'à la ligne blanche suivante.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Vérification",
+ "body": "Relit le fichier, répertorie ce qui a été supprimé et revérifie les interfaces restantes. Imprime la commande de restauration. ne redémarre pas automatiquement le réseau : la suppression d'un bloc inutilisé peut être appliquée en toute sécurité au prochain redémarrage et évite de toucher à l'état actif.",
+ "tone": "emerald"
+ }
+ ],
+ "noRestartTitle": "Ne redémarre pas automatiquement le réseau",
+ "noRestartBody": "Contrairement à la réparation de pont, le flux de nettoyage n'offre pas de redémarrer le service. L'élimination d'un bloc d'interface inutilisé n'a aucun effet immédiat sur la configuration en cours d'exécution, de sorte qu'un redémarrage est inutile et serait un risque inutile de connectivité. Le changement prend effet sur le prochain manuel systemctl restart networking ou au prochain redémarrage."
+ },
+ "caveats": {
+ "heading": "Mises en garde importantes",
+ "boundaryTitle": "La limite du bloc est la première ligne vide",
+ "boundaryBody": "Le motif sed supprime de iface <name> jusqu’à la ligne vide suivante. Si /etc/network/interfaces ne contient pas de ligne vide entre les blocs, ce qui est rare mais possible après une modification manuelle, le bloc suivant peut aussi être supprimé. C’est pourquoi l’étape 3 est obligatoire : examinez l’aperçu avant de confirmer.",
+ "tandemTitle": "Un bloc iface orphelin utilisé par un pont est détecté ici, pas dans l’analyse des ponts",
+ "tandemBody": "Si vmbr0 déclare bridge-ports enp3s0 et qu’enp3s0 a aussi son propre bloc iface enp3s0 inet manual, supprimer enp3s0 ici laisse une référence invalide dans vmbr0. Après le nettoyage, lancez l’analyse des ponts pour réaffecter ou retirer le port du pont. Les deux procédures sont conçues pour être utilisées ensemble."
+ },
+ "troubleshoot": {
+ "heading": "Dépannage",
+ "notFoundTitle": "L’analyse indique « INTROUVABLE » pour ma nouvelle carte réseau",
+ "notFoundBody": "Le noyau voit le périphérique sous un autre nom que celui du fichier. Lancez ip link show pour connaître son nom réel. C’est précisément un cas où les noms d’interface persistants éviteraient le problème à l’avenir.",
+ "tooMuchTitle": "Le nettoyage a trop supprimé, dont un bloc que je voulais garder",
+ "tooMuchBody": "Restaurer à partir de la sauvegarde imprimée dans l'étape 5:",
+ "tooMuchOutro": "Modifier le fichier à la main pour ajouter une ligne blanche claire entre les blocs avant de ré-exécuter le nettoyage, ou supprimer le bloc problématique manuellement.",
+ "bridgeBreakTitle": "Un pont s'arrête après le nettoyage",
+ "bridgeBreakBody": "Le pont utilisait un port dont le bloc iface vient d’être supprimé. Lancez l’analyse des ponts ; la suggestion associera le pont à une interface physique existante."
+ },
+ "related": {
+ "heading": "Voir aussi",
+ "items": [
+ {
+ "label": "Analyse des ponts et réparation guidée",
+ "href": "/docs/network/bridge-analysis",
+ "tail": "— le suivi naturel après un nettoyage."
+ },
+ {
+ "label": "Noms d'interface persistants",
+ "href": "/docs/network/persistent-names",
+ "tail": "— empêche les blocs orphelins de s'accumuler après chaque changement matériel."
+ },
+ {
+ "label": "Sauvegarde et redémarrage des interfaces",
+ "href": "/docs/network/backup-restore",
+ "tail": "— les instantanés manuels et le navigateur de restauration."
+ }
+ ]
+ }
+}
diff --git a/web/messages/fr/docs/network/diagnostics.json b/web/messages/fr/docs/network/diagnostics.json
new file mode 100644
index 00000000..8560be31
--- /dev/null
+++ b/web/messages/fr/docs/network/diagnostics.json
@@ -0,0 +1,94 @@
+{
+ "meta": {
+ "title": "Diagnostic | Documentation ProxMenux",
+ "description": "Trois diagnostics ponctuels en lecture seule : Afficher la table de routage, Tester la connectivité et Diagnostic avancé. Inspection uniquement — n’écrit jamais dans /etc/network/interfaces et n’exécute aucune commande de modification, à une exception explicite près : la purge de NetworkManager, s’il est détecté, nécessite votre accord.",
+ "ogTitle": "Diagnostic | Documentation ProxMenux",
+ "ogDescription": "Diagnostic réseau en lecture seule pour l'hôte Proxmox : routage, accessibilité, statistiques avancées."
+ },
+ "header": {
+ "title": "Diagnostic",
+ "description": "Trois contrôles ponctuels en lecture seule de l’état actuel du réseau : table de routage, test de connectivité et statistiques avancées. Aucun n’écrit dans /etc/network/interfaces — utilisables en toute sécurité à tout moment, y compris via SSH. Pour la surveillance interactive en direct, consultez Outils de surveillance en direct.",
+ "section": "Réseau"
+ },
+ "intro": {
+ "title": "Ce que ça fait",
+ "body": "Présente le routage, l’accessibilité et les statistiques agrégées sans rien modifier. Permet de vérifier le bon fonctionnement du réseau ou de repérer des adresses IP en double. Pour observer le trafic en continu, voir Outils de surveillance en direct ; pour consulter le fichier de configuration brut, voir Sauvegarde et redémarrage des interfaces."
+ },
+ "routing": {
+ "heading": "Afficher la table de routage",
+ "body": "Liste chaque route que le noyau utilise actuellement (ip route show) et souligne la passerelle par défaut. Utile pour confirmer que le trafic vers Internet passe par l'interface prévue et qu'aucune route restante n'a priorité."
+ },
+ "connectivity": {
+ "heading": "Tester la connectivité",
+ "intro": "Envoie deux sondes ICMP à trois cibles dans l'ordre et signale chacune. Ensuite, exécute un nslookup google.com pour vérifier la résolution DNS indépendamment de ICMP.",
+ "headerTest": "Essai",
+ "headerTarget": "Cible",
+ "headerConfirms": "Ce qu'il confirme",
+ "rows": [
+ {
+ "test": "Google DNS",
+ "target": "8.8.8.8",
+ "confirms": "Accessibilité externe via une adresse IP anycast connue"
+ },
+ {
+ "test": "Cloudflare DNS",
+ "target": "1.1.1.1",
+ "confirms": "Deuxième avis indépendant si Google bloque ICMP"
+ },
+ {
+ "test": "Passerelle",
+ "target": "(route par défaut)",
+ "confirms": "Connectivité L2 / L3 au routeur local"
+ },
+ {
+ "test": "Résolution DNS",
+ "target": "google.com",
+ "confirms": "Le serveur DNS est accessible et répond"
+ }
+ ],
+ "readingTitle": "Lecture du résultat",
+ "readingBody": "Si le test de la passerelle réussit mais que les cibles DNS publiques ne répondent pas, vous avez une connectivité locale mais pas d’accès Internet : vérifiez la connexion en amont de la passerelle. Si la résolution DNS échoue mais que les pings vers 8.8.8.8 réussissent, le problème vient du résolveur, pas du réseau : vérifiez /etc/resolv.conf."
+ },
+ "advanced": {
+ "heading": "Diagnostic avancé",
+ "intro": "Agrège les statistiques du réseau et effectue une série de vérifications des problèmes courants. Affiche le nombre de connexions actives, les ports en écoute et le nombre total d’interfaces, et signale explicitement deux configurations problématiques :",
+ "items": [
+ "NetworkManager fonctionne sur un hôte Proxmox. NetworkManager et ifupdown de Proxmox entrent en conflit : tous deux tentent de gérer les interfaces, ce qui rend les ponts instables ou les empêche de s’activer. Si NetworkManager est détecté, l’outil propose une confirmation interactive pour l’arrêter, le désactiver et le purger (c’est le seul diagnostic pouvant modifier le système, et uniquement après consentement explicite).",
+ "Adresses IP en double sur différentes interfaces. Deux interfaces utilisant la même adresse IPv4 provoquent des problèmes de connexion intermittents très difficiles à diagnostiquer depuis la VM. Détection via ip -4 addr show | sort | uniq -d."
+ ],
+ "nmTitle": "L'invite NetworkManager est la seule action de modification ici",
+ "nmBody": "Toutes les autres vérifications du diagnostic avancé sont en lecture seule. La suppression de NetworkManager nécessite une confirmation oui/non et exécute systemctl stop / disable + apt-get purge -y network-manager. Si vous refusez, rien ne change."
+ },
+ "troubleshoot": {
+ "heading": "Dépannage",
+ "gwTitle": "Tester la connectivité signale un échec de la passerelle, mais l’hôte a accès à Internet",
+ "gwBody": "Certains routeurs ne répondent pas aux requêtes ICMP sur leur interface interne même s’ils acheminent correctement le trafic. Testez avec traceroute 8.8.8.8 depuis une console : si le deuxième saut correspond à votre FAI et que le test DNS public a réussi, la passerelle fonctionne malgré l’échec du ping.",
+ "dupTitle": "Le diagnostic avancé signale toujours des adresses IP en double après que j’en ai supprimé une",
+ "dupBody": "La vérification examine l'état du noyau en direct, et non le fichier de configuration. Exécutez ip -4 addr show pour confirmer ; si le duplicata est toujours présent, une interface le tient toujours. Utilisez ip addr del <IP>/<mask> dev <iface> pour le supprimer de l'état en direct, puis modifiez /etc/network/interfaces si elle est aussi persistante."
+ },
+ "related": {
+ "heading": "Voir aussi",
+ "items": [
+ {
+ "label": "Outils de surveillance en direct",
+ "href": "/docs/network/monitoring",
+ "tail": "— les lanceurs interactifs iftop / iptraf-ng / iperf3."
+ },
+ {
+ "label": "Analyse des ponts et réparation guidée",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — lorsqu’un vmbrX n’a plus de port physique."
+ },
+ {
+ "label": "Analyse de configuration et nettoyage guidé",
+ "href": "/docs/network/config-analysis",
+ "tail": " — lorsqu’une ancienne carte réseau est toujours déclarée mais n’est plus présente."
+ },
+ {
+ "label": "Sauvegarde et redémarrage des interfaces",
+ "href": "/docs/network/backup-restore",
+ "tail": " — pour créer un instantané de la configuration avant toute modification."
+ }
+ ]
+ }
+}
diff --git a/web/messages/fr/docs/network/index.json b/web/messages/fr/docs/network/index.json
new file mode 100644
index 00000000..b6eaf6d6
--- /dev/null
+++ b/web/messages/fr/docs/network/index.json
@@ -0,0 +1,107 @@
+{
+ "meta": {
+ "title": "Gestion réseau Proxmox — Ponts, agrégations, diagnostic, réparation | ProxMenux",
+ "description": "Diagnostics en lecture seule, analyses suivies de suggestions et réparations guidées pour la pile réseau Debian / Proxmox (/etc/network/interfaces). Inspectez les ponts et les agrégations, lancez des outils de surveillance en direct, rendez les noms d’interface persistants, sauvegardez et redémarrez le réseau en toute sécurité — avec sauvegardes obligatoires et aperçus étape par étape.",
+ "ogTitle": "Gestion réseau Proxmox — Ponts, agrégations, diagnostic, réparation",
+ "ogDescription": "Diagnostics, analyses et réparations guidées pour la pile réseau Proxmox avec sauvegardes obligatoires et prévisualisations étape par étape.",
+ "twitterTitle": "Gestion réseau Proxmox | ProxMenux",
+ "twitterDescription": "Ponts, agrégations, diagnostics et réparations guidées pour la pile réseau Proxmox avec sauvegardes obligatoires."
+ },
+ "header": {
+ "title": "Gestion du réseau",
+ "description": "Diagnostics en lecture seule, rapports d’analyse suivis de suggestions et réparations guidées pour la pile réseau classique Debian/Proxmox. Toute opération destructive crée d’abord une sauvegarde et affiche les modifications exactes avant de les appliquer.",
+ "section": "Réseau"
+ },
+ "intro": {
+ "title": "À quoi sert ce menu",
+ "body": "Inspectez, diagnostiquez et, au besoin, réparez la configuration réseau de l’hôte Proxmox sans perdre l’accès à distance. Les outils suivent un principe : lire d’abord, proposer, puis appliquer uniquement avec un consentement explicite et une sauvegarde de sécurité. Il n’existe pas de bouton « Tout réparer automatiquement »."
+ },
+ "openingMenu": {
+ "heading": "Ouverture du menu",
+ "intro": "Dans le menu principal de ProxMenux, sélectionnez Réseau. Vous verrez ceci :",
+ "imageAlt": "Menu de gestion de réseau avec diagnostic, suivi, analyse, réparation, noms persistants et options de sauvegarde"
+ },
+ "safety": {
+ "heading": "Le modèle de sécurité",
+ "body": "Modifier la configuration réseau d’un hôte Proxmox distant est l’un des moyens les plus faciles de perdre son accès. ProxMenux en tient compte pour chaque action. Les outils se répartissent en trois niveaux de comportement : choisissez la carte correspondant à votre objectif :"
+ },
+ "tiers": {
+ "readOnly": {
+ "title": "Lecture seule",
+ "body": "Contrôle pur. Impossible de modifier le système en aucune circonstance.",
+ "items": [
+ "Tableau d'acheminement, tests de connectivité, statistiques avancées",
+ "Surveillance du trafic en temps réel (iftop, iptraf-ng)",
+ "Test de bande passante (iperf3)"
+ ]
+ },
+ "analyze": {
+ "title": "Analysez, puis suggérez",
+ "body": "Détecte les problèmes, affiche un rapport avec les commandes shell proposées, puis s’arrête. Vous décidez ensuite de lancer ou non la réparation guidée.",
+ "items": [
+ "Analyse de la configuration des ponts",
+ "Analyse de la configuration du réseau"
+ ]
+ },
+ "apply": {
+ "title": "Appliquer avec sauvegarde",
+ "body": "Modifie le système. Crée toujours d’abord une sauvegarde horodatée du fichier concerné et affiche un aperçu avant l’écriture.",
+ "items": [
+ "Noms d’interface persistants (fichiers .link)",
+ "Sauvegarde manuelle, restauration et redémarrage du service"
+ ]
+ }
+ },
+ "classicTitle": "Pile classique seulement",
+ "classicBody": "Chaque fonction d'analyse et de réparation vérifie le gestionnaire de réseau actif avant de toucher quoi que ce soit. Si l'hôte exécute netplan, systemd-networkd ou NetworkManager, l'outil avorte immédiatement avec un message clair — le menu ne prend en charge que la pile classique Debian/Proxmox à /etc/network/interfaces. Ceci est intentionnel : l'édition d'un fichier netplan avec des règles écrites pour ifupdown corromprait silencieusement la configuration.",
+ "backups": {
+ "heading": "Où vont les sauvegardes",
+ "intro": "Chaque réparation guidée, restauration ou sauvegarde manuelle écrit une copie horodatée de /etc/network/interfaces à /var/backups/proxmenux/ :",
+ "rollbackIntro": "Pour revenir manuellement à la configuration précédente depuis une console :"
+ },
+ "readOnlySection": {
+ "heading": "Contrôle en lecture seule",
+ "body": "Le point de départ lorsque quelque chose semble anormal. Inspection uniquement — n’écrit jamais dans /etc/network/interfaces et n’exécute aucune commande de modification, à une exception explicite près : la purge de NetworkManager, s’il est détecté, nécessite votre accord. Utilisable en toute sécurité via SSH à tout moment.",
+ "options": [
+ {
+ "title": "Diagnostic",
+ "description": "Trois vérifications en lecture seule : Afficher la table d'acheminement, tester la connectivité et les diagnostics avancés. L'inspection pure n'écrit jamais au système."
+ },
+ {
+ "title": "Outils de surveillance en direct",
+ "description": "Trois lanceurs interactifs : iftop (bande passante en temps réel par paire d'hôtes), iptraf-ng (moniteur de trafic multimode) et iperf3 (test de bande passante, serveur / mode client)."
+ }
+ ]
+ },
+ "analyzeSection": {
+ "heading": "Analysez, puis suggérez",
+ "body": "À utiliser lorsqu’une inspection ou une panne réelle révèle un problème de configuration. Chaque outil examine la partie concernée de /etc/network/interfaces, affiche un rapport détaillé avec la commande shell exacte qui corrigerait chaque problème, puis s’arrête. Si vous acceptez ensuite la réparation guidée facultative, chaque modification est sauvegardée et prévisualisée avant d’être écrite.",
+ "options": [
+ {
+ "title": "Analyse des ponts et réparation guidée",
+ "description": "Détecte les ponts vmbrX dont les ports sont absents ou invalides, par exemple après une réénumération PCI. Affiche d’abord un rapport et ne répare que si vous acceptez la procédure guidée en 5 étapes."
+ },
+ {
+ "title": "Analyse de configuration et nettoyage guidé",
+ "description": "Repère les interfaces physiques déclarées dans /etc/network/interfaces qui n’existent plus, c’est-à-dire les configurations orphelines laissées par des changements matériels. Les signale et propose une suppression guidée."
+ }
+ ]
+ },
+ "applySection": {
+ "heading": "Appliquer avec sauvegarde",
+ "body": "Ces outils écrivent sur le disque par leur fonctionnement même. Chacun crée une sauvegarde horodatée du fichier concerné avant l’écriture, et les options destructives, comme la restauration et le redémarrage, exigent une confirmation explicite oui/non. Les noms d’interface persistants prennent effet au prochain redémarrage, pas immédiatement ; leur mise en place peut donc être planifiée en toute sécurité même sur un hôte distant.",
+ "options": [
+ {
+ "title": "Noms d'interface persistants",
+ "description": "Associe les noms d’interface (eno1, enp3s0, …) aux adresses MAC au moyen de fichiers .link de systemd. Les noms restent stables après un changement d’emplacement PCI, une mise à niveau du noyau ou l’ajout ou le retrait d’autres cartes réseau."
+ },
+ {
+ "title": "Sauvegarde et redémarrage des interfaces",
+ "description": "Un instantané manuel de /etc/network/interfaces, parcourir et restaurer les sauvegardes précédentes, afficher la configuration en direct et redémarrer le service de réseautage au besoin."
+ }
+ ]
+ },
+ "consoleTitle": "Préparez l'accès à la console",
+ "consoleSubTitle": "Avant toute réparation sur un hôte distant",
+ "consoleBody": "Si vous êtes connecté via SSH et ne disposez que d’un seul accès à l’hôte, prévoyez une solution de secours avant toute modification réseau : console physique / IPMI / iKVM ou autre machine sur le même réseau local. Les réparations guidées sont sûres et proposent toujours une commande de retour en arrière, mais un pont mal configuré ou une liaison interrompue peut tout de même vous priver d’accès jusqu’à ce que vous puissiez atteindre la console."
+}
diff --git a/web/messages/fr/docs/network/monitoring.json b/web/messages/fr/docs/network/monitoring.json
new file mode 100644
index 00000000..d81420cb
--- /dev/null
+++ b/web/messages/fr/docs/network/monitoring.json
@@ -0,0 +1,136 @@
+{
+ "meta": {
+ "title": "Outils de surveillance en direct | Documentation ProxMenux",
+ "description": "Trois lanceurs interactifs de surveillance du réseau : iftop (bande passante en temps réel par paire d'hôtes), iptraf-ng (moniteur de trafic multimode) et iperf3 (test de bande passante, serveur / mode client). Chacun est installé lors de la première utilisation.",
+ "ogTitle": "Outils de surveillance en direct | Documentation ProxMenux",
+ "ogDescription": "Surveillance réseau interactive et test de bande passante pour l'hôte Proxmox : iftop, iptraf-ng, iperf3."
+ },
+ "header": {
+ "title": "Outils de surveillance en direct",
+ "description": "Trois lanceurs interactifs pour observer le réseau en temps réel et mesurer la bande passante : iftop, iptraf-ng et iperf3. Chaque outil est installé automatiquement via apt au premier usage, fonctionne au premier plan et se quitte avec la touche indiquée. Ils ne modifient pas la configuration réseau de l’hôte ; iperf3 génère du trafic de test.",
+ "section": "Réseau"
+ },
+ "intro": {
+ "title": "Ce que ça fait",
+ "body": "Trois outils de suivi interactifs, chacun derrière sa propre entrée de menu. La première fois que vous en lancez un, le paquet est installé silencieusement via apt-get. Les lancements suivants commencent instantanément. Aucun de ces outils ne modifie la configuration du réseau hôte."
+ },
+ "when": {
+ "heading": "Quel outil utiliser selon le besoin",
+ "headerQuestion": "Question",
+ "headerUse": "Utiliser",
+ "rows": [
+ {
+ "question": "Qui sature le lien maintenant ?",
+ "use": "iftop"
+ },
+ {
+ "question": "Quelle est la répartition par protocole, quelles tailles de paquets et quels flux TCP circulent ?",
+ "use": "iptraf-ng"
+ },
+ {
+ "question": "Combien de bande passante est disponible entre deux hôtes ?",
+ "use": "iperf3"
+ }
+ ]
+ },
+ "iftop": {
+ "heading": "Utilisation du réseau en temps réel (iftop)",
+ "body": "Bande passante en direct par paire d’hôtes (source ↔ destination) — comme top pour le trafic. Affiche les flux les plus importants en haut, avec des moyennes glissantes sur 2/10/40 secondes. L’outil idéal pour savoir « pourquoi ma liaison montante est saturée ».",
+ "exit": "Quitter : appuyez sur q. ProxMenux affiche un rappel avant le lancement.",
+ "keysTitle": "Touches utiles dans iftop",
+ "keysBody": "n active ou désactive les recherches DNS, p affiche les numéros de port, P fige l’affichage, t change le sens des lignes (envoi / réception / les deux), 1/2/3 trie par moyenne sur 2 s / 10 s / 40 s. Liste complète dans man iftop."
+ },
+ "iptraf": {
+ "heading": "Outil de surveillance du réseau (iptraf-ng)",
+ "intro": "Un outil de surveillance du trafic à plusieurs modes, piloté par menu. iftop répond à « qui », tandis qu’iptraf-ng répond à « quoi » : compteurs d’octets et de paquets par protocole, suivi de l’état des connexions TCP, histogrammes de taille des paquets et activité LAN par station.",
+ "menuIntro": "Au lancement, vous obtenez un menu à cinq options :",
+ "headerMode": "Mode",
+ "headerUseFor": "Utilisez-le pour",
+ "rows": [
+ {
+ "mode": "Surveillance du trafic IP",
+ "useFor": "Liste de flux en direct TCP / UDP / ICMP / autre-IP avec compteurs d'octets et état de connexion"
+ },
+ {
+ "mode": "Statistiques générales de l'interface",
+ "useFor": "Nombre total de paquets IPv4 / IPv6 / TCP / UDP / ICMP / non IP par carte réseau"
+ },
+ {
+ "mode": "Statistiques détaillées de l'interface",
+ "useFor": "Comme ci-dessus, mais pour une interface, avec la taille du paquet et le détail du taux"
+ },
+ {
+ "mode": "Ventilations statistiques",
+ "useFor": "Histogramme de distribution de la taille du paquet, par port TCP / UDP"
+ },
+ {
+ "mode": "Moniteur de station LAN",
+ "useFor": "Statistiques du trafic par adresse MAC pour le domaine de diffusion local"
+ }
+ ],
+ "exit": "Quitter : appuyez sur x depuis n’importe quelle vue ou sur Q depuis le menu principal. ProxMenux affiche un rappel avant le lancement.",
+ "logTitle": "Enregistrer les captures dans un fichier",
+ "logBody": "Chaque mode propose d’enregistrer les statistiques capturées dans /var/log/iptraf-ng/. Pour conserver une trace d’un pic de trafic, laissez l’outil tourner, enregistrez dans un fichier et examinez-le ensuite plutôt que d’essayer de suivre l’écran en direct."
+ },
+ "iperf3": {
+ "heading": "Test de bande passante (iperf3)",
+ "intro1": "Mesure le débit TCP réel entre deux hôtes. Contrairement à iftop / iptraf-ng, qui observent le trafic existant, iperf3 génère du trafic synthétique pour tester la liaison en charge. Indispensable pour répondre à « Ma liaison 10 GbE atteint-elle vraiment 10 GbE ? » ou « Le goulot d’étranglement vient-il de la carte réseau, du commutateur ou du stockage ? ».",
+ "intro2": "iperf3 est un outil à deux hôtes : l’un est le serveur, en écoute sur le port TCP 5201 ; l’autre est le client, qui se connecte, envoie les données et affiche le débit. Le lanceur ProxMenux demande le mode souhaité :",
+ "headerMode": "Mode",
+ "headerBehaviour": "Comportement",
+ "headerCli": "Commande CLI équivalente",
+ "rows": [
+ {
+ "mode": "Serveur",
+ "behaviour": "Écoute sur TCP 5201 et imprime les résultats pour chaque test entrant. Arrête sur Ctrl+C.",
+ "cli": "iperf3 -s"
+ },
+ {
+ "mode": "Client",
+ "behaviour": "Demande l’adresse IP ou le nom d’hôte du serveur, se connecte, lance le test par défaut de 10 secondes et affiche le rapport.",
+ "cli": "iperf3 -c "
+ }
+ ],
+ "workflowIntro": "Typiquement pour tester un lien 10 GbE entre deux hôtes Proxmox :",
+ "workflow": [
+ "Sur l’hôte A, ouvrez le menu Réseau → Test de bande passante (iperf3) → choisissez Serveur.",
+ "Sur l'hôte B, ouvrez la même entrée de menu → choisissez Client → saisissez l'IP de l'hôte A.",
+ "Attendez 10 secondes. Comparez le taux déclaré au maximum théorique du lien."
+ ],
+ "sample": "Exemple de sortie client :",
+ "flagsTitle": "Options utiles à utiliser manuellement depuis un shell",
+ "flagsBody": "-t 60 test plus long (60 s au lieu de 10 s), -P 4 4 flux parallèles (saturation plus rapide), -R sens inverse (serveur → client), -u -b 100M test UDP à 100 Mbit/s (mesure de la gigue et des pertes de paquets), -p 5202 autre port (plusieurs tests en parallèle). Liste complète dans man iperf3.",
+ "firewallTitle": "Ouvrez le port pare-feu sur le serveur",
+ "firewallBody": "Le serveur écoute sur TCP 5201 par défaut. Si vous exécutez le serveur à l'intérieur d'un hôte Proxmox avec un pare-feu strict (datacenter ou niveau hôte), autorisez TCP 5201 entrant à partir de l'IP du client pour la durée du test, puis fermez-le à nouveau. Il en va de même pour nftables / iptables sur les hôtes nus."
+ },
+ "install": {
+ "heading": "Le premier lancement installe le paquet",
+ "body": "Les trois lanceurs vérifient le binaire et exécutent apt-get update -qq && apt-get install -y <pkg> s'il manque. L'installation est silencieuse : le menu peut apparaître gelé pour 10–30 secondes la première fois. Les lancements suivants commencent instantanément."
+ },
+ "troubleshoot": {
+ "heading": "Dépannage",
+ "hangTitle": "L’installation reste bloquée au premier lancement",
+ "hangBody": "L'hôte n'a pas d'internet ou les repos apt sont inaccessibles. Annuler avec Ctrl+C, exécuter apt-get update manuellement pour voir l'erreur réelle (DNS, repo signature, proxy ...), puis revenir au menu.",
+ "refusedTitle": "Client iperf3 : « unable to connect to server: Connection refused »",
+ "refusedBody": "Soit le serveur ne fonctionne pas, soit son pare-feu bloque TCP 5201. Confirmer sur le serveur: ss -tlnp | grep 5201 — doit afficher l'écoute iperf3. Si l'écoute, mais que le client échoue, vérifiez le chemin du pare-feu entre les deux hôtes.",
+ "slowTitle": "iperf3 indique un débit bien inférieur à la vitesse attendue de la liaison",
+ "slowBody": "Causes courantes par ordre de probabilité : (1) le processeur d’un hôte limite le débit — essayez iperf3 -c <target> -P 4 pour utiliser plusieurs cœurs ; (2) le trajet passe par une liaison plus lente, par exemple un commutateur gigabit entre deux cartes 10 GbE ; (3) MTU différents — vérifiez ip link show aux deux extrémités ; (4) offloading de la carte réseau désactivé — voir le script communautaire Disable NIC Offloading pour une carte Intel e1000e.",
+ "noTrafficTitle": "iftop / iptraf-ng ne montre aucun trafic pour un hôte occupé",
+ "noTrafficBody": "La capture par défaut est sur la première interface détectée. Spécifiez le bon explicitement depuis le shell : iftop -i vmbr0 ou iptraf-ng -i vmbr0. Le lanceur de menu utilise la valeur par défaut; pour les interfaces non par défaut, exécuter à partir d'une console."
+ },
+ "related": {
+ "heading": "Voir aussi",
+ "items": [
+ {
+ "label": "Diagnostic",
+ "href": "/docs/network/diagnostics",
+ "tail": "— les contrôles en lecture seule (routage, connectivité, statistiques avancées)."
+ },
+ {
+ "label": "Analyse des ponts et réparation guidée",
+ "href": "/docs/network/bridge-analysis",
+ "tail": "— lorsque la surveillance révèle qu'une interface ou un pont ne fait pas ce qu'il faut."
+ }
+ ]
+ }
+}
diff --git a/web/messages/fr/docs/network/persistent-names.json b/web/messages/fr/docs/network/persistent-names.json
new file mode 100644
index 00000000..26472165
--- /dev/null
+++ b/web/messages/fr/docs/network/persistent-names.json
@@ -0,0 +1,130 @@
+{
+ "meta": {
+ "title": "Noms d’interface persistants | Documentation ProxMenux",
+ "description": "Associez les noms d’interface Proxmox (eno1, enp3s0, …) aux adresses MAC via des fichiers .link de systemd pour les conserver après une réénumération PCI, une mise à niveau du noyau ou l’ajout ou le retrait d’autres cartes réseau.",
+ "ogTitle": "Noms d’interface persistants | Documentation ProxMenux",
+ "ogDescription": "Empêchez les noms d’interface Proxmox de changer lors des modifications matérielles. Utilise des fichiers .link de systemd associés aux adresses MAC."
+ },
+ "header": {
+ "title": "Noms d'interface persistants",
+ "description": "Génère un fichier .link de systemd par carte réseau physique pour associer le nom attribué par le noyau à son adresse MAC. Après application au prochain redémarrage, les noms d’interface restent stables lorsque vous ajoutez, retirez ou déplacez des cartes PCIe.",
+ "section": "Réseau"
+ },
+ "intro": {
+ "title": "Ce que ça fait",
+ "body": "Pour chaque NIC physique sur l'hôte, écrit un petit fichier sous /etc/systemd/network/10-<iface>.link qui dit : \"le périphérique avec ce MAC doit toujours être appelé ce nom\". systemd-udevd applique la règle à chaque démarrage, avant que ifupdown ne lise /etc/network/interfaces."
+ },
+ "problem": {
+ "heading": "Le problème que cela résout",
+ "intro": "Linux déduit les noms d’interface par défaut de la topologie PCI — eno1 = intégrée à la carte mère, enp3s0 = carte sur le bus PCI 3, emplacement 0, etc. Le nommage est déterministe pour une même disposition matérielle. Si cette disposition change, les noms changent :",
+ "items": [
+ "Ajoutez un GPU devant un NIC existant → le numéro de bus NIC peut changer → changement de nom.",
+ "Déplacer une carte vers une autre fente PCIe → nom change.",
+ "BIOS / UEFI mise à jour qui réénumère les appareils → noms peuvent changer.",
+ "Remplacer une carte défectueuse par le même modèle dans une autre fente → nom change."
+ ],
+ "outro": "Après un tel changement, /etc/network/interfaces fait toujours référence à l’ancien nom ; le pont ne s’active pas et l’hôte perd le réseau. Les noms persistants évitent que cette situation se reproduise."
+ },
+ "howWorks": {
+ "heading": "Comment ça marche",
+ "arrowLabel": "par NIC",
+ "nodes": {
+ "detectLabel": "Détecter les cartes réseau physiques",
+ "detectDetail": "ls /sys/class/net/\nexclure vmbr / bond /\ndocker / veth / wireguard …",
+ "readLabel": "Lire chaque MAC",
+ "readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
+ "writeLabel": "Écrivez le fichier .link",
+ "writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
+ },
+ "minimalIntro": "Chaque fichier généré est volontairement minimal :",
+ "minimalOutro": "Au démarrage, systemd-udevd identifie le périphérique par son adresse MAC et lui attribue le nom demandé avant l’intervention d’autres composants (ifupdown, nommage par défaut du noyau). Le préfixe 10- garantit le chargement précoce de ces règles, avant le fichier par défaut 99-default.link."
+ },
+ "scope": {
+ "heading": "Ce qui est écrit, ce qui est ignoré",
+ "headerType": "Type",
+ "headerBehaviour": "Comportement",
+ "headerWhy": "Pourquoi",
+ "rows": [
+ {
+ "type": "Carte réseau intégrée / PCIe",
+ "behaviour": "fichier .link écrit",
+ "why": "Repose sur un véritable périphérique PCI — le cas auquel l’outil est destiné"
+ },
+ {
+ "type": "Wi-Fi (phy80211)",
+ "behaviour": "fichier .link écrit",
+ "why": "A une vraie MAC et bénéficie de la stabilité des noms"
+ },
+ {
+ "type": "Ponts (vmbrX)",
+ "behaviour": "Ignoré",
+ "why": "Virtuel; le nom vient de /etc/network/interfaces"
+ },
+ {
+ "type": "Agrégations (bondX)",
+ "behaviour": "Ignoré",
+ "why": "Virtuel ; le nom de l’agrégation est défini par ifupdown"
+ },
+ {
+ "type": "veth / docker0 / br-XXXX",
+ "behaviour": "Ignoré",
+ "why": "Créé sur demande par Docker / LXC — matériel non persistant"
+ },
+ {
+ "type": "tap / fwpr / fwln",
+ "behaviour": "Ignoré",
+ "why": "Créé sur demande par Proxmox par VM/CT"
+ },
+ {
+ "type": "WireGuard / Cilium / Tailscale",
+ "behaviour": "Ignoré",
+ "why": "Interfaces logicielles gérées par leurs propres démons"
+ }
+ ]
+ },
+ "safety": {
+ "heading": "Filet de sécurité : les fichiers .link précédents sont sauvegardés",
+ "intro": "Si /etc/systemd/network/ contient déjà des fichiers .link (à partir d'une exécution précédente ou d'un autre outil), ils sont copiés dans un répertoire de sauvegarde horodaté avant que les nouveaux fichiers ne soient générés :",
+ "outro": "Pour revenir en arrière : copiez les fichiers à partir du répertoire de sauvegarde et redémarrez.",
+ "rebootTitle": "Prend effet sur le prochain redémarrage, pas immédiatement",
+ "rebootBody": "Les modifications des fichiers .link ne s’appliquent qu’au démarrage, lorsque udev réénumère les périphériques. L’outil indique donc « Les modifications s’appliqueront après le redémarrage ». Renommer une interface en cours de fonctionnement est risqué et n’est pas tenté : un vmbr0 actif avec des interfaces membres devrait être reconfiguré de manière atomique. L’opération est donc reportée au prochain démarrage propre."
+ },
+ "afterReboot": {
+ "heading": "Après le redémarrage",
+ "intro": "Une fois les noms épinglés, le flux de travail des futurs changements matériels est simple :",
+ "items": [
+ "Éteignez, modifiez le matériel (ajout de carte, changement d’emplacement, …), puis démarrez.",
+ "Chaque NIC conserve son nom précédent car son MAC correspond à un fichier .link.",
+ "Si un NIC est remplacé (différent MAC), il obtient un nom de noyau par défaut (enp<bus>s<slot>); ré-exécutez ce menu pour ajouter une entrée .link pour le MAC de la nouvelle carte."
+ ]
+ },
+ "troubleshoot": {
+ "heading": "Dépannage",
+ "emptyTitle": "\"Aucune interface physique trouvée\" après avoir lancé l'outil",
+ "emptyBody": "Aucune interface reposant sur PCI ou phy80211 n’est visible par le noyau sur l’hôte. Vérifiez avec ls -l /sys/class/net/ : chaque entrée doit avoir soit un lien symbolique device (PCI), soit une entrée phy80211 (Wi-Fi). Si les deux sont absents pour une véritable carte réseau, le pilote n’est pas chargé.",
+ "noChangeTitle": "Après le redémarrage, les noms n'ont pas changé comme prévu",
+ "noChangeBody": "Vérifiez que le fichier est présent et correctement formé : cat /etc/systemd/network/10-<iface>.link. Consultez ensuite les journaux udev : journalctl -u systemd-udevd -b | grep -i link. Un ancien paramètre du noyau net.ifnames=0 désactive entièrement le nommage prévisible : supprimez-le de /etc/default/grub, exécutez update-grub, puis redémarrez.",
+ "undoTitle": "Je veux annuler les noms persistants",
+ "undoBody": "Supprimez les fichiers .link (rm /etc/systemd/network/10-*.link) ou restaurez-les depuis le répertoire de sauvegarde créé lors de l’exécution précédente. Redémarrez pour appliquer les modifications."
+ },
+ "related": {
+ "heading": "Voir aussi",
+ "items": [
+ {
+ "label": "Analyse des ponts et réparation guidée",
+ "href": "/docs/network/bridge-analysis",
+ "tailRich": " — la solution de récupération lorsque les noms ont déjà changé."
+ },
+ {
+ "label": "Analyse de configuration et nettoyage guidé",
+ "href": "/docs/network/config-analysis",
+ "tail": " — pour supprimer les blocs orphelins laissés par les changements de noms."
+ },
+ {
+ "label": "Diagnostic",
+ "href": "/docs/network/diagnostics",
+ "tailRich": "— confirmer les nouveaux noms avec Afficher la table d'acheminement après le redémarrage."
+ }
+ ]
+ }
+}
diff --git a/web/messages/it/docs/network/backup-restore.json b/web/messages/it/docs/network/backup-restore.json
new file mode 100644
index 00000000..721be2b8
--- /dev/null
+++ b/web/messages/it/docs/network/backup-restore.json
@@ -0,0 +1,110 @@
+{
+ "meta": {
+ "title": "Backup e riavvio delle interfacce | Documentazione ProxMenux",
+ "description": "Crea istantanee manuali, sfoglia e ripristina i backup di /etc/network/interfaces salvati in /var/backups/proxmenux/. Include il riavvio del servizio di rete con conferma e una vista rapida della configurazione attuale.",
+ "ogTitle": "Backup e riavvio delle interfacce | Documentazione ProxMenux",
+ "ogDescription": "Crea un’istantanea e ripristina la configurazione di rete Proxmox; riavvia il servizio di rete con conferma."
+ },
+ "header": {
+ "title": "Backup e riavvio delle interfacce",
+ "description": "Quattro utility che ruotano intorno a /etc/network/interfaces: scattano un'istantanea manuale, visualizzano la configurazione live, ripristinano un backup precedente con un'anteprima facoltativa e riavviano il servizio di rete con esplicito consenso. Stessa directory di backup utilizzata dai flussi di riparazione guidati.",
+ "section": "Rete"
+ },
+ "intro": {
+ "title": "Cosa fa",
+ "body": "Gestisce la stessa directory di backup utilizzata dai flussi di riparazione guidati (/var/backups/proxmenux/). Consente di scattare un'istantanea aggiuntiva prima di qualsiasi cambiamento manuale, sfogliare tutti i backup esistenti e tornare a uno qualsiasi di essi — sempre con un backup pre-restore fresco preso automaticamente come una seconda rete di sicurezza."
+ },
+ "shared": {
+ "heading": "La directory di backup condivisa",
+ "intro": "Ogni backup preso ovunque nel menu di rete atterra nello stesso posto:",
+ "outro": "I nomi dei file contengono data e ora, sono ordinati per data e non vengono mai sovrascritti. La directory viene creata al primo utilizzo."
+ },
+ "show": {
+ "heading": "Mostra file di configurazione di rete",
+ "body": "Mostra il contenuto esatto di /etc/network/interfaces nel terminale. Sola lettura. Utile come controllo prima di un backup o dopo un ripristino. Non esiste uno strumento separato per confrontare il file con il backup precedente: esaminare il file attuale è quindi il modo più semplice per verificarne il contenuto."
+ },
+ "create": {
+ "heading": "Crea backup di rete",
+ "body": "Copia l'attuale /etc/network/interfaces nella directory di backup con un timestamp fresco. Questo è tutto — nessuna analisi, nessun prompt, solo un'istantanea.",
+ "whenTitle": "Quando creare un backup manuale",
+ "whenBody": "Prima di modificare /etc/network/interfaces a mano, di installare un pacchetto che può alterare lo stack di rete (ad esempio NetworkManager o Open vSwitch) o di cambiare l’hardware. Le riparazioni guidate creano già un’istantanea automaticamente: questa opzione serve per gli interventi manuali."
+ },
+ "restore": {
+ "heading": "Ripristina backup di rete",
+ "intro": "Elenca tutti i backup in /var/backups/proxmenux/ dal più recente al più vecchio e guida un ripristino protetto:",
+ "steps": [
+ {
+ "title": "1. Scegli un backup",
+ "body": "Un menu elenca ogni backup dal suo timestamp. Se non esistono backup, il flusso esce con un messaggio chiaro.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Anteprima opzionale",
+ "body": "Propone di aprire il backup selezionato in una vista scorrevole prima di confermare il ripristino. Sì è l’opzione predefinita: non saltare questo passaggio su un host remoto.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Backup prima del ripristino",
+ "body": "Prima di sovrascrivere /etc/network/interfaces, crea un altro backup dello stato attuale. Il ripristino è esso stesso un’operazione distruttiva: la nuova istantanea precedente al ripristino permette di tornare indietro se il backup scelto era quello sbagliato.",
+ "tone": "amber"
+ },
+ {
+ "title": "4. Applicare il ripristino",
+ "body": "Copia il backup scelto su /etc/network/interfaces. La modifica del file è su disco; lo stato del kernel live riflette ancora la configurazione precedente.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Riavvio opzionale",
+ "body": "Chiede se eseguire systemctl restart networking ora. Rifiuta per rimandare l’applicazione al prossimo riavvio.",
+ "tone": "emerald"
+ }
+ ],
+ "autoBackupTitle": "Il ripristino crea automaticamente un proprio backup",
+ "autoBackupBody": "Selezionare Ripristina backup di rete crea sempre una nuova istantanea della configurazione attuale prima di sovrascriverla. Se ripristini il backup sbagliato, il file più recente in /var/backups/proxmenux/ contiene lo stato precedente."
+ },
+ "restart": {
+ "heading": "Riavvia servizio di rete",
+ "body": "Esegue systemctl restart networking dopo una conferma sì/no. Mostra il risultato con msg_ok / msg_error. La maggior parte delle procedure di questo menu propone già un riavvio finale: questa opzione serve dopo una modifica manuale o se hai rifiutato il riavvio proposto in precedenza.",
+ "warnTitle": "Breve disconnessione garantita; possibile disconnessione permanente",
+ "warnBody": "Riavviare networking disattiva e riconfigura tutte le interfacce dichiarate in /etc/network/interfaces. Le sessioni SSH su queste interfacce si interrompono. Se la nuova configurazione non è valida, la rete non torna disponibile. Esegui questa operazione solo quando:",
+ "warnItems": [
+ "Hai un accesso alla console / IPMI / iKVM pronto, oppure",
+ "Sei fisicamente accanto alla macchina, oppure",
+ "Hai appena ripristinato con successo una configurazione sicuramente funzionante e vuoi applicarla."
+ ]
+ },
+ "manualRollback": {
+ "heading": "Ripristino manuale da una console",
+ "intro": "Se non riesci ad accedere al menu (SSH non disponibile, dialog che si arresta, …) ma puoi usare una console, il ripristino richiede due comandi:",
+ "outro": "È la stessa operazione eseguita dal menu, semplicemente digitata a mano. Se networking continua a non avviarsi, controlla journalctl -u networking -b per individuare l’errore di sintassi o del driver."
+ },
+ "troubleshoot": {
+ "heading": "Risoluzione dei problemi",
+ "noneTitle": "\"Nessun backup trovato\" in Ripristino",
+ "noneBody": "La directory /var/backups/proxmenux/ non esiste o non contiene file interfaces_backup_*. Esegui Crea backup di rete almeno una volta oppure una riparazione guidata, che ne crea uno automaticamente. Verifica con ls /var/backups/proxmenux/.",
+ "unreachTitle": "Riavviare la rete riesce, ma l'host è ancora irraggiungibile",
+ "unreachBody": "La nuova configurazione è errata oppure non assegna il tuo IP di gestione. Ripristina la configurazione dalla console (vedi sopra). Poi usa l’analisi dei bridge e l’analisi della configurazione per capire il problema prima di applicarla nuovamente.",
+ "emptyTitle": "L'anteprima del ripristino mostra un file vuoto",
+ "emptyBody": "Il file di backup è vuoto (0 byte). Succede se una copia è fallita senza segnalazioni in un’esecuzione precedente. Scegli un backup più vecchio oppure esegui di nuovo Crea backup di rete adesso, se la configurazione attuale funziona."
+ },
+ "related": {
+ "heading": "Correlati",
+ "items": [
+ {
+ "label": "Analisi dei bridge e riparazione guidata",
+ "href": "/docs/network/bridge-analysis",
+ "tail": "— il motivo più comune per cui un backup finisce qui."
+ },
+ {
+ "label": "Analisi della configurazione e pulizia guidata",
+ "href": "/docs/network/config-analysis",
+ "tailRich": "— scrive anche a /var/backups/proxmenux/ automaticamente."
+ },
+ {
+ "label": "Diagnostica",
+ "href": "/docs/network/diagnostics",
+ "tail": " — per verificare lo stato attuale dopo un ripristino."
+ }
+ ]
+ }
+}
diff --git a/web/messages/it/docs/network/bridge-analysis.json b/web/messages/it/docs/network/bridge-analysis.json
new file mode 100644
index 00000000..23bf0ee1
--- /dev/null
+++ b/web/messages/it/docs/network/bridge-analysis.json
@@ -0,0 +1,132 @@
+{
+ "meta": {
+ "title": "Analisi dei bridge e riparazione guidata | Documentazione ProxMenux",
+ "description": "Rileva bridge vmbrX con porte fisiche mancanti o non valide, tipicamente dopo la rinumerazione PCI. Li segnala con comandi shell proposti e offre una riparazione guidata in 5 passaggi con backup obbligatorio.",
+ "ogTitle": "Analisi dei bridge e riparazione guidata | Documentazione ProxMenux",
+ "ogDescription": "Controlla e ripara le porte dei bridge Proxmox dopo modifiche hardware, con una procedura guidata che consente un ripristino sicuro."
+ },
+ "header": {
+ "title": "Analisi dei bridge e riparazione guidata",
+ "description": "Controlla ogni bridge vmbrX dichiarato in /etc/network/interfaces, verifica che le porte fisiche esistano e propone una riparazione passo passo se mancano. L’analisi è di sola lettura; la riparazione richiede conferma, mostra un’anteprima e crea un backup.",
+ "section": "Rete"
+ },
+ "intro": {
+ "title": "Cosa fa",
+ "body": "Legge ogni bridge in /etc/network/interfaces, esamina la riga bridge-ports e verifica che ogni porta dichiarata, ad esempio enp3s0, esista sull’host. Se una porta manca, propone una sostituzione e, con consenso esplicito, applica la modifica seguendo la procedura backup, anteprima, applicazione, verifica."
+ },
+ "when": {
+ "heading": "Quando hai bisogno di questo",
+ "intro": "Linux assegna nomi prevedibili alle interfacce in base alla topologia PCI e all’ordine degli slot. Diversi eventi possono modificarli, lasciando in /etc/network/interfaces riferimenti a nomi non più esistenti:",
+ "items": [
+ "Aggiungere o rimuovere una scheda PCIe (scheda di rete, GPU, HBA o adattatore NVMe).",
+ "Spostare una scheda esistente in un'altra slot PCIe.",
+ "Aggiornamenti BIOS / UEFI che rinumerano i dispositivi PCI.",
+ "Migrare il disco di avvio su hardware diverso."
+ ],
+ "outro": "Dopo il prossimo avvio, il ponte cerca di attaccare a una porta che non esiste più, non riesce a salire, e l'host perde la sua rete. Nomi di interfaccia persistenti impedisce che questo accada di nuovo — ma se sei già bloccato fuori, questa pagina è il percorso di recupero."
+ },
+ "bigPicture": {
+ "heading": "Quadro generale",
+ "diagram1": {
+ "arrowLabel": "passo 1",
+ "nodes": {
+ "sourceLabel": "/etc/network/interfaces",
+ "sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
+ "bridgeLabel": "Analizzare (solo lettura)",
+ "bridgeDetail": "ip link show enp3s0\n→ non esiste",
+ "targetLabel": "Report + suggerimento",
+ "targetDetail": "❌ enp3s0: NON TROVATA\nSostituisci con: eno1\n(ancora nessuna modifica)"
+ }
+ },
+ "diagram2": {
+ "arrowLabel": "applicare con il backup",
+ "nodes": {
+ "sourceLabel": "Riparazione guidata",
+ "sourceDetail": "1. Backup\n2. Mostra configurazione attuale\n3. Anteprima delle modifiche\n4. Applica\n5. Verifica",
+ "targetLabel": "/etc/network/interfaces (nuovo)",
+ "targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
+ }
+ }
+ },
+ "step1": {
+ "heading": "Passo 1: analisi (solo lettura)",
+ "intro": "Selezionando Analizza configurazione dei bridge, lo strumento si interrompe se l’host non usa lo stack classico Debian/Proxmox. Altrimenti esamina ogni bridge e mostra:",
+ "items": [
+ "Nome del ponte, stato corrente (UP / DOWN), IP assegnato.",
+ "Ogni porta dichiarata e la sua effettiva presenza (ip link show <port>).",
+ "Per ogni porta non valida: una sostituzione proposta (la prima interfaccia fisica disponibile) più il comando esatto sed per applicarla manualmente.",
+ "Bridge senza alcuna riga bridge-ports e voci auto orfane senza un blocco iface corrispondente."
+ ],
+ "readonlyTitle": "Garanzia di sola lettura",
+ "readonlyBody": "Fino a questo punto lo script non ha eseguito un singolo comando di modifica. È possibile lasciare l'analisi aperta, copiare i comandi sed suggeriti e applicarli manualmente se si preferisce — o accettare il prompt successivo per inserire la riparazione guidata."
+ },
+ "step2": {
+ "heading": "Passo 2: riparazione guidata (5 passi)",
+ "intro": "Solo se accetti il prompt alla fine dell'analisi. Ogni passo mostra cosa accadrà e chiederà la conferma prima di continuare.",
+ "steps": [
+ {
+ "title": "1. Backup di sicurezza",
+ "body": "Copia /etc/network/interfaces in /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Il percorso esatto del backup viene mostrato prima e dopo la copia, insieme al comando di ripristino.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Controlla la configurazione attuale",
+ "body": "Apre l’attuale /etc/network/interfaces in una finestra scorrevole per vedere esattamente cosa verrà modificato.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Anteprima delle modifiche proposte",
+ "body": "Elenca esattamente i bridge interessati e le sostituzioni delle porte previste. Se non serve più alcuna riparazione perché la porta è ricomparsa tra i controlli, la procedura termina con «Nessuna modifica necessaria.»",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Applicare le modifiche",
+ "body": "Per ogni ponte interessato, viene eseguito sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\" contro /etc/network/interfaces. Se un ponte non ha una sostituzione valida disponibile, la sostituzione è saltata e riportata nella fase 5.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Verifica",
+ "body": "Rilegge il file e verifica che la nuova porta di ogni bridge esista. Mostra il comando di ripristino (cp <backup> /etc/network/interfaces). Infine propone Riavvia la rete: accetta solo se hai un accesso di riserva alla console.",
+ "tone": "emerald"
+ }
+ ],
+ "restartTitle": "Riavviare la rete ≠ annullare senza rischi",
+ "restartBody": "La riparazione viene scritta su disco anche se non riavvii il servizio. systemctl restart networking applica la modifica ora e può interrompere la sessione SSH se la nuova porta è errata. Se rifiuti, la modifica avrà comunque effetto al prossimo avvio: verifica prima la configurazione oppure annulla con il comando mostrato."
+ },
+ "edits": {
+ "heading": "Cosa viene modificato (esattamente)",
+ "body": "Solo la riga bridge-ports di ogni bridge interessato. Le altre direttive (address, netmask, gateway, bridge-stp, …) restano invariate. In questa procedura lo script non crea né rimuove blocchi iface: se ne occupa Analisi della configurazione & pulizia."
+ },
+ "troubleshoot": {
+ "heading": "Risoluzione dei problemi",
+ "unsupportedTitle": "L’analisi si interrompe con «Stack di rete non supportato»",
+ "unsupportedBody": "L'host esegue netplan, systemd-networkd o NetworkManager. Lo strumento supporta solo /etc/network/interfaces. Passare l'host al classico stack prima, o modificare la configurazione con il tooling nativo del manager (ad es. netplan apply).",
+ "noSuggestTitle": "Non viene mostrato alcun suggerimento per una porta non valida",
+ "noSuggestBody": "L’host non ha interfacce fisiche libere: sono già tutte in un altro bridge oppure non esistono. L’analisi suggerisce come alternativa bridge-ports none, così il bridge può almeno attivarsi senza una porta. Aggiungi una scheda di rete o sposta manualmente le porte tra i bridge prima di riprovare.",
+ "stillDownTitle": "La riparazione completa ma il ponte è ancora DOWN",
+ "stillDownBody": "sed ha aggiornato il file, ma systemctl restart networking è stato rifiutato. Eseguilo manualmente dopo aver verificato la nuova configurazione oppure riavvia. Se il riavvio è stato accettato e il bridge è ancora DOWN, esegui ip link show per verificare che la nuova porta esista e controlla journalctl -u networking per l’errore effettivo: cavo scollegato, collegamento non negoziato o porta già appartenente a un altro bridge.",
+ "lostSshTitle": "Ho perso l'accesso SSH subito dopo il riavvio della rete",
+ "lostSshIntro": "Utilizzare la console / IPMI / iKVM per raggiungere l'host. Ripristinare il backup:",
+ "lostSshOutro": "Esegui poi di nuovo l’analisi dalla console per capire perché il suggerimento non ha funzionato, in genere perché la porta sostitutiva non è collegata."
+ },
+ "related": {
+ "heading": "Correlati",
+ "items": [
+ {
+ "label": "Nomi di interfaccia persistenti",
+ "href": "/docs/network/persistent-names",
+ "tail": " — associa i nomi agli indirizzi MAC per evitare che il problema si ripeta."
+ },
+ {
+ "label": "Analisi della configurazione e pulizia guidata",
+ "href": "/docs/network/config-analysis",
+ "tailRich": "— per i blocchi iface orfani (l'altra metà dello stesso problema)."
+ },
+ {
+ "label": "Backup e riavvio delle interfacce",
+ "href": "/docs/network/backup-restore",
+ "tail": "— snapshot manuali e browser di ripristino."
+ }
+ ]
+ }
+}
diff --git a/web/messages/it/docs/network/config-analysis.json b/web/messages/it/docs/network/config-analysis.json
new file mode 100644
index 00000000..42961b94
--- /dev/null
+++ b/web/messages/it/docs/network/config-analysis.json
@@ -0,0 +1,122 @@
+{
+ "meta": {
+ "title": "Analisi della configurazione e pulizia guidata | Documentazione ProxMenux",
+ "description": "Rileva i blocchi iface in /etc/network/interfaces che fanno riferimento a schede di rete fisiche non più presenti sull’host. Li segnala e offre una rimozione guidata in 5 passaggi con backup obbligatorio e anteprima di ogni blocco.",
+ "ogTitle": "Analisi della configurazione e pulizia guidata | Documentazione ProxMenux",
+ "ogDescription": "Trovare e rimuovere i blocchi di interfaccia orfano lasciati dietro da modifiche hardware, con anteprima completa e rollback."
+ },
+ "header": {
+ "title": "Analisi della configurazione e pulizia guidata",
+ "description": "Esamina ogni blocco iface in /etc/network/interfaces e verifica che la scheda di rete fisica corrispondente esista ancora. Segnala i blocchi orfani rimasti dopo modifiche hardware e offre una rimozione guidata con backup, anteprima e conferma per ogni blocco.",
+ "section": "Rete"
+ },
+ "intro": {
+ "title": "Cosa fa",
+ "body": "Identifica le dichiarazioni iface il cui supporto NIC non è più presente sull'host (tipico dopo aver sostituito o rimosso una scheda di rete). Poi offre una pulizia guidata che rimuove solo i blocchi orfani, con un backup, un'anteprima per sezione e una conferma finale esplicita."
+ },
+ "differs": {
+ "heading": "Come differisce dall'analisi del ponte",
+ "headerAspect": "Aspetto",
+ "headerBridge": "Analisi del ponte",
+ "headerConfig": "Analisi della configurazione",
+ "rows": [
+ {
+ "aspect": "Esamina",
+ "bridge": "Ponti (vmbrX) e la loro linea bridge-ports",
+ "config": "Ogni blocco iface, esclusi loopback, bridge e bond"
+ },
+ {
+ "aspect": "Rilevamento",
+ "bridge": "Bridge che fanno riferimento a una porta inesistente",
+ "config": "Blocchi di interfaccia standalone per NIC che non esistono"
+ },
+ {
+ "aspect": "Azione di riparazione",
+ "bridge": "Sostituisce il nome della porta in bridge-ports",
+ "config": "Rimuove l'intero blocco iface"
+ },
+ {
+ "aspect": "Esclusi",
+ "bridge": "Nulla — ogni ponte viene analizzato",
+ "config": "Bridge (vmbrX) e bond (bondX) vengono sempre mantenuti: sono virtuali e la loro assenza durante l’avvio può essere normale"
+ }
+ ],
+ "outro": "In pratica si usano spesso entrambi in quest’ordine: prima analisi della configurazione per rimuovere i blocchi orfani, poi analisi dei bridge per riassegnare i bridge che dipendevano dall’interfaccia rimossa."
+ },
+ "step1": {
+ "heading": "Passo 1: analisi (solo lettura)",
+ "intro": "Interrompe immediatamente se l'host non è sulla pila classica. Altrimenti elenca ogni interfaccia non-loopback configurata e segnala il suo stato:",
+ "virtTitle": "Le interfacce virtuali sono protette",
+ "virtBody": "Bridge (vmbrX) e bond (bondX) sono strutture virtuali. È possibile che non esistano al momento dell’ispezione, ad esempio un bridge ancora senza porte. L’analisi non propone mai di rimuoverli, ma solo le schede di rete fisiche."
+ },
+ "step2": {
+ "heading": "Passo 2: pulizia guidata (5 passi)",
+ "intro": "Solo se accetti il prompt alla fine dell'analisi. Ogni passo richiede la conferma; la cancellazione in qualsiasi punto esce senza scrivere.",
+ "steps": [
+ {
+ "title": "1. Backup di sicurezza",
+ "body": "Copia /etc/network/interfaces in /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Il percorso viene mostrato prima e dopo.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Confermare la lista di rimozione",
+ "body": "Elenca esattamente i blocchi delle interfacce fisiche da rimuovere. Se le schede di rete riappaiono tra analisi e pulizia, ad esempio dopo aver reinserito una scheda, la procedura termina con «Nessuna pulizia necessaria.»",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Visualizza in anteprima i blocchi esatti",
+ "body": "Apre una vista scorrevole di ogni blocco iface che verrebbe eliminato, esattamente come appare nel file. È il momento di individuare, ad esempio, un hook up che vuoi conservare.",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Applicare la rimozione",
+ "body": "Per ogni interfaccia orfano, funziona sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces. Questo elimina dalla linea iface corrispondente fino alla riga vuota successiva.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Verifica",
+ "body": "Rilegge il file, elenca ciò che è stato rimosso e ricontrolla le restanti interfacce. Stampa il comando di rollback. non riavvia automaticamente la rete: la rimozione di un blocco inutilizzato è sicura da applicare al riavvio successivo ed evita di toccare lo stato live.",
+ "tone": "emerald"
+ }
+ ],
+ "noRestartTitle": "Non riavvia automaticamente la rete",
+ "noRestartBody": "A differenza della riparazione del ponte, il flusso di pulizia non offre di riavviare il servizio. Rimuovere un blocco di interfaccia non utilizzato non ha alcun effetto immediato sulla configurazione in esecuzione, quindi un riavvio è inutile e sarebbe un rischio di connettività inutile. La modifica ha effetto sul successivo manuale systemctl restart networking o al successivo riavvio."
+ },
+ "caveats": {
+ "heading": "Osservazioni importanti",
+ "boundaryTitle": "Il confine del blocco è la prima linea vuota",
+ "boundaryBody": "Il pattern sed elimina da iface <name> fino alla riga vuota successiva. Se in /etc/network/interfaces manca una riga vuota tra i blocchi, cosa rara ma possibile dopo modifiche manuali, può essere eliminato anche il blocco successivo. Per questo il passaggio 3 è obbligatorio: controlla l’anteprima prima di confermare.",
+ "tandemTitle": "Un blocco iface orfano usato da un bridge viene rilevato qui, non nell’analisi dei bridge",
+ "tandemBody": "Se vmbr0 dichiara bridge-ports enp3s0 e enp3s0 ha anche un blocco iface enp3s0 inet manual, rimuovere enp3s0 qui lascia un riferimento non valido in vmbr0. Dopo la pulizia, esegui l’analisi dei bridge per riassegnare o rimuovere la porta del bridge. Le due procedure sono pensate per essere usate insieme."
+ },
+ "troubleshoot": {
+ "heading": "Risoluzione dei problemi",
+ "notFoundTitle": "L’analisi indica «NON TROVATA» per la mia nuova scheda di rete",
+ "notFoundBody": "Il kernel vede il dispositivo con un nome diverso da quello nel file. Esegui ip link show per trovare il nome effettivo. È proprio il caso in cui i nomi persistenti delle interfacce eviterebbero il problema in futuro.",
+ "tooMuchTitle": "La pulizia ha rimosso troppo (un blocco che volevo mantenere)",
+ "tooMuchBody": "Ripristino dal backup stampato nella fase 5:",
+ "tooMuchOutro": "Modificare il file a mano per aggiungere una linea vuota chiara tra i blocchi prima di eseguire la pulizia, o rimuovere il blocco problematico manualmente.",
+ "bridgeBreakTitle": "Un ponte smette di funzionare dopo la pulizia",
+ "bridgeBreakBody": "Il bridge dipendeva da una porta il cui blocco iface è stato appena rimosso. Esegui l’analisi dei bridge: il suggerimento assegnerà al bridge un’interfaccia fisica esistente."
+ },
+ "related": {
+ "heading": "Correlati",
+ "items": [
+ {
+ "label": "Analisi dei bridge e riparazione guidata",
+ "href": "/docs/network/bridge-analysis",
+ "tail": "— il follow-up naturale dopo una pulizia."
+ },
+ {
+ "label": "Nomi di interfaccia persistenti",
+ "href": "/docs/network/persistent-names",
+ "tail": "— blocca i blocchi orfani dall'accumulo dopo ogni cambio hardware."
+ },
+ {
+ "label": "Backup e riavvio delle interfacce",
+ "href": "/docs/network/backup-restore",
+ "tail": "— snapshot manuali e browser di ripristino."
+ }
+ ]
+ }
+}
diff --git a/web/messages/it/docs/network/diagnostics.json b/web/messages/it/docs/network/diagnostics.json
new file mode 100644
index 00000000..9d5f54e0
--- /dev/null
+++ b/web/messages/it/docs/network/diagnostics.json
@@ -0,0 +1,94 @@
+{
+ "meta": {
+ "title": "Diagnostica | Documentazione ProxMenux",
+ "description": "Tre controlli diagnostici puntuali di sola lettura: Mostra tabella di routing, Test di connettività e Diagnostica avanzata. Semplice ispezione: non scrive mai in /etc/network/interfaces e non esegue comandi di modifica, con un’unica eccezione esplicita: la rimozione completa di NetworkManager, se rilevato, richiede il tuo consenso.",
+ "ogTitle": "Diagnostica | Documentazione ProxMenux",
+ "ogDescription": "Diagnostica di rete di sola lettura per l'host Proxmox: routing, raggiungibilità, statistiche avanzate."
+ },
+ "header": {
+ "title": "Diagnostica",
+ "description": "Tre controlli puntuali di sola lettura dello stato attuale della rete: tabella di routing, test di connettività e statistiche avanzate. Nessuno scrive in /etc/network/interfaces: sono utilizzabili in sicurezza in qualsiasi momento, anche via SSH. Per il monitoraggio interattivo in tempo reale, vedi Strumenti di monitoraggio in tempo reale.",
+ "section": "Rete"
+ },
+ "intro": {
+ "title": "Cosa fa",
+ "body": "Mostra informazioni su routing, raggiungibilità e statistiche aggregate senza modificare nulla. Usalo per verificare che la rete funzioni o individuare IP duplicati. Per osservare il traffico in modo continuo, vedi Strumenti di monitoraggio in tempo reale; per visualizzare il file di configurazione grezzo, vedi Backup e riavvio delle interfacce."
+ },
+ "routing": {
+ "heading": "Mostra tabella di routing",
+ "body": "Elenca tutte le rotte attualmente usate dal kernel (ip route show) ed evidenzia il gateway predefinito. Utile per verificare che il traffico verso Internet esca dall’interfaccia prevista e che nessuna vecchia rotta abbia la precedenza."
+ },
+ "connectivity": {
+ "heading": "Test connettività",
+ "intro": "Invia due sonde ICMP a tre obiettivi in sequenza e segnala ciascuno. Poi viene eseguito un nslookup google.com per verificare la risoluzione DNS indipendentemente da ICMP.",
+ "headerTest": "Test",
+ "headerTarget": "Destinazione",
+ "headerConfirms": "Cosa conferma",
+ "rows": [
+ {
+ "test": "DNS Google",
+ "target": "8.8.8.8",
+ "confirms": "Raggiungibilità esterna tramite un indirizzo IP anycast noto"
+ },
+ {
+ "test": "Cloudflare DNS",
+ "target": "1.1.1.1",
+ "confirms": "Seconda opzione indipendente se Google blocca ICMP"
+ },
+ {
+ "test": "Gateway",
+ "target": "(percorso di default)",
+ "confirms": "Connettività L2 / L3 al router locale"
+ },
+ {
+ "test": "Risoluzione DNS",
+ "target": "google.com",
+ "confirms": "Il server DNS è raggiungibile e risponde"
+ }
+ ],
+ "readingTitle": "Leggere il risultato",
+ "readingBody": "Se il test del gateway riesce ma i server DNS pubblici non rispondono, la connettività locale funziona ma non hai accesso a Internet: controlla la connessione a monte del gateway. Se la risoluzione DNS fallisce ma i ping verso 8.8.8.8 riescono, il problema è il resolver, non la rete: controlla /etc/resolv.conf."
+ },
+ "advanced": {
+ "heading": "Diagnostica avanzata",
+ "intro": "Aggrega le statistiche dell’intera rete ed esegue una serie di controlli sui problemi comuni. Mostra il numero di connessioni attive, le porte in ascolto e il totale delle interfacce, e segnala esplicitamente due configurazioni problematiche:",
+ "items": [
+ "NetworkManager in esecuzione su un host Proxmox. NetworkManager e ifupdown di Proxmox entrano in conflitto: entrambi tentano di gestire le interfacce, rendendo i bridge instabili o impedendone l’attivazione. Se viene rilevato, lo strumento propone una conferma interattiva per arrestarlo, disabilitarlo e rimuoverlo completamente (è l’unica diagnostica che può modificare il sistema, e solo dopo un consenso esplicito).",
+ "Indirizzi IP duplicati su interfacce diverse. Due interfacce con lo stesso indirizzo IPv4 causano problemi di connettività intermittenti molto difficili da diagnosticare dall’interno della VM. Rilevamento tramite ip -4 addr show | sort | uniq -d."
+ ],
+ "nmTitle": "Il prompt NetworkManager è l'unica azione di modifica qui",
+ "nmBody": "Tutti gli altri controlli della diagnostica avanzata sono di sola lettura. La rimozione di NetworkManager richiede una conferma sì/no ed esegue systemctl stop / disable + apt-get purge -y network-manager. Se rifiuti, non cambia nulla."
+ },
+ "troubleshoot": {
+ "heading": "Risoluzione dei problemi",
+ "gwTitle": "Il test di connettività segnala un errore del gateway, ma l’host ha accesso a Internet",
+ "gwBody": "Alcuni router non rispondono a ICMP sulla loro interfaccia interna anche se inoltrano correttamente il traffico. Prova traceroute 8.8.8.8 da una console: se il secondo hop è il tuo ISP e il test del DNS pubblico è riuscito, il gateway funziona nonostante il ping fallito.",
+ "dupTitle": "La diagnostica avanzata continua a segnalare IP duplicati dopo che ne ho rimosso uno",
+ "dupBody": "Il controllo guarda lo stato del kernel dal vivo, non il file di configurazione. Eseguire ip -4 addr show per confermare; se il duplicato è ancora presente, un'interfaccia lo tiene ancora. Utilizzare ip addr del <IP>/<mask> dev <iface> per rimuoverlo dallo stato in tempo reale, quindi modificare /etc/network/interfaces se è anche persistente."
+ },
+ "related": {
+ "heading": "Correlati",
+ "items": [
+ {
+ "label": "Strumenti di monitoraggio dal vivo",
+ "href": "/docs/network/monitoring",
+ "tail": "— lanciatori interattivi iftop / iptraf-ng / iperf3."
+ },
+ {
+ "label": "Analisi dei bridge e riparazione guidata",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — quando a un vmbrX manca la porta fisica."
+ },
+ {
+ "label": "Analisi della configurazione e pulizia guidata",
+ "href": "/docs/network/config-analysis",
+ "tail": " — quando una vecchia scheda di rete è ancora dichiarata ma non è più presente."
+ },
+ {
+ "label": "Backup e riavvio delle interfacce",
+ "href": "/docs/network/backup-restore",
+ "tail": " — per creare un’istantanea della configurazione prima di qualsiasi modifica."
+ }
+ ]
+ }
+}
diff --git a/web/messages/it/docs/network/index.json b/web/messages/it/docs/network/index.json
new file mode 100644
index 00000000..725ea79e
--- /dev/null
+++ b/web/messages/it/docs/network/index.json
@@ -0,0 +1,107 @@
+{
+ "meta": {
+ "title": "Gestione della rete Proxmox — Bridge, bond, diagnostica, riparazione | ProxMenux",
+ "description": "Diagnostica di sola lettura, analisi con suggerimenti e riparazioni guidate per lo stack di rete Debian / Proxmox (/etc/network/interfaces). Ispeziona bridge e bond, avvia strumenti di monitoraggio in tempo reale, rendi persistenti i nomi delle interfacce, crea backup e riavvia la rete in sicurezza, con backup obbligatori e anteprime passo passo.",
+ "ogTitle": "Gestione della rete Proxmox — Bridge, bond, diagnostica, riparazione",
+ "ogDescription": "Diagnostica, analisi e riparazioni guidate per lo stack di rete Proxmox con backup obbligatori e anteprime passo-passo.",
+ "twitterTitle": "Gestione della rete Proxmox | ProxMenux",
+ "twitterDescription": "Bridge, bond, diagnostica e riparazioni guidate per lo stack di rete Proxmox con backup obbligatori."
+ },
+ "header": {
+ "title": "Gestione rete",
+ "description": "Diagnostica di sola lettura, rapporti di analisi con suggerimenti e riparazioni guidate per il classico stack di rete Debian/Proxmox. Ogni operazione distruttiva crea prima un backup e mostra in anteprima le modifiche esatte prima di applicarle.",
+ "section": "Rete"
+ },
+ "intro": {
+ "title": "A cosa serve questo menu",
+ "body": "Ispeziona, diagnostica e, quando necessario, ripara la configurazione di rete dell’host Proxmox senza perdere l’accesso remoto. Gli strumenti seguono un principio: prima leggere, poi proporre e infine applicare solo con consenso esplicito e un backup di sicurezza. Non esiste un pulsante «Correggi tutto automaticamente»."
+ },
+ "openingMenu": {
+ "heading": "Apertura del menu",
+ "intro": "Dal menu principale di ProxMenux, seleziona Rete. Vedrai questo:",
+ "imageAlt": "Menù Gestione rete con diagnostica, monitoraggio, analisi, riparazione, nomi persistenti e opzioni di backup"
+ },
+ "safety": {
+ "heading": "Il modello di sicurezza",
+ "body": "Modificare la configurazione di rete di un host Proxmox remoto è uno dei modi più semplici per perdere l’accesso. ProxMenux ne tiene conto per ogni azione. Gli strumenti si dividono in tre livelli di comportamento: scegli la scheda che corrisponde al tuo obiettivo:"
+ },
+ "tiers": {
+ "readOnly": {
+ "title": "Sola lettura",
+ "body": "Ispezione pura. Non può modificare il sistema in nessuna circostanza.",
+ "items": [
+ "Tabella di routing, test di connettività, statistiche avanzate",
+ "Monitoraggio del traffico dal vivo (iftop, iptraf-ng)",
+ "Test della larghezza di banda (iperf3)"
+ ]
+ },
+ "analyze": {
+ "title": "Analizzare, quindi suggerire",
+ "body": "Rileva i problemi, stampa un rapporto con i comandi di shell proposti e si ferma. Si decide se entrare nella riparazione guidata dopo.",
+ "items": [
+ "Analisi della configurazione del ponte",
+ "Analisi della configurazione di rete"
+ ]
+ },
+ "apply": {
+ "title": "Applicare con backup",
+ "body": "Modifica il sistema. Crea sempre prima un backup del file interessato con data e ora e mostra un’anteprima prima di scrivere.",
+ "items": [
+ "Nomi persistenti delle interfacce (file .link)",
+ "Backup manuale, ripristino e riavvio del servizio"
+ ]
+ }
+ },
+ "classicTitle": "Solo pila classica",
+ "classicBody": "Ogni funzione di analisi e riparazione controlla il gestore di rete attivo prima di toccare qualsiasi cosa. Se l'host esegue netplan, systemd-networkd o NetworkManager, lo strumento si interrompe immediatamente con un messaggio chiaro — il menu supporta solo il classico stack Debian/Proxmox a /etc/network/interfaces. Questo è intenzionale: la modifica di un file netplan con regole scritte per ifupdown avrebbe corrotto silenziosamente la configurazione.",
+ "backups": {
+ "heading": "Dove vengono salvati i backup",
+ "intro": "Ogni riparazione guidata, ripristino o backup manuale scrive una copia di /etc/network/interfaces con data e ora in /var/backups/proxmenux/:",
+ "rollbackIntro": "Per ripristinare manualmente la configurazione precedente da una console:"
+ },
+ "readOnlySection": {
+ "heading": "Ispezione di sola lettura",
+ "body": "Il punto di partenza quando qualcosa non va. Semplice ispezione: non scrive mai in /etc/network/interfaces e non esegue comandi che modificano il sistema, con un’unica eccezione esplicita: la rimozione completa di NetworkManager, se rilevato, richiede il tuo consenso. Utilizzabile in sicurezza via SSH in qualsiasi momento.",
+ "options": [
+ {
+ "title": "Diagnostica",
+ "description": "Tre controlli puntuali di sola lettura: Mostra tabella di routing, Test di connettività e Diagnostica avanzata. Semplice ispezione: non scrive mai nel sistema."
+ },
+ {
+ "title": "Strumenti di monitoraggio dal vivo",
+ "description": "Tre strumenti avviabili in modo interattivo: iftop (larghezza di banda in tempo reale per coppia di host), iptraf-ng (monitor del traffico con più modalità) e iperf3 (test della larghezza di banda, modalità server / client)."
+ }
+ ]
+ },
+ "analyzeSection": {
+ "heading": "Analizzare, quindi suggerire",
+ "body": "Da usare quando un’ispezione o un’effettiva interruzione del servizio indica un problema di configurazione. Ogni strumento esamina la parte pertinente di /etc/network/interfaces, stampa un rapporto dettagliato con l’esatto comando shell che risolverebbe ogni problema e si ferma. Se in seguito accetti la riparazione guidata facoltativa, ogni modifica viene preceduta da un backup e mostrata in anteprima prima della scrittura.",
+ "options": [
+ {
+ "title": "Analisi dei bridge e riparazione guidata",
+ "description": "Rileva bridge vmbrX con porte mancanti o non valide, situazione tipica dopo la rinumerazione PCI. Mostra prima un rapporto e ripara solo se accetti la procedura guidata in 5 passaggi."
+ },
+ {
+ "title": "Analisi della configurazione e pulizia guidata",
+ "description": "Trova le interfacce fisiche dichiarate in /etc/network/interfaces che non esistono più, ossia configurazioni orfane rimaste dopo modifiche hardware. Le segnala e propone una rimozione guidata."
+ }
+ ]
+ },
+ "applySection": {
+ "heading": "Applicare con backup",
+ "body": "Questi strumenti scrivono su disco per loro natura. Ciascuno crea un backup del file interessato con data e ora prima della scrittura e le opzioni distruttive, come ripristino e riavvio, richiedono una conferma esplicita sì/no. I nomi persistenti delle interfacce diventano effettivi al prossimo riavvio, non subito: puoi quindi pianificarne l’impostazione in sicurezza anche su un host remoto.",
+ "options": [
+ {
+ "title": "Nomi di interfaccia persistenti",
+ "description": "Associa i nomi delle interfacce (eno1, enp3s0, …) agli indirizzi MAC tramite file .link di systemd. I nomi restano invariati dopo cambi di slot PCI, aggiornamenti del kernel e aggiunta o rimozione di altre schede di rete."
+ },
+ {
+ "title": "Backup e riavvio delle interfacce",
+ "description": "snapshot manuale di /etc/network/interfaces, sfoglia e ripristina i backup precedenti, visualizza la configurazione live e riavvia il servizio di rete quando necessario."
+ }
+ ]
+ },
+ "consoleTitle": "Prepara un accesso alla console",
+ "consoleSubTitle": "Prima di qualsiasi riparazione su un host remoto",
+ "consoleBody": "Se sei connesso via SSH e hai un solo percorso di accesso all’host, prepara un’alternativa prima di applicare modifiche alla rete: console fisica / IPMI / iKVM oppure un’altra macchina sulla stessa LAN. Le riparazioni guidate sono sicure e offrono sempre un comando per annullare le modifiche, ma un bridge configurato male o una connessione interrotta può comunque lasciarti senza accesso finché non raggiungi la console."
+}
diff --git a/web/messages/it/docs/network/monitoring.json b/web/messages/it/docs/network/monitoring.json
new file mode 100644
index 00000000..3474dec7
--- /dev/null
+++ b/web/messages/it/docs/network/monitoring.json
@@ -0,0 +1,136 @@
+{
+ "meta": {
+ "title": "Strumenti di monitoraggio in tempo reale | Documentazione ProxMenux",
+ "description": "Tre strumenti interattivi di monitoraggio della rete: iftop (larghezza di banda in tempo reale per coppia di host), iptraf-ng (monitor del traffico con più modalità) e iperf3 (test della larghezza di banda, modalità server / client). Ciascuno viene installato al primo utilizzo.",
+ "ogTitle": "Strumenti di monitoraggio in tempo reale | Documentazione ProxMenux",
+ "ogDescription": "Monitoraggio interattivo della rete e test di larghezza di banda per l'host Proxmox: iftop, iptraf-ng, iperf3."
+ },
+ "header": {
+ "title": "Strumenti di monitoraggio dal vivo",
+ "description": "Tre strumenti avviabili in modo interattivo per osservare la rete in tempo reale e misurare la larghezza di banda: iftop, iptraf-ng e iperf3. Ogni strumento viene installato automaticamente tramite apt al primo utilizzo, viene eseguito in primo piano e si chiude con il tasto indicato. Non modificano la configurazione di rete dell’host; iperf3 genera traffico di prova.",
+ "section": "Rete"
+ },
+ "intro": {
+ "title": "Cosa fa",
+ "body": "Tre strumenti di monitoraggio interattivo, ciascuno dietro la propria voce menu. La prima volta che si lancia uno, il pacchetto viene installato silenziosamente tramite apt-get. I lanci successivi iniziano immediatamente. Nessuno di questi strumenti modifica la configurazione della rete host."
+ },
+ "when": {
+ "heading": "Quando usare quale",
+ "headerQuestion": "Domanda",
+ "headerUse": "Usa",
+ "rows": [
+ {
+ "question": "Chi sta saturando il collegamento in questo momento?",
+ "use": "iftop"
+ },
+ {
+ "question": "Qual è la ripartizione per protocollo e quali dimensioni dei pacchetti e flussi TCP sono presenti?",
+ "use": "iptraf-ng"
+ },
+ {
+ "question": "Quanta larghezza di banda è effettivamente disponibile tra due host?",
+ "use": "iperf3"
+ }
+ ]
+ },
+ "iftop": {
+ "heading": "Utilizzo rete in tempo reale (iftop)",
+ "body": "Larghezza di banda in tempo reale per coppia di host (origine ↔ destinazione), come top per il traffico. Mostra in alto i flussi più intensi con medie mobili su 2/10/40 secondi. Lo strumento ideale per rispondere a «perché il mio uplink è saturo?».",
+ "exit": "Esci: premi q. ProxMenux mostra un promemoria prima dell’avvio.",
+ "keysTitle": "Tasti utili dentro iftop",
+ "keysBody": "n attiva o disattiva le ricerche DNS, p mostra i numeri di porta, P mette in pausa la visualizzazione, t cambia la direzione delle righe (inviato / ricevuto / entrambi), 1/2/3 ordina per media su 2 s / 10 s / 40 s. Elenco completo in man iftop."
+ },
+ "iptraf": {
+ "heading": "Strumento monitoraggio rete (iptraf-ng)",
+ "intro": "Un monitor del traffico con più modalità, gestito tramite menu. iftop risponde a «chi», mentre iptraf-ng risponde a «cosa»: contatori di byte e pacchetti per protocollo, monitoraggio dello stato delle connessioni TCP, istogrammi delle dimensioni dei pacchetti e attività LAN per stazione.",
+ "menuIntro": "Al lancio si ottiene un menu a cinque opzioni:",
+ "headerMode": "Modalità",
+ "headerUseFor": "Usalo per",
+ "rows": [
+ {
+ "mode": "Monitor di traffico IP",
+ "useFor": "Elenco in tempo reale dei flussi TCP / UDP / ICMP / altri protocolli IP con contatori di byte e stato della connessione"
+ },
+ {
+ "mode": "Statistiche generali delle interfacce",
+ "useFor": "Conteggi aggregati dei pacchetti IPv4 / IPv6 / TCP / UDP / ICMP / non IP per scheda di rete"
+ },
+ {
+ "mode": "Statistiche dettagliate dell’interfaccia",
+ "useFor": "Come sopra, ma per una sola interfaccia, con dettagli sulle dimensioni e sulla frequenza dei pacchetti"
+ },
+ {
+ "mode": "Ripartizioni statistiche",
+ "useFor": "Istogramma della distribuzione delle dimensioni dei pacchetti, per porta TCP / UDP"
+ },
+ {
+ "mode": "Monitor della stazione LAN",
+ "useFor": "Per-MAC statistiche del traffico per il dominio broadcast locale"
+ }
+ ],
+ "exit": "Esci: premi x da qualsiasi vista oppure Q dal menu principale. ProxMenux mostra un promemoria prima dell’avvio.",
+ "logTitle": "Salvataggio delle acquisizioni su file",
+ "logBody": "Ogni modalità offre di registrare le statistiche catturate a /var/log/iptraf-ng/. Utile se avete bisogno di un record di un picco di traffico — lasciare in esecuzione, registrare a file, rivedere il file dopo invece di cercare di leggere lo schermo dal vivo."
+ },
+ "iperf3": {
+ "heading": "Test della larghezza di banda (iperf3)",
+ "intro1": "Misura la velocità TCP effettiva tra due host. A differenza di iftop / iptraf-ng, che osservano il traffico esistente, iperf3 genera traffico sintetico per una prova di carico del collegamento. Indispensabile per domande come «la mia rete 10 GbE raggiunge davvero 10 GbE?» oppure «il collo di bottiglia è la scheda di rete, lo switch o lo storage?».",
+ "intro2": "iperf3 è uno strumento per due host: uno funge da server e ascolta sulla porta TCP 5201; l’altro funge da client, si connette, invia dati e mostra la velocità. Il lanciatore di ProxMenux chiede quale modalità vuoi:",
+ "headerMode": "Modalità",
+ "headerBehaviour": "Comportamento",
+ "headerCli": "Comando CLI equivalente",
+ "rows": [
+ {
+ "mode": "Server",
+ "behaviour": "Ascolta sulla porta TCP 5201 e mostra i risultati di ogni test in arrivo. Si arresta con Ctrl+C.",
+ "cli": "iperf3 -s"
+ },
+ {
+ "mode": "Cliente",
+ "behaviour": "Chiede l’indirizzo IP o il nome host del server, si connette, esegue il test predefinito di 10 secondi e mostra il rapporto.",
+ "cli": "iperf3 -c "
+ }
+ ],
+ "workflowIntro": "Flusso di lavoro tipico per testare un collegamento 10 GbE tra due host Proxmox:",
+ "workflow": [
+ "Sull’host A, apri il menu Rete → Test della larghezza di banda (iperf3) → scegli Server.",
+ "Su host B, apri la stessa voce del menu → scegli Client → inserisci l'IP dell'host A.",
+ "Attendere 10 secondi. Confrontare il tasso riportato al massimo teorico del link."
+ ],
+ "sample": "Esempio di output del client:",
+ "flagsTitle": "Opzioni utili da usare manualmente dalla shell",
+ "flagsBody": "-t 60 test più lungo (60 s invece di 10 s), -P 4 4 flussi paralleli (saturano prima il collegamento), -R direzione inversa (server → client), -u -b 100M test UDP a 100 Mbit/s (misurazione di jitter e perdita di pacchetti), -p 5202 porta diversa (più test in parallelo). Elenco completo in man iperf3.",
+ "firewallTitle": "Aprire la porta firewall sul server",
+ "firewallBody": "Il server ascolta TCP 5201 per impostazione predefinita. Se si esegue il server all'interno di un host Proxmox con un firewall rigoroso (datacenter o livello host), consentire TCP 5201 in entrata dall'IP del client per la durata del test, quindi chiudere di nuovo. Lo stesso vale per nftables / iptables su host nudi."
+ },
+ "install": {
+ "heading": "Il primo lancio installa il pacchetto",
+ "body": "Tutti e tre i lanciatori controllano il binario ed eseguono apt-get update -qq && apt-get install -y <pkg> se manca. L'installazione è silenziosa: il menu può apparire congelato per 10–30 secondi la prima volta. I lanci successivi iniziano immediatamente."
+ },
+ "troubleshoot": {
+ "heading": "Risoluzione dei problemi",
+ "hangTitle": "L’installazione resta bloccata al primo avvio",
+ "hangBody": "L’host non ha accesso a Internet oppure i repository apt sono irraggiungibili. Annulla con Ctrl+C, esegui apt-get update manualmente per vedere l’errore effettivo (DNS, firma del repository, proxy, …), poi torna al menu.",
+ "refusedTitle": "Client iperf3: «unable to connect to server: Connection refused»",
+ "refusedBody": "Il server non è in esecuzione oppure il suo firewall blocca TCP 5201. Verifica sul server con ss -tlnp | grep 5201: dovrebbe mostrare iperf3 in ascolto. Se è in ascolto ma il client continua a fallire, controlla i firewall lungo il percorso tra i due host.",
+ "slowTitle": "iperf3 mostra una velocità molto inferiore a quella prevista per il collegamento",
+ "slowBody": "Cause comuni in ordine di probabilità: (1) la CPU di uno degli host limita la velocità: prova iperf3 -c <target> -P 4 per usare più core; (2) il percorso passa per un collegamento più lento, come uno switch gigabit tra due schede 10 GbE; (3) MTU diversi: controlla ip link show su entrambi i lati; (4) offloading della scheda di rete disabilitato: vedi lo script della community Disable NIC Offloading se hai una scheda Intel e1000e.",
+ "noTrafficTitle": "iftop / iptraf-ng non mostrano traffico per un host occupato",
+ "noTrafficBody": "La cattura predefinita è sulla prima interfaccia rilevata. Specificare quello giusto esplicitamente dalla shell: iftop -i vmbr0 o iptraf-ng -i vmbr0. Il menu launcher utilizza il default; per le interfacce non di default, viene eseguito da una console."
+ },
+ "related": {
+ "heading": "Correlati",
+ "items": [
+ {
+ "label": "Diagnostica",
+ "href": "/docs/network/diagnostics",
+ "tail": "— i controlli di sola lettura (routing, connettività, statistiche avanzate)."
+ },
+ {
+ "label": "Analisi dei bridge e riparazione guidata",
+ "href": "/docs/network/bridge-analysis",
+ "tail": "— quando il monitoraggio rivela un'interfaccia o un ponte non sta facendo ciò che dovrebbe."
+ }
+ ]
+ }
+}
diff --git a/web/messages/it/docs/network/persistent-names.json b/web/messages/it/docs/network/persistent-names.json
new file mode 100644
index 00000000..37fd520c
--- /dev/null
+++ b/web/messages/it/docs/network/persistent-names.json
@@ -0,0 +1,130 @@
+{
+ "meta": {
+ "title": "Nomi di interfaccia persistenti | Documentazione ProxMenux",
+ "description": "Associa i nomi delle interfacce Proxmox (eno1, enp3s0, …) agli indirizzi MAC tramite file .link di systemd per mantenerli dopo la rinumerazione PCI, aggiornamenti del kernel e aggiunta o rimozione di altre schede di rete.",
+ "ogTitle": "Nomi di interfaccia persistenti | Documentazione ProxMenux",
+ "ogDescription": "Evita che i nomi delle interfacce Proxmox cambino quando modifichi l’hardware. Usa file .link di systemd basati sull’indirizzo MAC."
+ },
+ "header": {
+ "title": "Nomi di interfaccia persistenti",
+ "description": "Genera un file .link di systemd per ogni scheda di rete fisica, associando il nome assegnato dal kernel all’indirizzo MAC della scheda. Dopo l’applicazione al prossimo riavvio, i nomi delle interfacce rimangono stabili quando aggiungi, rimuovi o sposti schede PCIe.",
+ "section": "Rete"
+ },
+ "intro": {
+ "title": "Cosa fa",
+ "body": "Per ogni NIC fisico sull'host, scrive un piccolo file sotto /etc/systemd/network/10-<iface>.link che dice: \"il dispositivo con questo MAC deve sempre essere chiamato questo nome\". systemd-udevd applica la regola ad ogni avvio, prima che ifupdown legga /etc/network/interfaces."
+ },
+ "problem": {
+ "heading": "Il problema che risolve",
+ "intro": "Linux ricava i nomi predefiniti delle interfacce dalla topologia PCI: eno1 = integrata, enp3s0 = scheda sul bus PCI 3, slot 0, ecc. Lo schema dei nomi è deterministico a parità di disposizione hardware. Se la disposizione cambia, cambiano anche i nomi:",
+ "items": [
+ "Aggiungere un GPU di fronte a un NIC esistente → il numero di bus NIC può cambiare → cambi di nome.",
+ "Spostare una scheda in una diversa slot PCIe → cambia nome.",
+ "Aggiornamento BIOS / UEFI che rienumera i dispositivi → i nomi possono cambiare.",
+ "Sostituire una scheda difettosa con lo stesso modello in una slot diversa → cambia nome."
+ ],
+ "outro": "Dopo una modifica simile, /etc/network/interfaces fa ancora riferimento al nome precedente; il bridge non si attiva e l’host perde la rete. Impostare nomi persistenti impedisce che la situazione si ripeta."
+ },
+ "howWorks": {
+ "heading": "Come funziona",
+ "arrowLabel": "per scheda di rete",
+ "nodes": {
+ "detectLabel": "Rileva le schede di rete fisiche",
+ "detectDetail": "ls /sys/class/net/\nescludi vmbr / bond /\ndocker / veth / wireguard …",
+ "readLabel": "Leggi ogni MAC",
+ "readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
+ "writeLabel": "Scrivi file .link",
+ "writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
+ },
+ "minimalIntro": "Ogni file generato è intenzionalmente minimo:",
+ "minimalOutro": "All’avvio, systemd-udevd identifica il dispositivo tramite MAC e assegna il nome richiesto prima che intervengano altri componenti (ifupdown, denominazione predefinita del kernel). Il prefisso 10- fa caricare queste regole in anticipo, prima del file predefinito 99-default.link."
+ },
+ "scope": {
+ "heading": "Quello che viene scritto, quello che viene saltato",
+ "headerType": "Tipo",
+ "headerBehaviour": "Comportamento",
+ "headerWhy": "Perché?",
+ "rows": [
+ {
+ "type": "Scheda di rete integrata / PCIe",
+ "behaviour": "File .link scritto",
+ "why": "Corrisponde a un dispositivo PCI reale: il caso per cui è pensato lo strumento"
+ },
+ {
+ "type": "Wi-Fi (phy80211)",
+ "behaviour": "File .link scritto",
+ "why": "Ha un MAC reale e benefici dalla stabilità dei nomi"
+ },
+ {
+ "type": "Ponti (vmbrX)",
+ "behaviour": "Ignorato",
+ "why": "Virtuale; il nome viene da /etc/network/interfaces"
+ },
+ {
+ "type": "Bond (bondX)",
+ "behaviour": "Ignorato",
+ "why": "Virtuale; il nome del bond è impostato da ifupdown"
+ },
+ {
+ "type": "veth / docker0 / br-XXXX",
+ "behaviour": "Ignorato",
+ "why": "Creato su richiesta da Docker / LXC — hardware non persistente"
+ },
+ {
+ "type": "tap / fwpr / fwln",
+ "behaviour": "Ignorato",
+ "why": "Creato su richiesta da Proxmox per VM/CT"
+ },
+ {
+ "type": "WireGuard / Cilium / Tailscale",
+ "behaviour": "Ignorato",
+ "why": "Interfacce software gestite dai propri demoni"
+ }
+ ]
+ },
+ "safety": {
+ "heading": "Rete di sicurezza: backup dei file .link precedenti",
+ "intro": "Se /etc/systemd/network/ contiene già file .link da un’esecuzione precedente o da altri strumenti, questi vengono copiati in una directory di backup con data e ora prima di generare i nuovi file:",
+ "outro": "Per tornare indietro: copiare i file dalla directory di backup e riavviare.",
+ "rebootTitle": "Prende effetto sul prossimo riavvio, non immediatamente",
+ "rebootBody": "Le modifiche ai file .link si applicano solo all’avvio, quando udev enumera nuovamente i dispositivi. Per questo lo strumento mostra «Le modifiche saranno applicate dopo il riavvio». Rinominare un’interfaccia in uso è rischioso e non viene tentato: un vmbr0 attivo con interfacce membro andrebbe riconfigurato atomicamente, quindi l’operazione è rimandata al prossimo avvio pulito."
+ },
+ "afterReboot": {
+ "heading": "Dopo il riavvio",
+ "intro": "Una volta che i nomi sono bloccati, il flusso di lavoro per le future modifiche hardware è semplice:",
+ "items": [
+ "Spegni, modifica l’hardware (aggiungi una scheda, cambia slot, …), poi avvia.",
+ "Ogni NIC mantiene il suo nome precedente perché il suo MAC corrisponde a un file .link.",
+ "Se una scheda di rete viene sostituita e ha un MAC diverso, riceve un nome predefinito del kernel (enp<bus>s<slot>); esegui di nuovo questo menu per aggiungere una voce .link per il MAC della nuova scheda."
+ ]
+ },
+ "troubleshoot": {
+ "heading": "Risoluzione dei problemi",
+ "emptyTitle": "\"Nessuna interfaccia fisica trovata\" dopo aver eseguito lo strumento",
+ "emptyBody": "Il kernel non vede interfacce basate su PCI / phy80211 sull’host. Verifica con ls -l /sys/class/net/: ogni voce dovrebbe avere un collegamento simbolico device (PCI) oppure una voce phy80211 (Wi-Fi). Se mancano entrambi per una scheda di rete reale, il driver non è caricato.",
+ "noChangeTitle": "Dopo il riavvio, i nomi non sono cambiati come previsto",
+ "noChangeBody": "Verifica che il file esista e sia ben formato: cat /etc/systemd/network/10-<iface>.link. Poi controlla i log di udev: journalctl -u systemd-udevd -b | grep -i link. Una causa comune è un vecchio parametro del kernel net.ifnames=0 che disabilita del tutto i nomi prevedibili: rimuovilo da /etc/default/grub, esegui update-grub e riavvia.",
+ "undoTitle": "Voglio annullare la denominazione persistente",
+ "undoBody": "Elimina i file .link (rm /etc/systemd/network/10-*.link) oppure ripristinali dalla directory di backup creata nell’esecuzione precedente. Riavvia per applicare."
+ },
+ "related": {
+ "heading": "Correlati",
+ "items": [
+ {
+ "label": "Analisi dei bridge e riparazione guidata",
+ "href": "/docs/network/bridge-analysis",
+ "tailRich": " — il percorso di ripristino quando i nomi sono già cambiati."
+ },
+ {
+ "label": "Analisi della configurazione e pulizia guidata",
+ "href": "/docs/network/config-analysis",
+ "tail": "— rimuovere i blocchi orfani lasciati alle spalle con i cambi di nome."
+ },
+ {
+ "label": "Diagnostica",
+ "href": "/docs/network/diagnostics",
+ "tailRich": " — verifica i nuovi nomi con Mostra tabella di routing dopo il riavvio."
+ }
+ ]
+ }
+}
diff --git a/web/messages/pt/docs/network/backup-restore.json b/web/messages/pt/docs/network/backup-restore.json
new file mode 100644
index 00000000..76e2b371
--- /dev/null
+++ b/web/messages/pt/docs/network/backup-restore.json
@@ -0,0 +1,110 @@
+{
+ "meta": {
+ "title": "Cópia de segurança e reinício das interfaces | Documentação ProxMenux",
+ "description": "Snapshot manual, navegar e restaurar backups /etc/network/interfaces armazenados em /var/backups/proxmenux/. Inclui uma reinicialização do serviço de rede com confirmação e uma visão rápida da configuração ao vivo.",
+ "ogTitle": "Cópia de segurança e reinício das interfaces | Documentação ProxMenux",
+ "ogDescription": "Instantâneo e restauração da configuração de rede Proxmox; reinicie o serviço de rede com confirmação."
+ },
+ "header": {
+ "title": "Cópia de segurança e reinício das interfaces",
+ "description": "Quatro utilitários que giram em torno de /etc/network/interfaces: tirar um instantâneo manual, visualizar a configuração ao vivo, restaurar um backup anterior com visualização opcional, e reiniciar o serviço de rede com consentimento explícito. Mesmo diretório de backup usado pelos fluxos de reparo guiados.",
+ "section": "Rede"
+ },
+ "intro": {
+ "title": "O que isto faz",
+ "body": "Gere o mesmo diretório de cópias de segurança usado pelas reparações guiadas (/var/backups/proxmenux/). Permite criar uma cópia extra antes de qualquer alteração manual, consultar todas as cópias existentes e repor qualquer uma delas — sempre com uma nova cópia do estado anterior ao restauro, criada automaticamente como segunda proteção."
+ },
+ "shared": {
+ "heading": "O diretório de backup compartilhado",
+ "intro": "Cada backup feito em qualquer lugar no menu Rede chega no mesmo lugar:",
+ "outro": "Os nomes dos ficheiros contêm data e hora, são ordenados por data e nunca são substituídos. O diretório é criado na primeira utilização."
+ },
+ "show": {
+ "heading": "Mostrar arquivo de configuração de rede",
+ "body": "Imprime /etc/network/interfaces na íntegra para o terminal. Só para leitura. Útil como uma verificação de sanidade antes de fazer um backup ou depois de uma restauração — não há nenhuma ferramenta separada \"diff com backup anterior\", então olhar para o arquivo ao vivo é a maneira mais fácil de confirmar o que você tem."
+ },
+ "create": {
+ "heading": "Criar backup de rede",
+ "body": "Copia o /etc/network/interfaces atual para o diretório de backup com um timestamp fresco. É isso — sem análise, sem prompts, apenas um instantâneo.",
+ "whenTitle": "Quando criar uma cópia de segurança manual",
+ "whenBody": "Antes de editar /etc/network/interfaces à mão, instalar um pacote que possa alterar a pilha de rede (por exemplo NetworkManager ou Open vSwitch) ou fazer qualquer alteração de hardware. As reparações guiadas já criam uma cópia automaticamente — esta opção serve para as operações manuais."
+ },
+ "restore": {
+ "heading": "Restaurar backup de rede",
+ "intro": "Lista todas as cópias em /var/backups/proxmenux/ da mais recente à mais antiga e guia um restauro com proteções:",
+ "steps": [
+ {
+ "title": "1. Escolher uma cópia de segurança",
+ "body": "Um menu lista cada backup pelo seu timestamp. Se não existirem backups, o fluxo sai com uma mensagem clara.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Visualização opcional",
+ "body": "Propõe abrir a cópia selecionada numa vista com deslocamento antes de confirmar o restauro. A opção predefinida é Sim — não ignore este passo num host remoto.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Cópia de segurança antes do restauro",
+ "body": "Antes de sobrepor /etc/network/interfaces, toma outro backup do estado atual. Restaurar um backup é em si uma ação destrutiva, então o novo instantâneo pré-restore permite que você volte se o backup escolhido acabar sendo o errado.",
+ "tone": "amber"
+ },
+ {
+ "title": "4. Aplicar a restauração",
+ "body": "Substitui /etc/network/interfaces pela cópia selecionada. A alteração do ficheiro está no disco; o estado atual do kernel ainda reflete a configuração anterior.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Reinício opcional",
+ "body": "Pergunta se deve executar o systemctl restart networking agora. Recusar para adiar a alteração para a próxima reinicialização.",
+ "tone": "emerald"
+ }
+ ],
+ "autoBackupTitle": "O restauro cria automaticamente a sua própria cópia de segurança",
+ "autoBackupBody": "Selecionar Restaurar backup de rede cria sempre uma nova cópia da configuração atual antes de a substituir. Se restaurar a cópia errada, o ficheiro mais recente em /var/backups/proxmenux/ contém o estado anterior."
+ },
+ "restart": {
+ "heading": "Reinicie o serviço de rede",
+ "body": "Executa systemctl restart networking após uma confirmação sim/não. Relata o resultado com msg_ok / msg_error. A maioria dos fluxos neste menu oferece o seu próprio prompt de reinicialização no final; esta opção é para reiniciar após uma edição manual ou depois de recusar o reinício do fluxo antes.",
+ "warnTitle": "Breve desconexão garantida; desconexão permanente possível",
+ "warnBody": "Reiniciando networking derruba e reaplica cada interface declarada em /etc/network/interfaces. As sessões SSH hospedadas nessas interfaces caem. Se a nova configuração for inválida, a rede nunca voltará. Execute isto apenas quando:",
+ "warnItems": [
+ "Você tem o console / IPMI / iKVM pronto, ou",
+ "Está fisicamente ao lado da máquina, ou",
+ "Você acabou de voltar com sucesso para uma configuração conhecida-boa e quer aplicá-la."
+ ]
+ },
+ "manualRollback": {
+ "heading": "Retroceder manualmente de uma consola",
+ "intro": "Se você não conseguir alcançar o menu (sem SSH, a janela está a falhar, ...) mas pode chegar a uma consola, o rollback são dois comandos:",
+ "outro": "É a mesma operação executada pelo menu, apenas escrita à mão. Se networking continuar sem iniciar, consulte journalctl -u networking -b para identificar o erro de sintaxe ou do controlador."
+ },
+ "troubleshoot": {
+ "heading": "Resolução de Problemas",
+ "noneTitle": "\"Nenhum backup encontrado\" na Restauração",
+ "noneBody": "O diretório /var/backups/proxmenux/ não existe ou não contém ficheiros interfaces_backup_*. Execute Criar backup de rede pelo menos uma vez ou faça uma reparação guiada, que cria uma cópia automaticamente. Confirme com ls /var/backups/proxmenux/.",
+ "unreachTitle": "Reiniciar a rede tem sucesso, mas a máquina ainda não está acessível",
+ "unreachBody": "A nova configuração está errada ou não atribui o seu IP de gestão. Reponha a configuração a partir da consola (ver acima). Depois use a análise de bridges e a análise de configuração para perceber o problema antes de voltar a aplicar.",
+ "emptyTitle": "A antevisão da restauração mostra um arquivo vazio",
+ "emptyBody": "O ficheiro de backup está vazio (0 bytes). Isto acontece se uma cópia falhar silenciosamente numa execução anterior. Escolha uma cópia mais antiga ou execute novamente Criar backup de rede agora, se a configuração atual funcionar."
+ },
+ "related": {
+ "heading": "Relacionado",
+ "items": [
+ {
+ "label": "Análise de ponte e reparo guiado",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — a razão mais comum pela qual um backup acaba aqui."
+ },
+ {
+ "label": "Análise de configuração e limpeza guiada",
+ "href": "/docs/network/config-analysis",
+ "tailRich": " — escreve igualmente para o /var/backups/proxmenux/ automaticamente."
+ },
+ {
+ "label": "Diagnósticos",
+ "href": "/docs/network/diagnostics",
+ "tail": " — para verificar o estado atual após um restauro."
+ }
+ ]
+ }
+}
diff --git a/web/messages/pt/docs/network/bridge-analysis.json b/web/messages/pt/docs/network/bridge-analysis.json
new file mode 100644
index 00000000..f20eddca
--- /dev/null
+++ b/web/messages/pt/docs/network/bridge-analysis.json
@@ -0,0 +1,132 @@
+{
+ "meta": {
+ "title": "Análise de bridges e reparação guiada | Documentação ProxMenux",
+ "description": "Deteta bridges vmbrX com portas físicas em falta ou inválidas, tipicamente após a reenumeração PCI. Apresenta-os com sugestões de comandos de shell e propõe uma reparação guiada em 5 passos com cópia de segurança obrigatória.",
+ "ogTitle": "Análise de bridges e reparação guiada | Documentação ProxMenux",
+ "ogDescription": "Verifique e repare portas de bridges Proxmox após alterações de hardware, com um procedimento guiado que permite reverter em segurança."
+ },
+ "header": {
+ "title": "Análise de ponte e reparo guiado",
+ "description": "Verifica cada bridge vmbrX declarado em /etc/network/interfaces e se as suas portas físicas existem. Caso faltem, propõe uma reparação passo a passo. A análise é só de leitura; a reparação exige confirmação, apresenta uma pré-visualização e cria uma cópia de segurança.",
+ "section": "Rede"
+ },
+ "intro": {
+ "title": "O que isto faz",
+ "body": "Lê cada ponte em /etc/network/interfaces, olha para sua linha bridge-ports e verifica se cada porta declarada (por exemplo. enp3s0) realmente existe na máquina. Se falta uma porta, propõe um substituto e – com consentimento explícito – aplica a alteração com um backup, visualização, aplicação, verificação."
+ },
+ "when": {
+ "heading": "Quando precisares disto",
+ "intro": "Linux atribui nomes de interface previsíveis de topologia PCI e ordem de fenda. Vários eventos os embaralham e deixam o /etc/network/interfaces referindo-se a nomes que já não existem:",
+ "items": [
+ "Adicionar ou remover uma placa PCIe (placa de rede, GPU, HBA ou adaptador NVMe).",
+ "Mudar uma placa existente para outro slot PCIe.",
+ "BIOS / UEFI atualiza que re-enumeram dispositivos PCI.",
+ "Migrando o disco de inicialização para hardware diferente."
+ ],
+ "outro": "Após a próxima inicialização, a ponte tenta anexar a uma porta que já não existe, falha em aparecer, e o host perde sua rede. Nomes de interface persistentes impede que isso aconteça novamente — mas se você já estiver bloqueado, esta página é o caminho de recuperação."
+ },
+ "bigPicture": {
+ "heading": "O quadro geral",
+ "diagram1": {
+ "arrowLabel": "passo 1",
+ "nodes": {
+ "sourceLabel": "/etc/network/interfaces",
+ "sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
+ "bridgeLabel": "Analisar (somente leitura)",
+ "bridgeDetail": "ip link show enp3s0\n→ não existe",
+ "targetLabel": "Relatório + sugestão",
+ "targetDetail": "❌ enp3s0: NÃO ENCONTRADA\nSubstituir por: eno1\n(ainda sem alterações)"
+ }
+ },
+ "diagram2": {
+ "arrowLabel": "aplicar com backup",
+ "nodes": {
+ "sourceLabel": "Reparação guiada",
+ "sourceDetail": "1. Cópia de Segurança\n2. Mostrar actual\n3. Antevisão das alterações\n4. Aplicar\n5. Verificar",
+ "targetLabel": "/etc/network/interfaces (novo)",
+ "targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
+ }
+ }
+ },
+ "step1": {
+ "heading": "Passo 1: análise (somente leitura)",
+ "intro": "Ao selecionar Analisar configuração de bridges, a ferramenta para imediatamente se o host não usar a pilha clássica Debian/Proxmox. Caso contrário, verifica cada bridge e apresenta:",
+ "items": [
+ "Nome do bridge, estado atual (UP / DOWN) e IP atribuído.",
+ "Cada porta declarada e se existe atualmente (ip link show <port>).",
+ "Para cada porta inválida: uma substituição proposta (a primeira interface física disponível) mais o comando exato sed para aplicá-lo manualmente.",
+ "Bridges sem qualquer linha bridge-ports e entradas auto órfãs sem bloco iface correspondente."
+ ],
+ "readonlyTitle": "Garantia apenas para leitura",
+ "readonlyBody": "Até este ponto o script não executou um único comando modificando. Você pode deixar a análise aberta, copiar os comandos sed sugeridos e aplicá-los manualmente se preferir — ou aceitar o próximo prompt para inserir o reparo guiado."
+ },
+ "step2": {
+ "heading": "Passo 2: reparação guiada (5 passos)",
+ "intro": "Só se inicia se aceitar a proposta no fim da análise. Cada passo mostra o que vai acontecer e pede confirmação antes de continuar.",
+ "steps": [
+ {
+ "title": "1. Cópia de segurança",
+ "body": "Copia /etc/network/interfaces para /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. O caminho exato de backup é mostrado antes da cópia e novamente depois, com o comando rollback.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Rever a configuração actual",
+ "body": "Abre o /etc/network/interfaces ao vivo numa janela de rolagem para que possa ver exactamente o que está prestes a ser alterado.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Antever as alterações propostas",
+ "body": "Lista exatamente os bridges afetados e as substituições de portas previstas. Se já não for necessária reparação porque a porta reapareceu entre as verificações, o processo termina com «Não são necessárias alterações.»",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Aplicar alterações",
+ "body": "Para cada ponte afetada, executa sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\" contra /etc/network/interfaces. Se uma ponte não tiver nenhuma substituição válida disponível, a substituição é ignorada e relatada na etapa 5.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Verificação",
+ "body": "Lê novamente o ficheiro e confirma a existência da nova porta de cada bridge. Mostra o comando para reverter (cp <backup> /etc/network/interfaces). Por fim propõe Reiniciar a rede — aceite apenas se tiver acesso de reserva à consola.",
+ "tone": "emerald"
+ }
+ ],
+ "restartTitle": "Reiniciar a rede ≠ anular sem risco",
+ "restartBody": "A reparação é gravada no disco mesmo que não reinicie o serviço. systemctl restart networking aplica a alteração agora e pode interromper a sessão SSH se a nova porta estiver errada. Se recusar, a alteração entra na mesma em vigor no próximo arranque — confirme primeiro a configuração ou reverta com o comando apresentado."
+ },
+ "edits": {
+ "heading": "O que é editado (exatamente)",
+ "body": "Apenas a linha bridge-ports de cada bridge afetado. As outras diretivas (address, netmask, gateway, bridge-stp, …) ficam intactas. Neste procedimento o script não cria nem remove blocos iface — isso cabe à Análise de configuração & limpeza."
+ },
+ "troubleshoot": {
+ "heading": "Resolução de Problemas",
+ "unsupportedTitle": "A análise para com «Pilha de rede não suportada»",
+ "unsupportedBody": "O host usa netplan, systemd-networkd ou NetworkManager. A ferramenta só suporta /etc/network/interfaces. Mude primeiro o host para a pilha clássica ou altere a configuração com as ferramentas nativas do gestor (por exemplo netplan apply).",
+ "noSuggestTitle": "Nenhuma sugestão é impressa para uma porta inválida",
+ "noSuggestBody": "O host tem zero interfaces físicas livres (tudo já está em outra ponte ou não existe). A análise remonta a sugerir bridge-ports none para que a ponte possa pelo menos subir sem um porto. Adicionar um NIC ou migrar portas entre pontes manualmente antes de repetir.",
+ "stillDownTitle": "O reparo completa, mas a ponte ainda está em baixo",
+ "stillDownBody": "sed atualizou o arquivo, mas systemctl restart networking foi recusado. Execute-o manualmente assim que a nova configuração for verificada, ou reinicie. Se o reinício foi aceito e a ponte ainda estiver baixa, execute ip link show para confirmar a nova porta existe, em seguida, verifique journalctl -u networking para o erro real (cabo desconectado, link não negociado, porto já um membro de outra ponte).",
+ "lostSshTitle": "Perdi o acesso SSH logo após reiniciar a rede",
+ "lostSshIntro": "Use console / IPMI / iKVM para chegar ao host. Restaurar o backup:",
+ "lostSshOutro": "Em seguida, re-execute a análise do console para descobrir por que a sugestão não funcionou (normalmente: a porta de substituição não está realmente conectada)."
+ },
+ "related": {
+ "heading": "Relacionado",
+ "items": [
+ {
+ "label": "Nomes de interface persistentes",
+ "href": "/docs/network/persistent-names",
+ "tail": " — atribuir nomes aos endereços MAC para que este cenário deixe de acontecer."
+ },
+ {
+ "label": "Análise de configuração e limpeza guiada",
+ "href": "/docs/network/config-analysis",
+ "tailRich": " — para os blocos iface órfãos (a outra metade do mesmo problema)."
+ },
+ {
+ "label": "Cópia de segurança e reinício das interfaces",
+ "href": "/docs/network/backup-restore",
+ "tail": " — instantâneos manuais e o navegador de restauração."
+ }
+ ]
+ }
+}
diff --git a/web/messages/pt/docs/network/config-analysis.json b/web/messages/pt/docs/network/config-analysis.json
new file mode 100644
index 00000000..b165f844
--- /dev/null
+++ b/web/messages/pt/docs/network/config-analysis.json
@@ -0,0 +1,122 @@
+{
+ "meta": {
+ "title": "Análise de configuração e limpeza guiada | Documentação ProxMenux",
+ "description": "Deteta blocos iface em /etc/network/interfaces que referem placas de rede físicas já ausentes do host. Apresenta-os e propõe uma remoção guiada em 5 passos com cópia de segurança obrigatória e pré-visualização de cada bloco.",
+ "ogTitle": "Análise de configuração e limpeza guiada | Documentação ProxMenux",
+ "ogDescription": "Encontrar e remover blocos de interface órfão deixados para trás por mudanças de hardware, com visualização completa e rollback."
+ },
+ "header": {
+ "title": "Análise de configuração e limpeza guiada",
+ "description": "Examina cada bloco iface em /etc/network/interfaces e verifica se a placa de rede física correspondente ainda existe. Apresenta os blocos órfãos deixados por alterações de hardware e propõe uma remoção guiada com cópia de segurança, pré-visualização e confirmação de cada bloco.",
+ "section": "Rede"
+ },
+ "intro": {
+ "title": "O que isto faz",
+ "body": "Identifica declarações iface cuja NIC de apoio não está mais presente no host (típico após a substituição ou remoção de uma placa de rede). Em seguida, oferece uma limpeza guiada que remove apenas os blocos órfãos, com um backup, uma visualização por seção e uma confirmação final explícita."
+ },
+ "differs": {
+ "heading": "Como difere da análise da ponte",
+ "headerAspect": "Aspecto",
+ "headerBridge": "Análise da ponte",
+ "headerConfig": "Análise de configuração",
+ "rows": [
+ {
+ "aspect": "Olha para",
+ "bridge": "Pontes (vmbrX) e sua linha bridge-ports",
+ "config": "Cada bloco iface, excluindo loopback, bridges e bonds"
+ },
+ {
+ "aspect": "Detecta",
+ "bridge": "Bridges que referem uma porta inexistente",
+ "config": "Blocos de interface independentes para NICs que não existem"
+ },
+ {
+ "aspect": "Acção de reparação",
+ "bridge": "Substitui o nome do porto em bridge-ports",
+ "config": "Remove todo o bloco iface"
+ },
+ {
+ "aspect": "Exclui",
+ "bridge": "Nada — cada ponte é analisada",
+ "config": "Bridges (vmbrX) e bonds (bondX) são sempre mantidos, pois são virtuais e a sua ausência durante o arranque pode ser normal"
+ }
+ ],
+ "outro": "Na prática, usam-se frequentemente ambas por esta ordem: primeiro a análise de configuração para remover blocos órfãos, depois a análise de bridges para reatribuir os bridges que dependiam da interface removida."
+ },
+ "step1": {
+ "heading": "Passo 1: análise (somente leitura)",
+ "intro": "Aborta imediatamente se a máquina não estiver na pilha clássica. Caso contrário, lista todas as interfaces não- loopback configuradas e reporta o seu estado:",
+ "virtTitle": "As interfaces virtuais estão protegidas",
+ "virtBody": "Bridges (vmbrX) e bonds (bondX) são estruturas virtuais. Podem legitimamente não existir no momento da inspeção, como um bridge ainda sem portas. A análise nunca propõe removê-los — apenas placas de rede físicas."
+ },
+ "step2": {
+ "heading": "Passo 2: limpeza guiada (5 passos)",
+ "intro": "Só se inicia se aceitar a proposta no fim da análise. Cada passo exige confirmação; cancelar em qualquer ponto termina sem escrever.",
+ "steps": [
+ {
+ "title": "1. Cópia de segurança",
+ "body": "Copia /etc/network/interfaces para /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Caminho mostrado antes e depois.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Confirmar a lista de remoção",
+ "body": "Lista exatamente os blocos de interfaces físicas a remover. Se as placas de rede reaparecerem entre a análise e a limpeza, por exemplo após voltar a inserir uma placa, o processo termina com «Não é necessária limpeza.»",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Visualizar o( s) bloco( s) exato( s)",
+ "body": "Abre uma vista com deslocamento de cada bloco iface que seria eliminado, exatamente como está no ficheiro. É a altura de identificar, por exemplo, um hook up que queira preservar.",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Aplicar remoção",
+ "body": "Para cada interface órfã, executa sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces. Isso apaga da linha iface correspondente até a próxima linha em branco.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Verificação",
+ "body": "Lê novamente o ficheiro, lista o que foi removido e verifica as interfaces restantes. Mostra o comando para reverter. Não reinicia a rede automaticamente — remover um bloco não usado pode ser aplicado em segurança no próximo reinício, evitando alterar o estado ativo.",
+ "tone": "emerald"
+ }
+ ],
+ "noRestartTitle": "Não reinicia automaticamente a rede",
+ "noRestartBody": "Ao contrário do reparo de ponte, o fluxo de limpeza não oferece para reiniciar o serviço. Remover um bloco de interface não utilizado não tem efeito imediato na configuração em execução, então uma reinicialização é desnecessária e seria um risco desnecessário de conectividade. A mudança produz efeito no próximo manual systemctl restart networking ou na próxima reinicialização."
+ },
+ "caveats": {
+ "heading": "Advertências importantes",
+ "boundaryTitle": "O limite do bloco é a primeira linha em branco",
+ "boundaryBody": "O padrão sed elimina desde iface <name> até à próxima linha vazia. Se /etc/network/interfaces não tiver linhas vazias entre blocos, algo raro mas possível após edição manual, o bloco seguinte também pode ser eliminado. Por isso, o passo 3 é obrigatório: reveja a pré-visualização antes de confirmar.",
+ "tandemTitle": "Um bloco iface órfão usado por um bridge é detetado aqui, não na análise de bridges",
+ "tandemBody": "Se vmbr0 declarar bridge-ports enp3s0 e enp3s0 também tiver o seu bloco iface enp3s0 inet manual, remover enp3s0 aqui deixa uma referência inválida em vmbr0. Após a limpeza, execute a análise de bridges para reatribuir ou remover a porta do bridge. Os dois procedimentos foram concebidos para uso conjunto."
+ },
+ "troubleshoot": {
+ "heading": "Resolução de Problemas",
+ "notFoundTitle": "A análise mostra o meu novo NIC como \"NÃO ENCONTRADO\"",
+ "notFoundBody": "O kernel vê o dispositivo com um nome diferente do que está no ficheiro. Execute ip link show para obter o nome real. É precisamente um caso em que os nomes persistentes das interfaces evitariam o problema no futuro.",
+ "tooMuchTitle": "A limpeza removeu demasiado, incluindo um bloco que queria manter",
+ "tooMuchBody": "Restaurar a partir do backup impresso na etapa 5:",
+ "tooMuchOutro": "Edite o arquivo manualmente para adicionar uma linha em branco clara entre os blocos antes de repetir a limpeza ou remover o bloco problemático manualmente.",
+ "bridgeBreakTitle": "Uma ponte pára de funcionar após a limpeza",
+ "bridgeBreakBody": "O bridge dependia de uma porta cujo bloco iface foi removido. Execute a análise de bridges e a sugestão associará o bridge a uma interface física existente."
+ },
+ "related": {
+ "heading": "Relacionado",
+ "items": [
+ {
+ "label": "Análise de ponte e reparo guiado",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — o acompanhamento natural após uma limpeza."
+ },
+ {
+ "label": "Nomes de interface persistentes",
+ "href": "/docs/network/persistent-names",
+ "tail": " — impede a acumulação de blocos órfãos após cada mudança de hardware."
+ },
+ {
+ "label": "Cópia de segurança e reinício das interfaces",
+ "href": "/docs/network/backup-restore",
+ "tail": " — instantâneos manuais e o navegador de restauração."
+ }
+ ]
+ }
+}
diff --git a/web/messages/pt/docs/network/diagnostics.json b/web/messages/pt/docs/network/diagnostics.json
new file mode 100644
index 00000000..b7d2abd0
--- /dev/null
+++ b/web/messages/pt/docs/network/diagnostics.json
@@ -0,0 +1,94 @@
+{
+ "meta": {
+ "title": "Diagnósticos | Documentação ProxMenux",
+ "description": "Três diagnósticos pontuais só de leitura: Mostrar tabela de encaminhamento, Testar conectividade e Diagnósticos avançados. Apenas inspeção — nunca escreve em /etc/network/interfaces nem executa comandos de alteração, com uma exceção explícita que exige a sua aceitação: purgar o NetworkManager, caso seja detetado.",
+ "ogTitle": "Diagnósticos | Documentação ProxMenux",
+ "ogDescription": "Diagnósticos de rede somente leitura para o host Proxmox: roteamento, acessibilidade, estatísticas avançadas."
+ },
+ "header": {
+ "title": "Diagnósticos",
+ "description": "Três verificações pontuais só de leitura do estado atual da rede: tabela de encaminhamento, teste de conectividade e estatísticas avançadas. Nenhuma escreve em /etc/network/interfaces — são seguras a qualquer momento, incluindo por SSH. Para monitorização interativa em tempo real, consulte Ferramentas de monitorização em tempo real.",
+ "section": "Rede"
+ },
+ "intro": {
+ "title": "O que isto faz",
+ "body": "Apresenta informações de encaminhamento, acessibilidade e estatísticas agregadas sem modificar nada. Use para confirmar que a rede funciona ou identificar IPs duplicados. Para observar o tráfego continuamente, consulte Ferramentas de monitorização em tempo real; para ver o ficheiro de configuração em bruto, consulte Cópia de segurança e reinício das interfaces."
+ },
+ "routing": {
+ "heading": "Mostrar tabela de roteamento",
+ "body": "Lista todas as rotas que o kernel usa atualmente (ip route show) e destaca o gateway padrão. Útil para confirmar que o tráfego para a internet sai através da interface esperada e que nenhuma rota restante está tendo precedência."
+ },
+ "connectivity": {
+ "heading": "Testar conectividade",
+ "intro": "Envia duas sondas ICMP para três alvos em sequência e reporta cada um. Em seguida, executa um nslookup google.com para verificar a resolução DNS independentemente do ICMP.",
+ "headerTest": "Teste",
+ "headerTarget": "Alvo",
+ "headerConfirms": "O que confirma",
+ "rows": [
+ {
+ "test": "DNS do Google",
+ "target": "8.8.8.8",
+ "confirms": "Alcance externo através de um conhecido IP anycast"
+ },
+ {
+ "test": "Cloudflare DNS",
+ "target": "1.1.1.1",
+ "confirms": "Segunda opinião independente se o Google bloquear ICMP"
+ },
+ {
+ "test": "Gateway",
+ "target": "(rota padrão)",
+ "confirms": "Conectividade L2 / L3 com o roteador local"
+ },
+ {
+ "test": "Resolução DNS",
+ "target": "google.com",
+ "confirms": "O servidor DNS está acessível e responde"
+ }
+ ],
+ "readingTitle": "Lendo o resultado",
+ "readingBody": "Se o teste do gateway passar mas os destinos DNS públicos falharem, tem conectividade local mas não tem Internet — verifique a ligação a montante do gateway. Se a resolução DNS falhar mas os pings para 8.8.8.8 tiverem sucesso, o problema está no resolvedor, não na rede: verifique /etc/resolv.conf."
+ },
+ "advanced": {
+ "heading": "Diagnóstico Avançado",
+ "intro": "Agrega estatísticas em toda a rede e executa uma bateria de verificações de questões comuns. Relata as contagens de conexão ativa, portas de escuta, interfaces totais e sinaliza dois anti- padrões explicitamente:",
+ "items": [
+ "NetworkManager em execução num host Proxmox. O NetworkManager e o ifupdown do Proxmox entram em conflito: ambos tentam gerir as interfaces, tornando os bridges instáveis ou impedindo a sua ativação. Se for detetado, a ferramenta pede confirmação interativa para o parar, desativar e purgar (é o único diagnóstico que pode modificar o sistema, e só após consentimento explícito).",
+ "Endereços IP duplicados em diferentes interfaces. Duas interfaces com o mesmo IPv4 causam conectividade intermitente extremamente difícil de depurar de dentro do VM. Detectado através de ip -4 addr show | sort | uniq -d."
+ ],
+ "nmTitle": "O prompt NetworkManager é a única ação modificadora aqui",
+ "nmBody": "Todas as outras verificações dos diagnósticos avançados são só de leitura. A remoção do NetworkManager exige confirmação sim/não e executa systemctl stop / disable + apt-get purge -y network-manager. Se recusar, nada muda."
+ },
+ "troubleshoot": {
+ "heading": "Resolução de Problemas",
+ "gwTitle": "Testar conectividade indica uma falha do gateway, mas o host tem acesso à Internet",
+ "gwBody": "Alguns routers não respondem a ICMP na interface interna mesmo quando encaminham corretamente o tráfego. Teste com traceroute 8.8.8.8 numa consola: se o segundo salto for o seu ISP e o teste de DNS público tiver passado, o gateway está a funcionar apesar do ping falhado.",
+ "dupTitle": "Diagnóstico avançado continua sinalizando IPs duplicados depois que eu removi um",
+ "dupBody": "A verificação olha para o estado do kernel ao vivo, não para o arquivo de configuração. Executar ip -4 addr show para confirmar; se a duplicata ainda estiver presente, uma interface ainda está segurando-a. Use ip addr del <IP>/<mask> dev <iface> para removê-lo do estado ao vivo, em seguida, edite /etc/network/interfaces se ele também é persistente."
+ },
+ "related": {
+ "heading": "Relacionado",
+ "items": [
+ {
+ "label": "Ferramentas de monitorização ao vivo",
+ "href": "/docs/network/monitoring",
+ "tail": " — lançadores interativos iftop / iptraf-ng / iperf3."
+ },
+ {
+ "label": "Análise de ponte e reparo guiado",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — quando um vmbrX não tem a sua porta física."
+ },
+ {
+ "label": "Análise de configuração e limpeza guiada",
+ "href": "/docs/network/config-analysis",
+ "tail": " — quando uma NIC antiga é ainda declarada, mas já não está presente."
+ },
+ {
+ "label": "Cópia de segurança e reinício das interfaces",
+ "href": "/docs/network/backup-restore",
+ "tail": " — para criar uma cópia da configuração antes de qualquer alteração."
+ }
+ ]
+ }
+}
diff --git a/web/messages/pt/docs/network/index.json b/web/messages/pt/docs/network/index.json
new file mode 100644
index 00000000..ab44ee7e
--- /dev/null
+++ b/web/messages/pt/docs/network/index.json
@@ -0,0 +1,107 @@
+{
+ "meta": {
+ "title": "Gestão de rede Proxmox — Bridges, bonds, diagnóstico, reparação | ProxMenux",
+ "description": "Diagnósticos só de leitura, análises seguidas de sugestões e reparações guiadas para a pilha de rede Debian / Proxmox (/etc/network/interfaces). Inspecione bridges e bonds, execute ferramentas de monitorização em tempo real, torne persistentes os nomes das interfaces, crie cópias de segurança e reinicie a rede em segurança — com cópias obrigatórias e pré-visualizações passo a passo.",
+ "ogTitle": "Gestão de rede Proxmox — Bridges, bonds, diagnóstico, reparação",
+ "ogDescription": "Diagnósticos, análise e reparos guiados para a pilha de rede Proxmox com backups obrigatórios e pré-visualizações passo a passo.",
+ "twitterTitle": "Gestão de rede Proxmox | ProxMenux",
+ "twitterDescription": "Bridges, bonds, diagnósticos e reparações guiadas para a pilha de rede Proxmox com cópias de segurança obrigatórias."
+ },
+ "header": {
+ "title": "Gerenciamento de rede",
+ "description": "Diagnósticos só de leitura, relatórios de análise com sugestões e reparações guiadas para a pilha de rede clássica Debian/Proxmox. Cada operação destrutiva cria primeiro uma cópia de segurança e mostra as alterações exatas antes de as aplicar.",
+ "section": "Rede"
+ },
+ "intro": {
+ "title": "Para que serve este menu",
+ "body": "Inspecione, diagnostique e, quando necessário, repare a configuração de rede do host Proxmox sem perder o acesso remoto. As ferramentas seguem um princípio: ler primeiro, propor e só depois aplicar com consentimento explícito e uma cópia de segurança. Não existe um botão «Corrigir tudo automaticamente»."
+ },
+ "openingMenu": {
+ "heading": "Abrir o menu",
+ "intro": "No menu principal do ProxMenux, selecione Rede. Verá o seguinte:",
+ "imageAlt": "Menu de gerenciamento de rede com diagnósticos, monitoramento, análise, reparo, nomes persistentes e opções de backup"
+ },
+ "safety": {
+ "heading": "O modelo de segurança",
+ "body": "Editar a configuração de rede de um host Proxmox remoto é uma das formas mais fáceis de perder o acesso. O ProxMenux tem isso em conta em cada ação. As ferramentas dividem-se em três níveis de comportamento — escolha o cartão que corresponde ao seu objetivo:"
+ },
+ "tiers": {
+ "readOnly": {
+ "title": "Somente leitura",
+ "body": "Inspecção pura. Não é possível modificar o sistema em nenhuma circunstância.",
+ "items": [
+ "Tabela de roteamento, testes de conectividade, estatísticas avançadas",
+ "Monitorização do tráfego ao vivo (iftop, iptraf-ng)",
+ "Teste de largura de banda (iperf3)"
+ ]
+ },
+ "analyze": {
+ "title": "Analisar, então sugerir",
+ "body": "Detecta problemas, imprime um relatório com comandos de shell propostos e pára. Você decide se deve entrar na reparação guiada depois.",
+ "items": [
+ "Análise de configuração da ponte",
+ "Análise da configuração da rede"
+ ]
+ },
+ "apply": {
+ "title": "Aplicar com backup",
+ "body": "Modifica o sistema. Cria sempre primeiro uma cópia de segurança do ficheiro afetado com data e hora e mostra uma pré-visualização antes de escrever.",
+ "items": [
+ "Nomes de interface persistentes (ficheiros .link)",
+ "Backup manual, restauração e reinício do serviço"
+ ]
+ }
+ },
+ "classicTitle": "Apenas a pilha clássica",
+ "classicBody": "Cada função de análise e reparo verifica o gerenciador de rede ativo antes de tocar em qualquer coisa. Se o host executar netplan, systemd-networkd ou NetworkManager, a ferramenta aborta imediatamente com uma mensagem clara — o menu só suporta a pilha Debian/Proxmox clássica no /etc/network/interfaces. Isto é intencional: editar um arquivo netplan com regras escritas para ifupdown iria silenciosamente corromper a configuração.",
+ "backups": {
+ "heading": "Para onde vão os backups",
+ "intro": "Cada reparação guiada, restauro ou cópia de segurança manual grava uma cópia de /etc/network/interfaces com data e hora em /var/backups/proxmenux/:",
+ "rollbackIntro": "Para repor manualmente a configuração anterior a partir de uma consola:"
+ },
+ "readOnlySection": {
+ "heading": "Inspeção somente de leitura",
+ "body": "O ponto de partida quando algo parece errado. Apenas inspeção — nunca escreve em /etc/network/interfaces nem executa comandos que alterem o sistema, com uma única exceção explícita que exige a sua aceitação: purgar o NetworkManager, caso seja detetado. Pode ser usado em segurança por SSH a qualquer momento.",
+ "options": [
+ {
+ "title": "Diagnósticos",
+ "description": "Três verificações pontuais só de leitura: Mostrar tabela de encaminhamento, Testar conectividade e Diagnósticos avançados. Apenas inspeção — nunca escreve no sistema."
+ },
+ {
+ "title": "Ferramentas de monitorização ao vivo",
+ "description": "Três lançadores interativos: iftop (largura de banda em tempo real por par host), iptraf-ng (monitor de tráfego multimodo) e iperf3 (teste de largura de banda, servidor / modo cliente)."
+ }
+ ]
+ },
+ "analyzeSection": {
+ "heading": "Analisar, então sugerir",
+ "body": "Usadas quando uma inspeção ou uma falha real aponta para um problema de configuração. Cada ferramenta examina a parte relevante de /etc/network/interfaces, apresenta um relatório detalhado com o comando exato de shell que corrigiria cada problema e para. Se aceitar depois a reparação guiada opcional, é criada uma cópia de segurança antes de cada alteração, que também é pré-visualizada antes da escrita.",
+ "options": [
+ {
+ "title": "Análise de ponte e reparo guiado",
+ "description": "Deteta bridges vmbrX com portas em falta ou inválidas, algo típico após a reenumeração PCI. Mostra primeiro um relatório e só repara quando aceita o procedimento guiado de 5 passos."
+ },
+ {
+ "title": "Análise de configuração e limpeza guiada",
+ "description": "Encontra interfaces físicas declaradas em /etc/network/interfaces que já não existem (configurações órfãs deixadas por mudanças de hardware). Comunica-os e oferece uma remoção guiada."
+ }
+ ]
+ },
+ "applySection": {
+ "heading": "Aplicar com backup",
+ "body": "Estas ferramentas escrevem no disco por natureza. Cada uma cria primeiro uma cópia de segurança do ficheiro afetado com data e hora, e as opções destrutivas, como restauro e reinício, exigem confirmação explícita sim/não. Os nomes persistentes das interfaces entram em vigor no próximo reinício, não de imediato, pelo que a sua configuração pode ser agendada em segurança mesmo num host remoto.",
+ "options": [
+ {
+ "title": "Nomes de interface persistentes",
+ "description": "Associa os nomes das interfaces (eno1, enp3s0, …) aos endereços MAC através de ficheiros .link do systemd. Os nomes mantêm-se após mudanças de slot PCI, atualizações do kernel e adição ou remoção de outras placas de rede."
+ },
+ {
+ "title": "Cópia de segurança e reinício das interfaces",
+ "description": "Instantâneo manual do /etc/network/interfaces, navegar e restaurar backups anteriores, visualizar a configuração ao vivo e reiniciar o serviço de rede quando necessário."
+ }
+ ]
+ },
+ "consoleTitle": "Tenha acesso à consola preparado",
+ "consoleSubTitle": "Antes de qualquer reparação em uma máquina remota",
+ "consoleBody": "Se estiver ligado por SSH e tiver apenas um caminho de acesso ao host, prepare uma alternativa antes de alterar a rede: consola física / IPMI / iKVM ou outra máquina na mesma LAN. As reparações guiadas são seguras e oferecem sempre um comando para reverter as alterações, mas um bridge mal configurado ou uma ligação interrompida pode deixá-lo sem acesso até conseguir chegar à consola."
+}
diff --git a/web/messages/pt/docs/network/monitoring.json b/web/messages/pt/docs/network/monitoring.json
new file mode 100644
index 00000000..c1e8307b
--- /dev/null
+++ b/web/messages/pt/docs/network/monitoring.json
@@ -0,0 +1,136 @@
+{
+ "meta": {
+ "title": "Ferramentas de monitorização em tempo real | Documentação ProxMenux",
+ "description": "Três lançadores interativos de monitoramento de rede: iftop (largura de banda em tempo real por par host), iptraf-ng (monitor de tráfego multimodo) e iperf3 (teste de largura de banda, servidor / modo cliente). Cada um é instalado na primeira utilização.",
+ "ogTitle": "Ferramentas de monitorização em tempo real | Documentação ProxMenux",
+ "ogDescription": "Monitoramento de rede interativo e testes de largura de banda para o host Proxmox: iftop, iptraf-ng, iperf3."
+ },
+ "header": {
+ "title": "Ferramentas de monitorização ao vivo",
+ "description": "Três ferramentas interativas para observar a rede em tempo real e medir a largura de banda: iftop, iptraf-ng e iperf3. Cada uma é instalada automaticamente através do apt na primeira utilização, corre em primeiro plano e termina com a tecla indicada. Não alteram a configuração de rede do host; o iperf3 gera tráfego de teste.",
+ "section": "Rede"
+ },
+ "intro": {
+ "title": "O que isto faz",
+ "body": "Três ferramentas interativas de monitoramento, cada uma atrás de seu próprio menu. A primeira vez que você lança um, o pacote é instalado silenciosamente via apt-get. Lançamentos subsequentes começam instantaneamente. Nenhuma destas ferramentas modifica a configuração da rede host."
+ },
+ "when": {
+ "heading": "Quando utilizar qual",
+ "headerQuestion": "Pergunta",
+ "headerUse": "Usar",
+ "rows": [
+ {
+ "question": "Quem está saturando o link agora?",
+ "use": "iftop"
+ },
+ {
+ "question": "Qual é a distribuição por protocolo e que tamanhos de pacotes e fluxos TCP estão presentes?",
+ "use": "iptraf-ng"
+ },
+ {
+ "question": "Quanta largura de banda está disponível entre duas máquinas?",
+ "use": "iperf3"
+ }
+ ]
+ },
+ "iftop": {
+ "heading": "uso de rede em tempo real (iftop)",
+ "body": "Largura de banda em tempo real por par de hosts (origem ↔ destino) — como o top para o tráfego. Mostra os fluxos mais intensos no topo, com médias móveis de 2/10/40 segundos. A melhor ferramenta para responder a «porque está a minha ligação de saída saturada?».",
+ "exit": "Sair: prima q. O ProxMenux mostra um lembrete antes de iniciar.",
+ "keysTitle": "Teclas úteis no iftop",
+ "keysBody": "n alterna a consulta DNS, p mostra os números das portas, P pausa a visualização, t alterna a direção das linhas (enviado / recebido / ambos), 1/2/3 ordena pela média de 2 s / 10 s / 40 s. Lista completa em man iftop."
+ },
+ "iptraf": {
+ "heading": "ferramenta de monitoramento de rede (iptraf-ng)",
+ "intro": "Um monitor de tráfego com vários modos, controlado por menus. O iftop responde a «quem», enquanto o iptraf-ng responde a «o quê»: contagens de bytes e pacotes por protocolo, acompanhamento do estado das ligações TCP, histogramas de tamanho dos pacotes e atividade LAN por estação.",
+ "menuIntro": "No lançamento você recebe um menu de cinco opções:",
+ "headerMode": "Modo",
+ "headerUseFor": "Use-o para",
+ "rows": [
+ {
+ "mode": "Monitor de tráfego IP",
+ "useFor": "Lista em tempo real de fluxos TCP / UDP / ICMP / outros protocolos IP, com contadores de bytes e estado da ligação"
+ },
+ {
+ "mode": "Estatísticas gerais da interface",
+ "useFor": "Contagens agregadas de pacotes IPv4 / IPv6 / TCP / UDP / ICMP / não IP por placa de rede"
+ },
+ {
+ "mode": "Estatísticas de interface detalhadas",
+ "useFor": "O mesmo que acima, mas para uma interface, com tamanho de pacote e detalhe de taxa"
+ },
+ {
+ "mode": "Desagregações estatísticas",
+ "useFor": "Histograma de distribuição do tamanho do pacote, por porta TCP / UDP"
+ },
+ {
+ "mode": "Monitor de estação LAN",
+ "useFor": "Estatísticas de tráfego por MAC para o domínio de transmissão local"
+ }
+ ],
+ "exit": "Saída: pressione x de qualquer vista (ou Q do menu principal). O ProxMenux mostra uma janela de lembrete antes do lançamento.",
+ "logTitle": "Guardar capturas num ficheiro",
+ "logBody": "Cada modo oferece para registrar estatísticas capturadas para /var/log/iptraf-ng/. Útil se você precisar de um registro de um pico de tráfego — deixe-o em execução, faça log para arquivo, reveja o arquivo depois, em vez de tentar ler a tela ao vivo."
+ },
+ "iperf3": {
+ "heading": "Teste de largura de banda (iperf3)",
+ "intro1": "Mede o débito TCP real entre dois hosts. Ao contrário do iftop / iptraf-ng, que observam o tráfego existente, o iperf3 gera tráfego sintético para testar a ligação sob carga. Indispensável para perguntas como «a minha ligação 10 GbE atinge realmente 10 GbE?» ou «o estrangulamento está na placa de rede, no switch ou no armazenamento?».",
+ "intro2": "O iperf3 é uma ferramenta para dois hosts: um funciona como servidor, à escuta na porta TCP 5201, e o outro como cliente, que se liga, envia dados e mostra o débito. O ProxMenux pergunta qual o modo pretendido:",
+ "headerMode": "Modo",
+ "headerBehaviour": "Comportamento",
+ "headerCli": "CLI equivalente",
+ "rows": [
+ {
+ "mode": "Servidor",
+ "behaviour": "Escuta em TCP 5201 e imprime resultados para cada teste de entrada. Para em Ctrl+C.",
+ "cli": "iperf3 -s"
+ },
+ {
+ "mode": "Cliente",
+ "behaviour": "Pede o IP ou nome do servidor, liga-se, executa o teste predefinido de 10 segundos e mostra o relatório.",
+ "cli": "iperf3 -c "
+ }
+ ],
+ "workflowIntro": "Fluxo de trabalho típico para testar uma ligação 10 GbE entre duas máquinas Proxmox:",
+ "workflow": [
+ "No host A, abra o menu Rede → Teste de largura de banda (iperf3) → escolha Servidor.",
+ "No host B, abra a mesma entrada de menu → escolha Cliente → introduza o IP do host A.",
+ "Espere 10 segundos. Compare o débito apresentado com o máximo teórico da ligação."
+ ],
+ "sample": "Exemplo de saída do cliente:",
+ "flagsTitle": "Opções úteis para executar manualmente numa shell",
+ "flagsBody": "-t 60 teste mais longo (60s em vez de 10s padrão), -P 4 4 fluxos paralelos (satura mais rápido), -R direção reversa (servidor → cliente), -u -b 100M UDP teste em 100 Mbit/s (para medições de jitter / perda de pacotes), -p 5202 usar uma porta diferente (testes múltiplos em paralelo). man iperf3 para o conjunto completo.",
+ "firewallTitle": "Abrir a porta de firewall no servidor",
+ "firewallBody": "O servidor escuta por predefinição na porta TCP 5201. Se o executar num host Proxmox com firewall restritiva, ao nível do datacenter ou do host, permita ligações TCP 5201 de entrada a partir do IP do cliente durante o teste e volte a fechar a porta no fim. O mesmo se aplica a nftables / iptables em hosts físicos."
+ },
+ "install": {
+ "heading": "Primeiro lançamento instala o pacote",
+ "body": "Todos os três lançadores verificam o binário e executam o apt-get update -qq && apt-get install -y <pkg> se estiver em falta. A instalação é silenciosa: o menu pode aparecer congelado para 10–30 segundos na primeira vez. Lançamentos subsequentes começam instantaneamente."
+ },
+ "troubleshoot": {
+ "heading": "Resolução de Problemas",
+ "hangTitle": "A instalação fica bloqueada na primeira execução",
+ "hangBody": "O host não tem Internet ou os repositórios apt estão inacessíveis. Cancele com Ctrl+C, execute apt-get update manualmente para ver o erro real (DNS, assinatura do repositório, proxy, …) e volte ao menu.",
+ "refusedTitle": "Cliente iperf3: «unable to connect to server: Connection refused»",
+ "refusedBody": "Ou o servidor não está em execução, ou seu firewall bloqueia TCP 5201. Confirme no servidor: ss -tlnp | grep 5201 — deve mostrar iperf3 ouvindo. Se ouvir mas o cliente ainda falhar, verifique o caminho do firewall entre os dois hosts.",
+ "slowTitle": "O iperf3 apresenta um débito muito inferior à velocidade esperada da ligação",
+ "slowBody": "Causas comuns por ordem de probabilidade: (1) a CPU de um host limita o débito — tente iperf3 -c <target> -P 4 para usar vários núcleos; (2) o percurso passa por uma ligação mais lenta, como um switch gigabit entre duas placas 10 GbE; (3) MTU diferentes — verifique ip link show nas duas pontas; (4) offloading da placa de rede desativado — consulte o script da comunidade Disable NIC Offloading se tiver uma placa Intel e1000e.",
+ "noTrafficTitle": "iftop / iptraf-ng não mostram tráfego para uma máquina ocupada",
+ "noTrafficBody": "A captura padrão está na primeira interface detectada. Especifique o direito explicitamente a partir do shell: iftop -i vmbr0 ou iptraf-ng -i vmbr0. O lançador de menus usa o padrão; para interfaces não padrão, execute a partir de uma consola."
+ },
+ "related": {
+ "heading": "Relacionado",
+ "items": [
+ {
+ "label": "Diagnósticos",
+ "href": "/docs/network/diagnostics",
+ "tail": " — as verificações pontuais só de leitura (encaminhamento, conectividade e estatísticas avançadas)."
+ },
+ {
+ "label": "Análise de ponte e reparo guiado",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — quando o controlo revela que uma interface ou ponte não está a fazer o que deveria."
+ }
+ ]
+ }
+}
diff --git a/web/messages/pt/docs/network/persistent-names.json b/web/messages/pt/docs/network/persistent-names.json
new file mode 100644
index 00000000..ac215469
--- /dev/null
+++ b/web/messages/pt/docs/network/persistent-names.json
@@ -0,0 +1,130 @@
+{
+ "meta": {
+ "title": "Nomes de interface persistentes | Documentação ProxMenux",
+ "description": "Associe os nomes das interfaces Proxmox (eno1, enp3s0, …) aos endereços MAC através de ficheiros .link do systemd para os manter após a reenumeração PCI, atualizações do kernel e adição ou remoção de outras placas de rede.",
+ "ogTitle": "Nomes de interface persistentes | Documentação ProxMenux",
+ "ogDescription": "Impeça que os nomes das interfaces Proxmox mudem quando altera o hardware. Usa ficheiros .link do systemd associados ao endereço MAC."
+ },
+ "header": {
+ "title": "Nomes de interface persistentes",
+ "description": "Gera um ficheiro .link do systemd por placa de rede física para associar o nome atribuído pelo kernel ao endereço MAC da placa. Após a aplicação no próximo reinício, os nomes das interfaces mantêm-se estáveis ao adicionar, remover ou mudar placas PCIe de lugar.",
+ "section": "Rede"
+ },
+ "intro": {
+ "title": "O que isto faz",
+ "body": "Para cada NIC físico no host, escreve um pequeno arquivo sob /etc/systemd/network/10-<iface>.link que diz: \"o dispositivo com este MAC deve ser sempre chamado este nome\". systemd-udevd aplica a regra em cada inicialização, antes que ifupdown leia /etc/network/interfaces."
+ },
+ "problem": {
+ "heading": "O problema que isto resolve",
+ "intro": "O Linux deriva os nomes predefinidos das interfaces da topologia PCI — eno1 = integrada na placa principal, enp3s0 = placa no barramento PCI 3, slot 0, etc. O esquema de nomes é determinístico para a mesma disposição de hardware. Se a disposição mudar, os nomes mudam:",
+ "items": [
+ "Adicione um GPU na frente de um NIC existente → o número de barramento NIC pode mudar → alterações de nome.",
+ "Mudar uma placa para outro slot PCIe → o nome muda.",
+ "BIOS / UEFI atualização que re-enumera dispositivos → nomes podem mudar.",
+ "Substituir uma placa avariada pelo mesmo modelo noutro slot → o nome muda."
+ ],
+ "outro": "Após uma alteração destas, /etc/network/interfaces continua a referir o nome antigo; o bridge não se ativa e o host perde a rede. Configurar nomes persistentes impede que este cenário se repita."
+ },
+ "howWorks": {
+ "heading": "Como funciona",
+ "arrowLabel": "por NIC",
+ "nodes": {
+ "detectLabel": "Detetar placas de rede físicas",
+ "detectDetail": "ls /sys/class/net/\nexcluir vmbr / bond /\ndocker / veth / wireguard …",
+ "readLabel": "Ler cada MAC",
+ "readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
+ "writeLabel": "Gravar o ficheiro .link",
+ "writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
+ },
+ "minimalIntro": "Cada arquivo gerado é intencionalmente mínimo:",
+ "minimalOutro": "No arranque, o systemd-udevd identifica o dispositivo pelo MAC e atribui o nome pedido antes da intervenção de outros componentes (ifupdown, nomes predefinidos do kernel). O prefixo 10- garante que estas regras carregam cedo, antes do ficheiro predefinido 99-default.link."
+ },
+ "scope": {
+ "heading": "O que é escrito, o que é ignorado",
+ "headerType": "Tipo",
+ "headerBehaviour": "Comportamento",
+ "headerWhy": "Porquê?",
+ "rows": [
+ {
+ "type": "Placa de rede integrada / PCIe",
+ "behaviour": "Arquivo .link escrito",
+ "why": "Apoiado por um dispositivo PCI real — o caso em que a ferramenta se destina"
+ },
+ {
+ "type": "Wi-Fi (phy80211)",
+ "behaviour": "Arquivo .link escrito",
+ "why": "Tem um MAC real e beneficia da estabilidade do nome"
+ },
+ {
+ "type": "Pontes (vmbrX)",
+ "behaviour": "Ignorado",
+ "why": "Virtual; o nome vem do /etc/network/interfaces"
+ },
+ {
+ "type": "Bonds (bondX)",
+ "behaviour": "Ignorado",
+ "why": "Virtual; o nome do bond é definido pelo ifupdown"
+ },
+ {
+ "type": "veth / docker0 / br-XXXX",
+ "behaviour": "Ignorado",
+ "why": "Criados a pedido pelo Docker / LXC — não são hardware persistente"
+ },
+ {
+ "type": "tap / fwpr / fwln",
+ "behaviour": "Ignorado",
+ "why": "Criados a pedido pelo Proxmox para cada VM/CT"
+ },
+ {
+ "type": "WireGuard / Cilium / Tailscale",
+ "behaviour": "Ignorado",
+ "why": "Interfaces de software gerenciadas por seus próprios daemons"
+ }
+ ]
+ },
+ "safety": {
+ "heading": "Proteção: são criadas cópias de segurança dos ficheiros .link anteriores",
+ "intro": "Se /etc/systemd/network/ já contiver ficheiros .link de uma execução anterior ou de outra ferramenta, são copiados para um diretório de segurança com data e hora antes de gerar os novos:",
+ "outro": "Para voltar atrás: copie os arquivos de volta do diretório de backup e reinicie.",
+ "rebootTitle": "Faz efeito na próxima reinicialização, não imediatamente",
+ "rebootBody": "Alterações nos arquivos .link só se aplicam no arranque, quando o udev re-enumera dispositivos. A ferramenta informa que \"Alterações serão aplicadas após reiniciar\" por esta razão. Renomear uma interface ao vivo é arriscado e não tentado: um vmbr0 ativo com membros teria que ser reconfigurado atomicamente, por isso a operação é adiada para a próxima inicialização limpa."
+ },
+ "afterReboot": {
+ "heading": "Após a reinicialização",
+ "intro": "Uma vez que os nomes são fixados, o fluxo de trabalho para futuras mudanças de hardware é simples:",
+ "items": [
+ "Desligue, altere o hardware (adicione uma placa, mude de slot, …) e ligue novamente.",
+ "Cada NIC mantém seu nome anterior porque seu MAC corresponde a um arquivo .link.",
+ "Se um NIC é substituído (MAC diferente), ele recebe um nome padrão do kernel (enp<bus>s<slot>); execute novamente este menu para adicionar uma entrada .link para o MAC do novo cartão."
+ ]
+ },
+ "troubleshoot": {
+ "heading": "Resolução de Problemas",
+ "emptyTitle": "\"Nenhuma interface física encontrada\" após executar a ferramenta",
+ "emptyBody": "O kernel não vê interfaces baseadas em PCI / phy80211 no host. Confirme com ls -l /sys/class/net/ — cada entrada deve ter uma ligação simbólica device (PCI) ou uma entrada phy80211 (Wi-Fi). Se ambas faltarem numa placa de rede real, o controlador não está carregado.",
+ "noChangeTitle": "Após a reinicialização, os nomes não mudaram como esperado",
+ "noChangeBody": "Verifique se o arquivo está presente e bem formado: cat /etc/systemd/network/10-<iface>.link. Em seguida, verifique registros udev: journalctl -u systemd-udevd -b | grep -i link. Uma causa comum é um parâmetro antigo do kernel net.ifnames=0 que desativa inteiramente a nomeação previsível — remova-a do /etc/default/grub, execute o update-grub, reinicie.",
+ "undoTitle": "Quero anular os nomes persistentes",
+ "undoBody": "Ou delete os arquivos .link (rm /etc/systemd/network/10-*.link) ou restaure do diretório de backup gerado na execução anterior. Reiniciar para aplicar."
+ },
+ "related": {
+ "heading": "Relacionado",
+ "items": [
+ {
+ "label": "Análise de ponte e reparo guiado",
+ "href": "/docs/network/bridge-analysis",
+ "tailRich": " — o caminho de recuperação quando os nomes já mudaram."
+ },
+ {
+ "label": "Análise de configuração e limpeza guiada",
+ "href": "/docs/network/config-analysis",
+ "tail": " — para remover blocos órfãos deixados pelas mudanças de nomes."
+ },
+ {
+ "label": "Diagnósticos",
+ "href": "/docs/network/diagnostics",
+ "tailRich": " — confirme os novos nomes com Mostrar tabela de roteamento após reiniciar."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sk/docs/network/backup-restore.json b/web/messages/sk/docs/network/backup-restore.json
new file mode 100644
index 00000000..077fdfba
--- /dev/null
+++ b/web/messages/sk/docs/network/backup-restore.json
@@ -0,0 +1,110 @@
+{
+ "meta": {
+ "title": "Záloha a reštart rozhraní | Dokumentácia ProxMenux",
+ "description": "Ručné vytváranie snímok, prehliadanie a obnova záloh /etc/network/interfaces uložených v /var/backups/proxmenux/. Zahŕňa reštart sieťovej služby s potvrdením a rýchle zobrazenie aktuálnej konfigurácie.",
+ "ogTitle": "Záloha a reštart rozhraní | Dokumentácia ProxMenux",
+ "ogDescription": "Vytvorte snímku a obnovte sieťovú konfiguráciu Proxmox; reštartujte sieťovú službu s potvrdením."
+ },
+ "header": {
+ "title": "Záloha a reštart rozhraní",
+ "description": "Štyri nástroje pre /etc/network/interfaces: ručne vytvoriť snímku, zobraziť aktuálnu konfiguráciu, obnoviť predchádzajúcu zálohu s voliteľným náhľadom a reštartovať sieťovú službu s výslovným súhlasom. Používajú rovnaký záložný adresár ako opravy so sprievodcom.",
+ "section": "Sieť"
+ },
+ "intro": {
+ "title": "Čo to robí?",
+ "body": "Spravuje rovnaký adresár záloh ako opravy so sprievodcom (/var/backups/proxmenux/). Umožňuje vytvoriť ďalšiu snímku pred každou ručnou zmenou, prehliadať všetky existujúce zálohy a obnoviť ktorúkoľvek z nich — vždy s automaticky vytvorenou novou zálohou stavu pred obnovou ako druhou ochranou."
+ },
+ "shared": {
+ "heading": "Zdieľaný adresár zálohovania",
+ "intro": "Každá záloha vytvorená kdekoľvek v menu Sieť sa uloží na rovnaké miesto:",
+ "outro": "Názvy súborov sú časovo označené, zoradené podľa dátumu a nikdy neprepísané. Adresár je vytvorený pri prvom použití."
+ },
+ "show": {
+ "heading": "Zobraziť konfiguračný súbor siete",
+ "body": "Vypíše presný obsah /etc/network/interfaces do terminálu. Iba na čítanie. Užitočné na kontrolu pred zálohovaním alebo po obnove. Samostatný nástroj na porovnanie s predchádzajúcou zálohou neexistuje, takže najjednoduchšie je skontrolovať obsah aktuálneho súboru pohľadom."
+ },
+ "create": {
+ "heading": "Vytvoriť zálohu siete",
+ "body": "Skopíruje aktuálny /etc/network/interfaces do adresára záloh s novou časovou pečiatkou. To je všetko — bez analýzy, bez výziev, iba snímka.",
+ "whenTitle": "Kedy vytvoriť ručnú zálohu",
+ "whenBody": "Pred ručnou úpravou /etc/network/interfaces, pred inštaláciou balíka, ktorý môže meniť sieťový stack (napríklad NetworkManager alebo Open vSwitch), alebo pred zmenami hardvéru. Opravy so sprievodcom už vytvárajú snímky automaticky — táto možnosť je určená na ručné zásahy."
+ },
+ "restore": {
+ "heading": "Obnoviť sieť zo zálohy",
+ "intro": "Zobrazí všetky zálohy v /var/backups/proxmenux/ od najnovšej po najstaršiu a prevedie vás obnovou s bezpečnostnými opatreniami:",
+ "steps": [
+ {
+ "title": "1. Vybrať zálohu",
+ "body": "Menu zobrazí každú zálohu podľa jej časovej pečiatky. Ak neexistujú žiadne zálohy, postup sa ukončí s jasným hlásením.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Nepovinný náhľad",
+ "body": "Ponúkne otvorenie vybranej zálohy v posúvateľnom zobrazení pred potvrdením obnovy. Predvolená odpoveď je Áno — na vzdialenom hostiteľovi tento krok nevynechávajte.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Záloha pred obnovou",
+ "body": "Pred prepísaním /etc/network/interfaces vytvorí ďalšiu zálohu aktuálneho stavu. Obnova je sama osebe deštruktívna akcia, preto nová snímka pred obnovou umožní návrat, ak bola vybraná záloha nesprávna.",
+ "tone": "amber"
+ },
+ {
+ "title": "4. Použiť obnovenie",
+ "body": "Kopíruje vybranú zálohu cez /etc/network/interfaces. Zmena súboru je na disku; stav živého jadra stále odráža predchádzajúcu konfiguráciu.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Nepovinný reštart",
+ "body": "Pýta sa, či má teraz spustiť systemctl restart networking. Odmietnutím odložíte použitie zmeny na ďalší reštart.",
+ "tone": "emerald"
+ }
+ ],
+ "autoBackupTitle": "Obnova automaticky vytvorí vlastnú zálohu",
+ "autoBackupBody": "Výber Obnoviť sieť zo zálohy vždy vytvorí novú snímku aktuálnej konfigurácie pred jej prepísaním. Ak obnovíte nesprávnu zálohu, najnovší súbor v /var/backups/proxmenux/ obsahuje predchádzajúci stav."
+ },
+ "restart": {
+ "heading": "Reštartovať sieťovú službu",
+ "body": "Po potvrdení áno/nie spustí systemctl restart networking. Výsledok oznámi cez msg_ok / msg_error. Väčšina postupov v tomto menu ponúka vlastný reštart na konci. Táto možnosť slúži na reštart po ručnej úprave alebo po odmietnutí skôr ponúknutého reštartu.",
+ "warnTitle": "Zaručené krátke odpojenie; možné trvalé odpojenie",
+ "warnBody": "Reštart networking deaktivuje a znovu nastaví každé rozhranie deklarované v /etc/network/interfaces. Relácie SSH cez tieto rozhrania sa prerušia. Ak je nová konfigurácia neplatná, sieť sa neobnoví. Spustite to iba vtedy, keď:",
+ "warnItems": [
+ "Máte konzolu / IPMI / iKVM prístup pripravený, alebo",
+ "Ste fyzicky vedľa stroja, alebo",
+ "Práve ste úspešne obnovili overenú funkčnú konfiguráciu a chcete ju použiť."
+ ]
+ },
+ "manualRollback": {
+ "heading": "Ručné vrátenie zmien z konzoly",
+ "intro": "Ak nemôžete dosiahnuť menu (žiadne SSH, dialógové zrútenie, ...), ale môžete dosiahnuť konzolu, rollback je dva príkazy:",
+ "outro": "Ide o rovnakú operáciu, akú vykonáva menu, iba zadanú ručne. Ak sa networking stále nespustí, skontrolujte journalctl -u networking -b a zistite príčinu v syntaxi alebo ovládači."
+ },
+ "troubleshoot": {
+ "heading": "Riešenie problémov",
+ "noneTitle": "„Nenašli sa žiadne zálohy“ pri obnove",
+ "noneBody": "Adresár /var/backups/proxmenux/ neexistuje alebo neobsahuje súbory interfaces_backup_*. Aspoň raz spustite Vytvoriť zálohu siete alebo opravu so sprievodcom, ktorá vytvorí zálohu automaticky. Overte to cez ls /var/backups/proxmenux/.",
+ "unreachTitle": "Reštart siete prejde, ale hostiteľ je stále nedosiahnuteľný",
+ "unreachBody": "Nová konfigurácia je nesprávna alebo nepriraďuje vašu IP adresu na správu. Obnovte predchádzajúci stav z konzoly (pozri vyššie). Potom použite analýzu mostov a analýzu konfigurácie, aby ste pred opätovným použitím pochopili príčinu.",
+ "emptyTitle": "Náhľad obnovy zobrazuje prázdny súbor",
+ "emptyBody": "Záložný súbor je prázdny (0 bajtov). Stane sa to, ak kopírovanie počas predchádzajúceho spustenia nepozorovane zlyhalo. Vyberte staršiu zálohu alebo znovu spustite Vytvoriť zálohu siete, ak je aktuálna konfigurácia funkčná."
+ },
+ "related": {
+ "heading": "Súvisiace",
+ "items": [
+ {
+ "label": "Analýza mostov a oprava so sprievodcom",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — Najbežnejší dôvod, prečo tu končí záloha."
+ },
+ {
+ "label": "Analýza konfigurácie a čistenie so sprievodcom",
+ "href": "/docs/network/config-analysis",
+ "tailRich": " — tiež automaticky zapisuje do /var/backups/proxmenux/."
+ },
+ {
+ "label": "Diagnostika",
+ "href": "/docs/network/diagnostics",
+ "tail": " — na overenie aktuálneho stavu po obnove."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sk/docs/network/bridge-analysis.json b/web/messages/sk/docs/network/bridge-analysis.json
new file mode 100644
index 00000000..c4f7388b
--- /dev/null
+++ b/web/messages/sk/docs/network/bridge-analysis.json
@@ -0,0 +1,132 @@
+{
+ "meta": {
+ "title": "Analýza mostov a oprava so sprievodcom | Dokumentácia ProxMenux",
+ "description": "Zistí mosty vmbrX s chýbajúcimi alebo neplatnými fyzickými portmi, typicky po opätovnom číslovaní PCI. Nahlási ich s návrhmi príkazov shellu a ponúkne opravu so sprievodcom v 5 krokoch s povinnou zálohou.",
+ "ogTitle": "Analýza mostov a oprava so sprievodcom | Dokumentácia ProxMenux",
+ "ogDescription": "Skontrolujte a opravte porty mostov Proxmox po zmenách hardvéru pomocou postupu so sprievodcom a bezpečným vrátením zmien."
+ },
+ "header": {
+ "title": "Analýza mostov a oprava so sprievodcom",
+ "description": "Skontroluje každý most vmbrX deklarovaný v /etc/network/interfaces, overí existenciu fyzických portov a pri chýbajúcich ponúkne opravu krok za krokom. Analýza je iba na čítanie; oprava vyžaduje súhlas, zobrazí náhľad a vytvorí zálohu.",
+ "section": "Sieť"
+ },
+ "intro": {
+ "title": "Čo to robí?",
+ "body": "Prečíta každý most v /etc/network/interfaces, skontroluje jeho riadok bridge-ports a overí, či každý deklarovaný port, napríklad enp3s0, existuje na hostiteľovi. Ak port chýba, navrhne náhradu a s výslovným súhlasom použije zmenu postupom záloha, náhľad, použitie, overenie."
+ },
+ "when": {
+ "heading": "Keď to potrebujete",
+ "intro": "Linux prideľuje predvídateľné názvy rozhraní podľa topológie PCI a poradia slotov. Viaceré udalosti ich môžu zmeniť, takže /etc/network/interfaces odkazuje na názvy, ktoré už neexistujú:",
+ "items": [
+ "Pridanie alebo odstránenie PCIe karty (NIC, GPU, a HBA, nosič NVMe).",
+ "Presun existujúcej karty na iný PCIe slot.",
+ "Aktualizácie BIOS / UEFI, ktoré znovu číslujú zariadenia PCI.",
+ "Migrácia zavádzacieho disku na iný hardvér."
+ ],
+ "outro": "Po ďalšom štarte sa most pokúsi pripojiť k portu, ktorý už neexistuje, neaktivuje sa a hostiteľ stratí sieťové pripojenie. Trvalé názvy rozhraní zabránia opakovaniu tohto problému. Ak ste už stratili prístup, táto stránka opisuje postup obnovy."
+ },
+ "bigPicture": {
+ "heading": "Celkový prehľad",
+ "diagram1": {
+ "arrowLabel": "krok 1",
+ "nodes": {
+ "sourceLabel": "/etc/network/interfaces",
+ "sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
+ "bridgeLabel": "Analyzovať (iba na čítanie)",
+ "bridgeDetail": "ip link show enp3s0\n→ neexistuje",
+ "targetLabel": "Správa + návrh",
+ "targetDetail": "❌ enp3s0: NENÁJDENÉ\nNahradiť za: eno1\n(zatiaľ bez zmien)"
+ }
+ },
+ "diagram2": {
+ "arrowLabel": "aplikovať so zálohou",
+ "nodes": {
+ "sourceLabel": "Oprava so sprievodcom",
+ "sourceDetail": "1. Záloha\n2. Zobraziť aktuálny stav\n3. Náhľad zmien\n4. Použiť\n5. Overiť",
+ "targetLabel": "/etc/network/interfaces (nový)",
+ "targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
+ }
+ }
+ },
+ "step1": {
+ "heading": "Krok 1: analýza (iba na čítanie)",
+ "intro": "Po výbere Analyzovať konfiguráciu mostov sa nástroj okamžite zastaví, ak hostiteľ nepoužíva klasický stack Debian/Proxmox. Inak prejde každý most a nahlási:",
+ "items": [
+ "Názov mosta, aktuálny stav (UP / DOWN) a pridelená IP adresa.",
+ "Každý deklarovaný port a či v súčasnosti existuje (ip link show <port>).",
+ "Pre každý neplatný port: navrhovaná náhrada (prvé dostupné fyzické rozhranie) plus presný sed príkaz na manuálne použitie.",
+ "Mosty bez riadka bridge-ports a osirelé položky auto bez zodpovedajúceho bloku iface."
+ ],
+ "readonlyTitle": "Záruka režimu iba na čítanie",
+ "readonlyBody": "Až do tohto bodu skript nespustil žiadny príkaz meniaci systém. Analýzu môžete nechať otvorenú, skopírovať navrhnuté príkazy sed a použiť ich ručne, ak to uprednostňujete. Alebo prijmite nasledujúcu výzvu na spustenie opravy so sprievodcom."
+ },
+ "step2": {
+ "heading": "Krok 2: oprava so sprievodcom (5 krokov)",
+ "intro": "Spustí sa iba po prijatí výzvy na konci analýzy. Každý krok zobrazí plánovanú akciu a pred pokračovaním vyžiada potvrdenie.",
+ "steps": [
+ {
+ "title": "1. Bezpečnostná záloha",
+ "body": "Skopíruje /etc/network/interfaces do /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Presnú cestu zálohy zobrazí pred kopírovaním aj po ňom spolu s príkazom na vrátenie zmien.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Preskúmanie aktuálnej konfigurácie",
+ "body": "Otvorí aktuálny /etc/network/interfaces v posúvateľnom dialógu, aby ste presne videli, čo sa zmení.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Náhľad navrhovaných zmien",
+ "body": "Presne vypíše dotknuté mosty a plánované náhrady portov. Ak už oprava nie je potrebná, pretože sa port medzi kontrolami znovu objavil, postup sa ukončí hlásením „Nie sú potrebné žiadne zmeny.“",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Použiť zmeny",
+ "body": "Pre každý postihnutý most beží sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\" proti /etc/network/interfaces. Ak most nemal k dispozícii platnú náhradu, substitúcia sa preskočí a zaznamená v kroku 5.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Overovanie",
+ "body": "Znovu prečíta súbor a potvrdí, že nový port každého mosta existuje. Vypíše príkaz na vrátenie zmien (cp <backup> /etc/network/interfaces). Nakoniec ponúkne Reštartovať sieť — prijmite iba vtedy, ak máte náhradný prístup cez konzolu.",
+ "tone": "emerald"
+ }
+ ],
+ "restartTitle": "Reštart siete ≠ bezpečné vrátenie zmien",
+ "restartBody": "Oprava sa zapíše na disk bez ohľadu na reštart služby. systemctl restart networking použije zmenu teraz, čo môže prerušiť reláciu SSH, ak je nový port nesprávny. Ak reštart odmietnete, zmena sa aj tak prejaví pri ďalšom štarte. Najprv overte novú konfiguráciu alebo ju vráťte zobrazeným príkazom."
+ },
+ "edits": {
+ "heading": "Čo sa edituje (presne)",
+ "body": "Iba riadok bridge-ports každého dotknutého mosta. Ostatné direktívy (address, netmask, gateway, bridge-stp, …) zostávajú nezmenené. Skript v tomto postupe nevytvára ani neodstraňuje bloky iface — to je úloha analýzy konfigurácie & čistenia."
+ },
+ "troubleshoot": {
+ "heading": "Riešenie problémov",
+ "unsupportedTitle": "Analýza sa zastaví s hlásením „Nepodporovaný sieťový stack“",
+ "unsupportedBody": "Hostiteľ používa netplan, systemd-networkd alebo NetworkManager. Nástroj podporuje iba /etc/network/interfaces. Najprv prepnite hostiteľa na klasický stack alebo upravte konfiguráciu natívnymi nástrojmi správcu (napríklad netplan apply).",
+ "noSuggestTitle": "Pre neplatný port sa nevypíše žiadny návrh",
+ "noSuggestBody": "Hostiteľ nemá žiadne voľné fyzické rozhrania: všetky sú už v inom moste alebo neexistujú. Analýza preto navrhne bridge-ports none, aby sa most mohol aspoň aktivovať bez portu. Pred opätovným spustením pridajte sieťovú kartu alebo ručne presuňte porty medzi mostmi.",
+ "stillDownTitle": "Oprava sa skončila, ale most je stále dole",
+ "stillDownBody": "sed aktualizoval súbor, ale systemctl restart networking bol odmietnutý. Po overení novej konfigurácie ho spustite ručne alebo reštartujte systém. Ak bol reštart prijatý a most je stále DOWN, overte existenciu nového portu cez ip link show a skontrolujte journalctl -u networking pre skutočnú chybu: odpojený kábel, nevyjednané spojenie alebo port už patriaci do iného mosta.",
+ "lostSshTitle": "Stratila som prístup SSH hneď po reštarte siete",
+ "lostSshIntro": "Použite konzolu / IPMI / iKVM na dosiahnutie hostiteľa. Obnoviť zálohu:",
+ "lostSshOutro": "Potom znovu spustite analýzu z konzoly a zistite, prečo návrh nefungoval, typicky preto, že náhradný port nie je zapojený."
+ },
+ "related": {
+ "heading": "Súvisiace",
+ "items": [
+ {
+ "label": "Trvalé názvy rozhraní",
+ "href": "/docs/network/persistent-names",
+ "tail": " — priradí názvy k MAC adresám, aby sa problém neopakoval."
+ },
+ {
+ "label": "Analýza konfigurácie a čistenie so sprievodcom",
+ "href": "/docs/network/config-analysis",
+ "tailRich": " — Pre osirotené iface bloky (druhá polovica rovnakého problému)."
+ },
+ {
+ "label": "Záloha a reštart rozhraní",
+ "href": "/docs/network/backup-restore",
+ "tail": " — ručné snímky a prehliadanie záloh na obnovu."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sk/docs/network/config-analysis.json b/web/messages/sk/docs/network/config-analysis.json
new file mode 100644
index 00000000..819ef52f
--- /dev/null
+++ b/web/messages/sk/docs/network/config-analysis.json
@@ -0,0 +1,122 @@
+{
+ "meta": {
+ "title": "Analýza konfigurácie a čistenie so sprievodcom | Dokumentácia ProxMenux",
+ "description": "Zistí bloky iface v /etc/network/interfaces odkazujúce na fyzické sieťové karty, ktoré už nie sú na hostiteľovi. Nahlási ich a ponúkne odstránenie so sprievodcom v 5 krokoch s povinnou zálohou a náhľadom každého bloku.",
+ "ogTitle": "Analýza konfigurácie a čistenie so sprievodcom | Dokumentácia ProxMenux",
+ "ogDescription": "Nájdite a odstráňte osirelé bloky rozhraní, ktoré zostali po zmenách hardvéru, s úplným náhľadom a možnosťou vrátenia zmien."
+ },
+ "header": {
+ "title": "Analýza konfigurácie a čistenie so sprievodcom",
+ "description": "Prejde každý blok iface v /etc/network/interfaces a overí, či príslušná fyzická sieťová karta stále existuje. Nahlási osirelé bloky po zmenách hardvéru a ponúkne odstránenie so sprievodcom, zálohou, náhľadom a potvrdením každého bloku.",
+ "section": "Sieť"
+ },
+ "intro": {
+ "title": "Čo to robí?",
+ "body": "Identifikuje deklarácie iface, ktorých sieťová karta už nie je na hostiteľovi, typicky po výmene alebo odobratí karty. Potom ponúkne čistenie so sprievodcom, ktoré odstráni iba osirelé bloky, so zálohou, náhľadom každej sekcie a výslovným záverečným potvrdením."
+ },
+ "differs": {
+ "heading": "Ako sa líši od analýzy mosta",
+ "headerAspect": "Aspekt",
+ "headerBridge": "Analýza mosta",
+ "headerConfig": "Analýza konfigurácie",
+ "rows": [
+ {
+ "aspect": "Pozerá sa na",
+ "bridge": "Mosty (vmbrX) a ich riadok bridge-ports",
+ "config": "Každý blok iface okrem loopbacku, mostov a bondov"
+ },
+ {
+ "aspect": "Zisťuje",
+ "bridge": "Mosty odkazujúce na neexistujúci port",
+ "config": "Samostatné bloky rozhrania pre NIC, ktoré neexistujú"
+ },
+ {
+ "aspect": "Oprava",
+ "bridge": "Nahrádza názov portu v bridge-ports",
+ "config": "Odstráni celý blok iface"
+ },
+ {
+ "aspect": "Nezahŕňa",
+ "bridge": "Nič, každý most je analyzovaný",
+ "config": "Mosty (vmbrX) a bondy (bondX) sa vždy zachovajú, pretože sú virtuálne a ich neprítomnosť počas štartu môže byť normálna"
+ }
+ ],
+ "outro": "V praxi často použijete oba nástroje v tomto poradí: najprv analýzu konfigurácie na odstránenie osirelých blokov, potom analýzu mostov na nové priradenie mostov, ktoré používali odstránené rozhranie."
+ },
+ "step1": {
+ "heading": "Krok 1: analýza (iba na čítanie)",
+ "intro": "Okamžite sa zastaví, ak hostiteľ nepoužíva klasický sieťový stack. Inak zobrazí všetky nakonfigurované rozhrania okrem loopbacku a ich stav:",
+ "virtTitle": "Virtuálne rozhrania sú chránené",
+ "virtBody": "Mosty (vmbrX) a bondy (bondX) sú virtuálne konštrukcie. Pri kontrole môžu oprávnene chýbať, napríklad most bez portov. Analýza preto nikdy nenavrhuje ich odstránenie, iba odstránenie fyzických sieťových kariet."
+ },
+ "step2": {
+ "heading": "Krok 2: čistenie so sprievodcom (5 krokov)",
+ "intro": "Spustí sa iba po prijatí výzvy na konci analýzy. Každý krok vyžaduje potvrdenie; zrušením v ktoromkoľvek bode sa postup ukončí bez zápisu.",
+ "steps": [
+ {
+ "title": "1. Bezpečnostná záloha",
+ "body": "Skopíruje /etc/network/interfaces do /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Cestu zobrazí pred kopírovaním aj po ňom.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Potvrdenie zoznamu odstránenia",
+ "body": "Presne vypíše bloky fyzických rozhraní určené na odstránenie. Ak sa karty medzi analýzou a čistením znovu objavia, napríklad po opätovnom zasunutí, postup sa ukončí hlásením „Čistenie nie je potrebné.“",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Náhľad presných blokov",
+ "body": "Otvorí rolovací pohľad na každý blok iface, ktorý by bol vymazaný, doslovne zo súboru. Toto je chvíľa, kedy si môžete všimnúť napríklad zaujímavý up hák, ktorý chcete zachovať.",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Použiť odstránenie",
+ "body": "Pre každé sirotské rozhranie beží sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces. To odstráni zo zodpovedajúcej línie iface až do ďalšieho prázdneho riadku.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Overovanie",
+ "body": "Opätovne načíta súbor, vypíše, čo bolo odstránené, a znova skontroluje zostávajúce rozhrania. Vytlačí príkaz na vrátenie. nereštartuje automaticky sieť – odstránenie nepoužívaného bloku je bezpečné použiť pri ďalšom reštarte a nedotýka sa aktívneho stavu.",
+ "tone": "emerald"
+ }
+ ],
+ "noRestartTitle": "Nereštartuje sieť automaticky",
+ "noRestartBody": "Na rozdiel od opravy mostov čistenie neponúka reštart služby. Odstránenie nepoužívaného bloku rozhrania okamžite neovplyvní bežiacu konfiguráciu, takže reštart nie je potrebný a zbytočne by ohrozil pripojenie. Zmena sa prejaví pri ďalšom ručnom systemctl restart networking alebo pri ďalšom reštarte systému."
+ },
+ "caveats": {
+ "heading": "Dôležité upozornenia",
+ "boundaryTitle": "Hranica bloku je prvý prázdny riadok",
+ "boundaryBody": "Vzor sed odstráni obsah od iface <name> po ďalší prázdny riadok. Ak v /etc/network/interfaces chýbajú prázdne riadky medzi blokmi, čo je zriedkavé, ale možné po ručných úpravách, môže sa odstrániť aj nasledujúci blok. Preto je krok 3 povinný: pred potvrdením skontrolujte náhľad.",
+ "tandemTitle": "Osirelý blok iface používaný mostom sa zistí tu, nie pri analýze mostov",
+ "tandemBody": "Ak vmbr0 deklaruje bridge-ports enp3s0 a enp3s0 má aj vlastný blok iface enp3s0 inet manual, odstránenie enp3s0 tu ponechá neplatný odkaz v vmbr0. Po čistení spustite analýzu mostov na zmenu priradenia alebo odstránenie portu mosta. Oba postupy sú navrhnuté na spoločné použitie."
+ },
+ "troubleshoot": {
+ "heading": "Riešenie problémov",
+ "notFoundTitle": "Analýza zobrazuje moju novú sieťovú kartu ako „NENÁJDENÁ“",
+ "notFoundBody": "Jadro vidí zariadenie pod iným názvom, než je v súbore. Spustite ip link show a zistite skutočný názov. Presne v takomto prípade by trvalé názvy rozhraní zabránili problému v budúcnosti.",
+ "tooMuchTitle": "Čistenie odstránilo príliš veľa, aj blok, ktorý som chcel zachovať",
+ "tooMuchBody": "Obnovte stav zo zálohy uvedenej v kroku 5:",
+ "tooMuchOutro": "Pred opätovným spustením čistenia ručne upravte súbor a pridajte prázdny riadok medzi bloky alebo problematický blok odstráňte ručne.",
+ "bridgeBreakTitle": "Most prestane pracovať po vyčistení.",
+ "bridgeBreakBody": "Most používal port, ktorého blok iface sa práve odstránil. Spustite analýzu mostov a návrh priradí most k existujúcemu fyzickému rozhraniu."
+ },
+ "related": {
+ "heading": "Súvisiace",
+ "items": [
+ {
+ "label": "Analýza mostov a oprava so sprievodcom",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — prirodzený ďalší krok po čistení."
+ },
+ {
+ "label": "Trvalé názvy rozhraní",
+ "href": "/docs/network/persistent-names",
+ "tail": " — zabraňuje hromadeniu osirelých blokov po každej zmene hardvéru."
+ },
+ {
+ "label": "Záloha a reštart rozhraní",
+ "href": "/docs/network/backup-restore",
+ "tail": " — ručné snímky a prehliadanie záloh na obnovu."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sk/docs/network/diagnostics.json b/web/messages/sk/docs/network/diagnostics.json
new file mode 100644
index 00000000..1381afe4
--- /dev/null
+++ b/web/messages/sk/docs/network/diagnostics.json
@@ -0,0 +1,94 @@
+{
+ "meta": {
+ "title": "Diagnostika | Dokumentácia ProxMenux",
+ "description": "Tri jednorazové diagnostické kontroly iba na čítanie: Zobraziť smerovaciu tabuľku, Test pripojenia a Pokročilá diagnostika. Iba kontrola — nikdy nezapisuje do /etc/network/interfaces ani nespúšťa príkazy meniace systém, s jedinou výslovnou výnimkou: úplné odstránenie zisteného NetworkManager vyžaduje váš súhlas.",
+ "ogTitle": "Diagnostika | Dokumentácia ProxMenux",
+ "ogDescription": "Sieťová diagnostika iba na čítanie pre hostiteľa Proxmoxu: smerovanie, dosiahnuteľnosť, pokročilé štatistiky."
+ },
+ "header": {
+ "title": "Diagnostika",
+ "description": "Tri jednorazové kontroly aktuálneho stavu siete iba na čítanie: smerovacia tabuľka, test pripojenia a pokročilé štatistiky. Žiadna nezapisuje do /etc/network/interfaces — bezpečné použitie kedykoľvek, aj cez SSH. Pre interaktívne sledovanie v reálnom čase pozrite Nástroje na sledovanie v reálnom čase.",
+ "section": "Sieť"
+ },
+ "intro": {
+ "title": "Čo to robí?",
+ "body": "Zobrazuje informácie o smerovaní, dosiahnuteľnosti a súhrnných štatistikách bez akýchkoľvek zmien. Overte ním správne fungovanie siete alebo odhaľte duplicitné IP adresy. Na nepretržité sledovanie prevádzky pozrite Nástroje na sledovanie v reálnom čase; na zobrazenie nespracovaného konfiguračného súboru pozrite Záloha a reštart rozhraní."
+ },
+ "routing": {
+ "heading": "Zobraziť smerovaciu tabuľku",
+ "body": "Zobrazí všetky trasy aktuálne používané jadrom (ip route show) a zvýrazní predvolenú bránu. Umožňuje overiť, že prevádzka do internetu odchádza očakávaným rozhraním a žiadne zvyšné trasy nemajú prednosť."
+ },
+ "connectivity": {
+ "heading": "Otestovať pripojenie",
+ "intro": "Postupne odošle na každý z troch cieľov dve sondy ICMP a vypíše výsledky. Potom spustí nslookup google.com na overenie prekladu DNS nezávisle od ICMP.",
+ "headerTest": "Skúška",
+ "headerTarget": "Cieľ",
+ "headerConfirms": "Čo potvrdzuje",
+ "rows": [
+ {
+ "test": "Google DNS",
+ "target": "8.8.8.8",
+ "confirms": "Externá dosiahnuteľnosť cez známu IP adresu anycast"
+ },
+ {
+ "test": "Cloudflare DNS",
+ "target": "1.1.1.1",
+ "confirms": "Nezávislé druhé stanovisko, ak Google blokuje ICMP"
+ },
+ {
+ "test": "Brána",
+ "target": "(štandardná trasa)",
+ "confirms": "L2 / L3 pripojenie k miestnemu routeru"
+ },
+ {
+ "test": "Preklad DNS",
+ "target": "google.com",
+ "confirms": "DNS server je dosiahnuteľný a odpovedá"
+ }
+ ],
+ "readingTitle": "Čítanie výsledku",
+ "readingBody": "Ak test brány prejde, ale verejné servery DNS neodpovedajú, máte lokálne pripojenie, no nemáte internet — skontrolujte pripojenie brány smerom k poskytovateľovi. Ak preklad DNS zlyhá, ale ping na 8.8.8.8 funguje, problém je v resolveri, nie v sieti: skontrolujte /etc/resolv.conf."
+ },
+ "advanced": {
+ "heading": "Pokročilá diagnostika",
+ "intro": "Zhromažďuje štatistiky celej siete a vykonáva sériu kontrol bežných problémov. Hlási počet aktívnych pripojení, načúvajúce porty a celkový počet rozhraní a výslovne upozorňuje na dve nevhodné konfigurácie:",
+ "items": [
+ "NetworkManager beží na hostiteľovi Proxmox. NetworkManager a ifupdown systému Proxmox sú v konflikte: oba sa pokúšajú spravovať rozhrania, takže mosty opakovane menia stav alebo sa nedajú aktivovať. Ak sa zistí NetworkManager, nástroj ponúkne interaktívne potvrdenie jeho zastavenia, zakázania a úplného odstránenia (ide o jedinú diagnostiku, ktorá môže meniť systém, a to iba po výslovnom súhlase).",
+ "Duplicitné IP adresy na rôznych rozhraniach. Dve rozhrania s rovnakou IPv4 adresou spôsobujú občasné výpadky pripojenia, ktoré sa zvnútra VM veľmi ťažko diagnostikujú. Zisťujú sa cez ip -4 addr show | sort | uniq -d."
+ ],
+ "nmTitle": "Výzva pre NetworkManager je tu jedinou akciou, ktorá môže meniť systém",
+ "nmBody": "Všetky ostatné kontroly pokročilej diagnostiky sú iba na čítanie. Odstránenie NetworkManager vyžaduje potvrdenie áno/nie a spustí systemctl stop / disable + apt-get purge -y network-manager. Ak odmietnete, nič sa nezmení."
+ },
+ "troubleshoot": {
+ "heading": "Riešenie problémov",
+ "gwTitle": "Test pripojenia hlási zlyhanie brány, ale hostiteľ má prístup na internet",
+ "gwBody": "Niektoré smerovače neodpovedajú na ICMP na internom rozhraní, aj keď správne preposielajú prevádzku. V konzole skúste traceroute 8.8.8.8: ak je druhým skokom váš poskytovateľ a test verejného DNS prešiel, brána funguje aj napriek neúspešnému pingu.",
+ "dupTitle": "Pokročilá diagnostika stále hlási duplicitné IP adresy aj po odstránení jednej z nich",
+ "dupBody": "Kontrola skúma aktuálny stav jadra, nie konfiguračný súbor. Overte ho príkazom ip -4 addr show; ak je duplicitná adresa stále prítomná, niektoré rozhranie ju stále používa. Pomocou ip addr del <IP>/<mask> dev <iface> ju odstráňte z aktuálneho stavu a potom upravte /etc/network/interfaces, ak je nastavená aj natrvalo."
+ },
+ "related": {
+ "heading": "Súvisiace",
+ "items": [
+ {
+ "label": "Nástroje na sledovanie v reálnom čase",
+ "href": "/docs/network/monitoring",
+ "tail": " — Interaktívne iftop / iptraf-ng / iperf3 spúšťače."
+ },
+ {
+ "label": "Analýza mostov a oprava so sprievodcom",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — Keď vmbrX chýba fyzický port."
+ },
+ {
+ "label": "Analýza konfigurácie a čistenie so sprievodcom",
+ "href": "/docs/network/config-analysis",
+ "tail": " — keď je stará sieťová karta stále deklarovaná, ale už nie je prítomná."
+ },
+ {
+ "label": "Záloha a reštart rozhraní",
+ "href": "/docs/network/backup-restore",
+ "tail": " — na vytvorenie snímky konfigurácie pred každou zmenou."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sk/docs/network/index.json b/web/messages/sk/docs/network/index.json
new file mode 100644
index 00000000..871acbef
--- /dev/null
+++ b/web/messages/sk/docs/network/index.json
@@ -0,0 +1,107 @@
+{
+ "meta": {
+ "title": "Správa siete Proxmox — Mosty, bondy, diagnostika, oprava | ProxMenux",
+ "description": "Diagnostika iba na čítanie, analýzy s následnými návrhmi a opravy so sprievodcom pre sieťový stack Debian / Proxmox (/etc/network/interfaces). Skontrolujte mosty a bondy, spustite nástroje na sledovanie v reálnom čase, nastavte trvalé názvy rozhraní, zálohujte konfiguráciu a bezpečne reštartujte sieť — s povinnými zálohami a náhľadmi jednotlivých krokov.",
+ "ogTitle": "Správa siete Proxmox — Mosty, bondy, diagnostika, oprava",
+ "ogDescription": "Diagnostika, analýza a opravy sieťového stacku Proxmox so sprievodcom, povinnými zálohami a náhľadmi jednotlivých krokov.",
+ "twitterTitle": "Správa siete Proxmox | ProxMenux",
+ "twitterDescription": "Mosty, bondy, diagnostika a opravy sieťového stacku Proxmox so sprievodcom a povinnými zálohami."
+ },
+ "header": {
+ "title": "Správa siete",
+ "description": "Diagnostika iba na čítanie, analytické správy s následnými návrhmi a opravy so sprievodcom pre klasický sieťový stack Debian/Proxmox. Každý deštruktívny postup najprv vytvorí zálohu a pred použitím zobrazí presné zmeny.",
+ "section": "Sieť"
+ },
+ "intro": {
+ "title": "Na čo je toto menu",
+ "body": "Skontrolujte, diagnostikujte a v prípade potreby opravte sieťovú konfiguráciu hostiteľa Proxmox bez straty vzdialeného prístupu. Nástroje sa riadia jednou zásadou: najprv prečítať, potom navrhnúť a zmeny použiť iba s výslovným súhlasom a bezpečnostnou zálohou. Tlačidlo „Automaticky opraviť všetko“ neexistuje."
+ },
+ "openingMenu": {
+ "heading": "Otvorenie menu",
+ "intro": "V hlavnom menu ProxMenux vyberte Sieť. Zobrazí sa toto:",
+ "imageAlt": "Menu Správa siete s možnosťami diagnostiky, sledovania, analýzy, opráv, trvalých názvov a zálohovania"
+ },
+ "safety": {
+ "heading": "Bezpečnostný model",
+ "body": "Úprava sieťovej konfigurácie vzdialeného hostiteľa Proxmox je jedným z najjednoduchších spôsobov, ako stratiť prístup. ProxMenux to zohľadňuje pri každej akcii. Nástroje sú rozdelené do troch úrovní správania — vyberte kartu, ktorá zodpovedá vášmu zámeru:"
+ },
+ "tiers": {
+ "readOnly": {
+ "title": "Iba na čítanie",
+ "body": "Iba kontrola. Za žiadnych okolností nemôže meniť systém.",
+ "items": [
+ "Smerovacia tabuľka, testy pripojenia, pokročilé štatistiky",
+ "Sledovanie sieťovej prevádzky v reálnom čase (iftop, iptraf-ng)",
+ "Test priepustnosti (iperf3)"
+ ]
+ },
+ "analyze": {
+ "title": "Analyzovať, potom navrhnúť",
+ "body": "Zistí problémy, vypíše správu s navrhovanými príkazmi shellu a zastaví sa. Sami sa rozhodnete, či potom spustíte opravu so sprievodcom.",
+ "items": [
+ "Analýza konfigurácie mosta",
+ "Analýza konfigurácie siete"
+ ]
+ },
+ "apply": {
+ "title": "Aplikovať so zálohou",
+ "body": "Mení systém. Vždy najprv vytvorí zálohu dotknutého súboru s časovou pečiatkou a pred zápisom zobrazí náhľad.",
+ "items": [
+ "Trvalé názvy rozhraní (súbory .link)",
+ "Ručné zálohovanie, obnovenie a reštart služby"
+ ]
+ }
+ },
+ "classicTitle": "Iba klasický sieťový stack",
+ "classicBody": "Každá funkcia analýzy a opravy pred zásahom skontroluje aktívneho správcu siete. Ak hostiteľ používa netplan, systemd-networkd alebo NetworkManager, nástroj sa ihneď zastaví s jasným hlásením. Menu podporuje iba klasickú sieťovú konfiguráciu Debian/Proxmox v /etc/network/interfaces. Je to zámerné: úprava súboru netplan podľa pravidiel pre ifupdown by mohla konfiguráciu nepozorovane poškodiť.",
+ "backups": {
+ "heading": "Kam sa ukladajú zálohy",
+ "intro": "Každá oprava so sprievodcom, obnova alebo ručné zálohovanie zapíše kópiu /etc/network/interfaces s časovou pečiatkou do /var/backups/proxmenux/:",
+ "rollbackIntro": "Na ručné obnovenie predchádzajúceho stavu z konzoly:"
+ },
+ "readOnlySection": {
+ "heading": "Kontrola len na čítanie",
+ "body": "Východiskový bod, keď niečo nefunguje správne. Iba kontrola — nikdy nezapisuje do /etc/network/interfaces ani nespúšťa príkazy meniace systém, s jedinou výslovnou výnimkou: úplné odstránenie zisteného NetworkManager vyžaduje váš súhlas. Bezpečné použitie cez SSH kedykoľvek.",
+ "options": [
+ {
+ "title": "Diagnostika",
+ "description": "Tri jednorazové kontroly iba na čítanie: Zobraziť smerovaciu tabuľku, Test pripojenia a Pokročilá diagnostika. Iba kontrola — nikdy nezapisuje do systému."
+ },
+ {
+ "title": "Nástroje na sledovanie v reálnom čase",
+ "description": "Tri interaktívne spúšťače: iftop (šírka pásma v reálnom čase pre každú dvojicu hostiteľov), iptraf-ng (sledovanie prevádzky vo viacerých režimoch) a iperf3 (test šírky pásma, režim server / klient)."
+ }
+ ]
+ },
+ "analyzeSection": {
+ "heading": "Analyzovať, potom navrhnúť",
+ "body": "Používajú sa, keď kontrola alebo skutočný výpadok poukazuje na problém konfigurácie. Každý nástroj prejde príslušnú časť /etc/network/interfaces, vypíše podrobnú správu s presným príkazom shellu na opravu každého zistenia a zastaví sa. Ak potom prijmete voliteľnú opravu so sprievodcom, pred každou zmenou sa vytvorí záloha a zmena sa zobrazí pred zápisom.",
+ "options": [
+ {
+ "title": "Analýza mostov a oprava so sprievodcom",
+ "description": "Zistí mosty vmbrX s chýbajúcimi alebo neplatnými portmi, typicky po opätovnom číslovaní zariadení PCI. Najprv zobrazí správu a opravu vykoná iba po prijatí postupu so sprievodcom v 5 krokoch."
+ },
+ {
+ "title": "Analýza konfigurácie a čistenie so sprievodcom",
+ "description": "Nájde fyzické rozhrania deklarované v /etc/network/interfaces, ktoré už neexistujú — osirelé konfigurácie po zmenách hardvéru. Nahlási ich a ponúkne odstránenie so sprievodcom."
+ }
+ ]
+ },
+ "applySection": {
+ "heading": "Aplikovať so zálohou",
+ "body": "Tieto nástroje zo svojej podstaty zapisujú na disk. Každý pred zápisom vytvorí zálohu dotknutého súboru s časovou pečiatkou. Deštruktívne možnosti, ako obnova a reštart, vyžadujú výslovné potvrdenie áno/nie. Trvalé názvy rozhraní sa prejavia až pri ďalšom reštarte, nie okamžite, takže ich nastavenie možno bezpečne naplánovať aj na vzdialenom hostiteľovi.",
+ "options": [
+ {
+ "title": "Trvalé názvy rozhraní",
+ "description": "Priradí názvy rozhraní (eno1, enp3s0, …) k MAC adresám pomocou súborov .link služby systemd. Názvy zostanú zachované pri zmene slotov PCI, aktualizáciách jadra aj pridávaní alebo odoberaní iných sieťových kariet."
+ },
+ {
+ "title": "Záloha a reštart rozhraní",
+ "description": "Ručné vytvorenie snímky /etc/network/interfaces, prehliadanie a obnova predchádzajúcich záloh, zobrazenie aktuálnej konfigurácie a reštart sieťovej služby podľa potreby."
+ }
+ ]
+ },
+ "consoleTitle": "Pripravte si prístup ku konzole",
+ "consoleSubTitle": "Pred akoukoľvek opravou na vzdialenom hostiteľovi",
+ "consoleBody": "Ak ste pripojení cez SSH a máte iba jednu cestu k hostiteľovi, pred zmenami siete si pripravte náhradný prístup: fyzickú konzolu / IPMI / iKVM alebo iný počítač v rovnakej LAN. Opravy so sprievodcom sú bezpečné a vždy ponúkajú príkaz na vrátenie zmien, ale nesprávne nakonfigurovaný most alebo prerušené spojenie vás aj tak môže pripraviť o prístup, kým sa nedostanete ku konzole."
+}
diff --git a/web/messages/sk/docs/network/monitoring.json b/web/messages/sk/docs/network/monitoring.json
new file mode 100644
index 00000000..6038905a
--- /dev/null
+++ b/web/messages/sk/docs/network/monitoring.json
@@ -0,0 +1,136 @@
+{
+ "meta": {
+ "title": "Nástroje na sledovanie v reálnom čase | Dokumentácia ProxMenux",
+ "description": "Tri interaktívne spúšťače nástrojov na sledovanie siete: iftop (šírka pásma v reálnom čase pre každú dvojicu hostiteľov), iptraf-ng (sledovanie prevádzky vo viacerých režimoch) a iperf3 (test šírky pásma, režim server / klient). Každý sa nainštaluje pri prvom použití.",
+ "ogTitle": "Nástroje na sledovanie v reálnom čase | Dokumentácia ProxMenux",
+ "ogDescription": "Interaktívne monitorovanie siete a testovanie šírky pásma pre Proxmox host: iftop, iptraf-ng, iperf3."
+ },
+ "header": {
+ "title": "Nástroje na sledovanie v reálnom čase",
+ "description": "Tri interaktívne spúšťače na sledovanie siete v reálnom čase a meranie šírky pásma: iftop, iptraf-ng a iperf3. Každý nástroj sa pri prvom použití automaticky nainštaluje cez apt, beží v popredí a ukončuje sa uvedeným klávesom. Nemenia sieťovú konfiguráciu hostiteľa; iperf3 generuje testovaciu prevádzku.",
+ "section": "Sieť"
+ },
+ "intro": {
+ "title": "Čo to robí?",
+ "body": "Tri interaktívne monitorovacie nástroje, každý za vlastným vstupom do menu. Pri prvom spustení jedného sa balík inštaluje ticho cez apt-get. Následné štarty začínajú okamžite. Žiadny z týchto nástrojov nemení konfiguráciu hostiteľskej siete."
+ },
+ "when": {
+ "heading": "Kedy použiť ktorý",
+ "headerQuestion": "Otázka",
+ "headerUse": "Použitie",
+ "rows": [
+ {
+ "question": "Kto vyťažuje spojenie práve teraz?",
+ "use": "iftop"
+ },
+ {
+ "question": "Aké členenie protokolu / veľkosti paketov / toky TCP prúdia?",
+ "use": "iptraf-ng"
+ },
+ {
+ "question": "Koľko šírky pásma je skutočne k dispozícii medzi dvoma hostiteľmi?",
+ "use": "iperf3"
+ }
+ ]
+ },
+ "iftop": {
+ "heading": "Sieťová prevádzka v reálnom čase (iftop)",
+ "body": "Šírka pásma v reálnom čase pre dvojice hostiteľov (zdroj ↔ cieľ) — ako top pre sieťovú prevádzku. Najväčšie toky zobrazuje navrchu s kĺzavými priemermi za 2/10/40 sekúnd. Najlepší nástroj na otázku „Prečo je moje odchádzajúce spojenie vyťažené?“.",
+ "exit": "Ukončenie: stlačte q. ProxMenux pred spustením zobrazí pripomenutie.",
+ "keysTitle": "Užitočné klávesy v iftop",
+ "keysBody": "n prepína vyhľadávanie DNS, p zobrazuje čísla portov, P pozastaví zobrazenie, t prepína smer riadku (odoslané / prijaté / oboje), 1/2/3 zoradí podľa priemeru za 2 s / 10 s / 40 s. Úplný zoznam nájdete v man iftop."
+ },
+ "iptraf": {
+ "heading": "Nástroj na sledovanie siete (iptraf-ng)",
+ "intro": "Nástroj na sledovanie prevádzky vo viacerých režimoch, ovládaný cez menu. iftop odpovedá na „kto“, iptraf-ng na „čo“: počty bajtov a paketov podľa protokolu, sledovanie stavu spojení TCP, histogramy veľkosti paketov a aktivita LAN podľa stanice.",
+ "menuIntro": "Pri spustení dostanete ponuku piatich možností:",
+ "headerMode": "Režim",
+ "headerUseFor": "Použiť pre",
+ "rows": [
+ {
+ "mode": "Monitor prevádzky IP",
+ "useFor": "Zoznam tokov TCP / UDP / ICMP / iných protokolov IP v reálnom čase s počítadlami bajtov a stavom pripojenia"
+ },
+ {
+ "mode": "Všeobecné štatistiky rozhraní",
+ "useFor": "Súhrnný počet paketov IPv4 / IPv6 / TCP / UDP / ICMP / non-IP paketov na sieťovú kartu"
+ },
+ {
+ "mode": "Podrobné štatistiky rozhrania",
+ "useFor": "Rovnaké ako vyššie, ale pre jedno rozhranie, s podrobnosťami o veľkosti a rýchlosti paketov"
+ },
+ {
+ "mode": "Štatistické členenia",
+ "useFor": "Histogram rozdelenia veľkosti paketov podľa portu TCP / UDP"
+ },
+ {
+ "mode": "Monitor stanice LAN",
+ "useFor": "Štatistiky prevádzky podľa MAC adresy pre lokálnu broadcastovú doménu"
+ }
+ ],
+ "exit": "Ukončenie: stlačte x v ľubovoľnom zobrazení alebo Q v hlavnom menu. ProxMenux pred spustením zobrazí pripomenutie.",
+ "logTitle": "Zaznamenávanie zachytených údajov do súboru",
+ "logBody": "Každý režim ponúka zápis zachytených štatistík do /var/log/iptraf-ng/. Ak potrebujete záznam špičky prevádzky, nechajte nástroj bežať, zapisujte do súboru a skontrolujte ho neskôr namiesto sledovania obrazovky v reálnom čase."
+ },
+ "iperf3": {
+ "heading": "Test priepustnosti (iperf3)",
+ "intro1": "Meria skutočnú priepustnosť TCP medzi dvoma hostiteľmi. Na rozdiel od iftop / iptraf-ng, ktoré sledujú existujúcu prevádzku, iperf3 generuje syntetickú prevádzku na záťažový test spojenia. Nevyhnutné pri otázkach ako „Dosahuje moje 10 GbE skutočne 10 GbE?“ alebo „Je úzkym miestom sieťová karta, prepínač alebo úložisko?“.",
+ "intro2": "iperf3 je nástroj pre dvoch hostiteľov: jeden beží ako server a načúva na porte TCP 5201, druhý ako klient, ktorý sa pripojí, odošle údaje a vypíše rýchlosť. Spúšťač ProxMenux sa opýta na požadovaný režim:",
+ "headerMode": "Režim",
+ "headerBehaviour": "Správanie",
+ "headerCli": "Ekvivalentný príkaz CLI",
+ "rows": [
+ {
+ "mode": "Server",
+ "behaviour": "Načúva na porte TCP 5201 a vypíše výsledky každého prichádzajúceho testu. Ukončí sa cez Ctrl+C.",
+ "cli": "iperf3 -s"
+ },
+ {
+ "mode": "Klient",
+ "behaviour": "Vyžiada IP adresu alebo názov servera, pripojí sa, spustí predvolený 10-sekundový test a vypíše správu.",
+ "cli": "iperf3 -c "
+ }
+ ],
+ "workflowIntro": "Typický pracovný postup na testovanie 10 GbE spojenia medzi dvoma hostiteľmi Proxmox:",
+ "workflow": [
+ "Na hostiteľovi A otvorte menu Sieť → Test priepustnosti (iperf3) → vyberte Server.",
+ "Na hostiteľovi B otvorte rovnakú položku ponuky → vyberte Klient → zadajte IP hostiteľa A.",
+ "Počkajte 10 sekúnd. Porovnajte nameranú rýchlosť s teoretickým maximom spojenia."
+ ],
+ "sample": "Vzorový výstup klienta:",
+ "flagsTitle": "Užitočné voľby pri ručnom spustení zo shellu",
+ "flagsBody": "-t 60 dlhší test (60 s namiesto 10 s), -P 4 4 paralelné toky (rýchlejšie vyťažia spojenie), -R opačný smer (server → klient), -u -b 100M test UDP pri 100 Mbit/s (meranie kolísania oneskorenia a straty paketov), -p 5202 iný port (viac testov súčasne). Úplný zoznam nájdete v man iperf3.",
+ "firewallTitle": "Otvoriť firewall port na serveri",
+ "firewallBody": "Server predvolene načúva na porte TCP 5201. Ak ho spustíte na hostiteľovi Proxmox s prísnym firewallom na úrovni dátového centra alebo hostiteľa, počas testu povoľte prichádzajúce TCP 5201 z IP adresy klienta a potom port opäť zatvorte. To isté platí pre nftables / iptables na fyzických hostiteľoch."
+ },
+ "install": {
+ "heading": "Prvé spustenie nainštaluje balík",
+ "body": "Všetky tri spúšťače overia prítomnosť programu a ak chýba, spustia apt-get update -qq && apt-get install -y <pkg>. Inštalácia prebieha bez výpisu: pri prvom použití môže menu pôsobiť zamrznuto 10–30 sekúnd. Ďalšie spustenia sú okamžité."
+ },
+ "troubleshoot": {
+ "heading": "Riešenie problémov",
+ "hangTitle": "Inštalácia visí navždy pri prvom spustení",
+ "hangBody": "Hostiteľ nemá internet alebo apt repo sú nedosiahnuteľné. Zrušiť pomocou Ctrl+C, spustiť apt-get update ručne vidieť skutočnú chybu (DNS, repo podpis, proxy ...), potom sa vrátiť do menu.",
+ "refusedTitle": "Klient iperf3: „unable to connect to server: Connection refused“",
+ "refusedBody": "Server buď nebeží, alebo jeho firewall blokuje TCP 5201. Na serveri overte cez ss -tlnp | grep 5201, že iperf3 načúva. Ak načúva, ale klient stále zlyháva, skontrolujte firewally na trase medzi hostiteľmi.",
+ "slowTitle": "iperf3 hlási výrazne nižšiu rýchlosť, než sa od spojenia očakáva",
+ "slowBody": "Bežné príčiny v poradí pravdepodobnosti: (1) CPU jedného hostiteľa je úzkym miestom — skúste iperf3 -c <target> -P 4 na využitie viacerých jadier; (2) prenos prechádza pomalším spojom, napríklad gigabitovým prepínačom medzi dvoma kartami 10 GbE; (3) nezhodné MTU — skontrolujte ip link show na oboch koncoch; (4) vypnutý NIC offloading — pri karte Intel e1000e pozrite komunitný skript Disable NIC Offloading.",
+ "noTrafficTitle": "iftop / iptraf-ng nevykazujú žiadnu prevádzku pre rušného hostiteľa",
+ "noTrafficBody": "Predvolené zachytávanie používa prvé zistené rozhranie. Správne rozhranie zadajte výslovne zo shellu: iftop -i vmbr0 alebo iptraf-ng -i vmbr0. Spúšťač v menu používa predvolené rozhranie; pre iné rozhrania spustite nástroj z konzoly."
+ },
+ "related": {
+ "heading": "Súvisiace",
+ "items": [
+ {
+ "label": "Diagnostika",
+ "href": "/docs/network/diagnostics",
+ "tail": " — jednorazové kontroly iba na čítanie (smerovanie, pripojenie a pokročilé štatistiky)."
+ },
+ {
+ "label": "Analýza mostov a oprava so sprievodcom",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — keď sledovanie odhalí, že rozhranie alebo most nefunguje správne."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sk/docs/network/persistent-names.json b/web/messages/sk/docs/network/persistent-names.json
new file mode 100644
index 00000000..bb2a952e
--- /dev/null
+++ b/web/messages/sk/docs/network/persistent-names.json
@@ -0,0 +1,130 @@
+{
+ "meta": {
+ "title": "Trvalé názvy rozhraní | Dokumentácia ProxMenux",
+ "description": "Priraďte názvy rozhraní Proxmox (eno1, enp3s0, …) k MAC adresám pomocou súborov .link služby systemd, aby zostali zachované pri opätovnom číslovaní PCI, aktualizáciách jadra a pridávaní či odoberaní iných sieťových kariet.",
+ "ogTitle": "Trvalé názvy rozhraní | Dokumentácia ProxMenux",
+ "ogDescription": "Zabráňte zmene názvov rozhraní Proxmox pri zmene hardvéru. Používa súbory .link služby systemd s priradením podľa MAC adresy."
+ },
+ "header": {
+ "title": "Trvalé názvy rozhraní",
+ "description": "Pre každú fyzickú sieťovú kartu vytvorí súbor .link služby systemd, ktorý priradí názov pridelený jadrom k MAC adrese karty. Po použití pri ďalšom reštarte sa názvy rozhraní prestanú meniť pri pridávaní, odoberaní alebo presúvaní kariet PCIe.",
+ "section": "Sieť"
+ },
+ "intro": {
+ "title": "Čo to robí?",
+ "body": "Pre každú fyzickú sieťovú kartu hostiteľa zapíše malý súbor /etc/systemd/network/10-<iface>.link s pravidlom: „Zariadenie s touto MAC adresou sa musí vždy volať týmto názvom.“ systemd-udevd použije pravidlo pri každom štarte skôr, než ifupdown prečíta /etc/network/interfaces."
+ },
+ "problem": {
+ "heading": "Problém, ktorý rieši",
+ "intro": "Linux odvodzuje predvolené názvy rozhraní z topológie PCI — eno1 = integrovaná karta, enp3s0 = karta na zbernici PCI 3, slot 0 atď. Schéma názvov je deterministická pri rovnakom rozložení hardvéru. Ak sa rozloženie zmení, zmenia sa aj názvy:",
+ "items": [
+ "Pridanie GPU pred existujúcu sieťovú kartu → číslo zbernice sieťovej karty sa môže zmeniť → zmení sa názov.",
+ "Presunutie karty do iného slotu PCIe → zmení sa názov.",
+ "Aktualizácia BIOS / UEFI s opätovným číslovaním zariadení → názvy sa môžu zmeniť.",
+ "Nahradenie chybnej karty rovnakým modelom v inom slote → zmení sa názov."
+ ],
+ "outro": "Po takejto zmene /etc/network/interfaces stále odkazuje na starý názov; most sa neaktivuje a hostiteľ stratí sieťové pripojenie. Nastavenie trvalých názvov zabráni opakovaniu tejto situácie."
+ },
+ "howWorks": {
+ "heading": "Ako to funguje",
+ "arrowLabel": "na NIC",
+ "nodes": {
+ "detectLabel": "Zistiť fyzické sieťové karty",
+ "detectDetail": "ls /sys/class/net/\nvylúčiť vmbr / bond /\ndocker / veth / wireguard …",
+ "readLabel": "Prečítať každú MAC adresu",
+ "readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
+ "writeLabel": "Zapísať súbor .link",
+ "writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
+ },
+ "minimalIntro": "Každý vygenerovaný súbor je zámerne minimálny:",
+ "minimalOutro": "Pri štarte systemd-udevd identifikuje zariadenie podľa MAC adresy a pridelí požadovaný názov skôr, než zasiahnu iné komponenty (ifupdown, predvolené pomenovanie jadra). Predpona 10- zabezpečuje skoré načítanie pravidiel pred predvoleným súborom 99-default.link."
+ },
+ "scope": {
+ "heading": "Čo sa napíše, čo sa preskočí",
+ "headerType": "Typ",
+ "headerBehaviour": "Správanie",
+ "headerWhy": "Prečo?",
+ "rows": [
+ {
+ "type": "Integrovaná / PCIe sieťová karta",
+ "behaviour": "Zapíše sa súbor .link",
+ "why": "Zodpovedá skutočnému zariadeniu PCI — prípad, pre ktorý je nástroj určený"
+ },
+ {
+ "type": "Wi-Fi (phy80211)",
+ "behaviour": "Zapíše sa súbor .link",
+ "why": "Má skutočnú MAC adresu a využije stabilný názov"
+ },
+ {
+ "type": "Mosty (vmbrX)",
+ "behaviour": "Preskočené",
+ "why": "Virtuálne; meno pochádza z /etc/network/interfaces"
+ },
+ {
+ "type": "Bondy (bondX)",
+ "behaviour": "Preskočené",
+ "why": "Virtuálne; názov bondu nastavuje ifupdown"
+ },
+ {
+ "type": "veth / docker0 / br-XXXX",
+ "behaviour": "Preskočené",
+ "why": "Vytvárané podľa potreby systémom Docker / LXC — nejde o trvalý hardvér"
+ },
+ {
+ "type": "tap / fwpr / fwln",
+ "behaviour": "Preskočené",
+ "why": "Vytvárané podľa potreby systémom Proxmox pre každú VM/CT"
+ },
+ {
+ "type": "WireGuard / Cilium / Tailscale",
+ "behaviour": "Preskočené",
+ "why": "Softvérové rozhrania spravované vlastnými démonmi"
+ }
+ ]
+ },
+ "safety": {
+ "heading": "Ochrana: predchádzajúce súbory .link sa zálohujú",
+ "intro": "Ak /etc/systemd/network/ už obsahuje .link súbory (z predchádzajúceho spustenia alebo iného nástroja), skopírujú sa do záložného adresára s časovou značkou pred generovaním nových:",
+ "outro": "Ak chcete vrátiť späť: skopírujte súbory späť zo záložného adresára a reštartujte.",
+ "rebootTitle": "Prejaví sa pri ďalšom reštarte, nie okamžite",
+ "rebootBody": "Zmeny súborov .link sa použijú iba pri štarte, keď udev znovu enumeruje zariadenia. Preto nástroj hlási „Zmeny sa použijú po reštarte“. Premenovanie rozhrania za behu je riskantné a nástroj sa oň nepokúša: aktívny vmbr0 s členskými rozhraniami by sa musel prekonfigurovať atómovo. Operácia sa preto odkladá na ďalší čistý štart."
+ },
+ "afterReboot": {
+ "heading": "Po reštarte",
+ "intro": "Keď sú názvy napevno priradené, postup pri budúcich zmenách hardvéru je jednoduchý:",
+ "items": [
+ "Vypnite počítač, zmeňte hardvér (pridajte kartu, zmeňte slot, …) a spustite ho.",
+ "Každý NIC si ponechá svoje predchádzajúce meno, pretože jeho MAC zodpovedá súboru .link.",
+ "Ak je NIC nahradený (iný MAC), dostane predvolený názov jadra (enp<bus>s<slot>); znovu spustite toto menu pre pridanie položky .link pre MAC novej karty."
+ ]
+ },
+ "troubleshoot": {
+ "heading": "Riešenie problémov",
+ "emptyTitle": "\"Nenájdené žiadne fyzické rozhrania\" po spustení nástroja",
+ "emptyBody": "Jadro na hostiteľovi nevidí žiadne rozhrania založené na PCI / phy80211. Overte to cez ls -l /sys/class/net/ — každá položka by mala obsahovať symbolický odkaz device (PCI) alebo položku phy80211 (Wi-Fi). Ak pri skutočnej sieťovej karte chýbajú obe, ovládač nie je načítaný.",
+ "noChangeTitle": "Po reštarte sa mená nezmenili podľa očakávania.",
+ "noChangeBody": "Skontrolujte, či súbor existuje a má správny formát: cat /etc/systemd/network/10-<iface>.link. Potom skontrolujte záznamy udev: journalctl -u systemd-udevd -b | grep -i link. Bežnou príčinou je starý parameter jadra net.ifnames=0, ktorý úplne vypína predvídateľné názvy — odstráňte ho z /etc/default/grub, spustite update-grub a reštartujte.",
+ "undoTitle": "Chcem zrušiť trvalé pomenovanie.",
+ "undoBody": "Buď odstráňte súbory .link (rm /etc/systemd/network/10-*.link), alebo ich obnovte z adresára záloh vytvoreného pri predchádzajúcom spustení. Zmenu použijete reštartom."
+ },
+ "related": {
+ "heading": "Súvisiace",
+ "items": [
+ {
+ "label": "Analýza mostov a oprava so sprievodcom",
+ "href": "/docs/network/bridge-analysis",
+ "tailRich": " — postup obnovy, keď sa názvy už zmenili."
+ },
+ {
+ "label": "Analýza konfigurácie a čistenie so sprievodcom",
+ "href": "/docs/network/config-analysis",
+ "tail": " — na odstránenie osirelých blokov, ktoré zostali po zmenách názvov."
+ },
+ {
+ "label": "Diagnostika",
+ "href": "/docs/network/diagnostics",
+ "tailRich": " — po reštarte overte nové názvy cez Zobraziť smerovaciu tabuľku."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sv/docs/network/backup-restore.json b/web/messages/sv/docs/network/backup-restore.json
new file mode 100644
index 00000000..6b0269b3
--- /dev/null
+++ b/web/messages/sv/docs/network/backup-restore.json
@@ -0,0 +1,110 @@
+{
+ "meta": {
+ "title": "Säkerhetskopiering och omstart av gränssnitt | ProxMenux-dokumentation",
+ "description": "Ta manuella ögonblicksbilder, bläddra bland och återställ säkerhetskopior av /etc/network/interfaces som lagras i /var/backups/proxmenux/. Inkluderar omstart av nätverkstjänsten med bekräftelse och en snabbvy av den aktuella konfigurationen.",
+ "ogTitle": "Säkerhetskopiering och omstart av gränssnitt | ProxMenux-dokumentation",
+ "ogDescription": "Ta en ögonblicksbild och återställ Proxmox nätverkskonfiguration; starta om nätverkstjänsten med bekräftelse."
+ },
+ "header": {
+ "title": "Säkerhetskopiering och omstart av gränssnitt",
+ "description": "Fyra verktyg för /etc/network/interfaces: ta en manuell ögonblicksbild, visa aktuell konfiguration, återställa en tidigare säkerhetskopia med valfri förhandsvisning och starta om nätverkstjänsten med uttryckligt samtycke. Samma katalog för säkerhetskopior används av de guidade reparationerna.",
+ "section": "Nätverk"
+ },
+ "intro": {
+ "title": "Vad detta gör",
+ "body": "Hanterar samma katalog för säkerhetskopior som de guidade reparationerna (/var/backups/proxmenux/). Du kan ta en extra ögonblicksbild före manuella ändringar, bläddra bland alla befintliga säkerhetskopior och återställa vilken som helst — alltid med en ny automatisk säkerhetskopia före återställningen som ett andra skydd."
+ },
+ "shared": {
+ "heading": "Den gemensamma katalogen för säkerhetskopior",
+ "intro": "Varje säkerhetskopia som tas någonstans i nätverksmenyn landar på samma ställe:",
+ "outro": "Filnamnen är tidsstämplade och sorterade efter datum, och filerna skrivs aldrig över. Katalogen skapas vid första användningen."
+ },
+ "show": {
+ "heading": "Visa nätverkskonfigurationsfil",
+ "body": "Skriver ut /etc/network/interfaces oförändrad i terminalen. Skrivskyddat. Användbart som kontroll före säkerhetskopiering eller efter återställning. Det finns inget separat verktyg för att jämföra med föregående säkerhetskopia, så att granska den aktuella filen är det enklaste sättet att kontrollera innehållet."
+ },
+ "create": {
+ "heading": "Skapa nätverksbackup",
+ "body": "Kopierar den nuvarande /etc/network/interfaces i backupkatalogen med en ny tidsstämpel. Det är det - ingen analys, inga prompts, bara en ögonblicksbild.",
+ "whenTitle": "När man tar en manuell backup",
+ "whenBody": "Innan du redigerar /etc/network/interfaces för hand, installerar ett paket som kan ändra nätverksstacken (till exempel NetworkManager eller Open vSwitch) eller gör en maskinvaruändring. De guidade reparationerna tar redan ögonblicksbilder automatiskt — det här alternativet är för manuella ingrepp."
+ },
+ "restore": {
+ "heading": "Återställ nätverkssäkerhetskopia",
+ "intro": "Listar alla säkerhetskopior i /var/backups/proxmenux/ från nyast till äldst och vägleder genom en återställning med skyddsåtgärder:",
+ "steps": [
+ {
+ "title": "1. Välj en backup",
+ "body": "En meny listar varje säkerhetskopia med dess tidsstämpel. Om det inte finns några säkerhetskopior avslutas flödet med ett tydligt meddelande.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Valfri förhandsvisning",
+ "body": "Erbjuder att öppna den valda säkerhetskopian i en rullningsbar vy innan återställningen bekräftas. Ja är standardvalet — hoppa inte över detta på en fjärransluten värd.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Säkerhetskopiering före återställning",
+ "body": "Tar ytterligare en säkerhetskopia av det aktuella tillståndet innan /etc/network/interfaces skrivs över. Återställning är i sig en destruktiv åtgärd, så den nya ögonblicksbilden före återställningen gör att du kan gå tillbaka om du valde fel säkerhetskopia.",
+ "tone": "amber"
+ },
+ {
+ "title": "4. Applicera återställningen",
+ "body": "Skriver den valda säkerhetskopian över /etc/network/interfaces. Filen har ändrats på disk, men kärnans aktuella tillstånd speglar fortfarande den tidigare konfigurationen.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Valfri omstart",
+ "body": "Frågar om systemctl restart networking ska köras nu. Avböj för att skjuta upp ändringen till nästa omstart.",
+ "tone": "emerald"
+ }
+ ],
+ "autoBackupTitle": "En återställning tar sin egen backup automatiskt",
+ "autoBackupBody": "När du väljer Återställ nätverkssäkerhetskopia tas alltid en ny ögonblicksbild av den aktuella konfigurationen innan den skrivs över. Om du återställer fel säkerhetskopia innehåller den senaste filen i /var/backups/proxmenux/ tillståndet du hade före återställningen."
+ },
+ "restart": {
+ "heading": "Starta om nätverkstjänsten",
+ "body": "Kör systemctl restart networking efter en ja/nej-bekräftelse. Rapporterar resultatet med msg_ok / msg_error. De flesta flöden i menyn erbjuder redan en omstart i slutet. Detta alternativ används efter en manuell ändring eller om du tidigare avböjt den erbjudna omstarten.",
+ "warnTitle": "Kort frånkoppling garanteras; permanent frånkoppling är möjlig",
+ "warnBody": "Omstart av networking tar ned och konfigurerar om alla gränssnitt som deklareras i /etc/network/interfaces. SSH-sessioner via dessa gränssnitt bryts. Om den nya konfigurationen är ogiltig kommer nätverket inte tillbaka. Kör endast detta när:",
+ "warnItems": [
+ "Du har konsolåtkomst / IPMI / iKVM redo, eller",
+ "Du befinner dig fysiskt bredvid maskinen, eller",
+ "Du har precis återställt en konfiguration som du vet fungerar och vill tillämpa den."
+ ]
+ },
+ "manualRollback": {
+ "heading": "Manuell återgång från en konsol",
+ "intro": "Om du inte kan nå menyn (ingen SSH, dialog kraschar, ...) men kan nå en konsol, är återgång två kommandon:",
+ "outro": "Det är samma åtgärd som menyn utför, bara inmatad för hand. Om networking fortfarande inte startar, kontrollera journalctl -u networking -b för att hitta det bakomliggande syntax- eller drivrutinsfelet."
+ },
+ "troubleshoot": {
+ "heading": "Felsökning",
+ "noneTitle": "”Inga säkerhetskopior hittades” vid återställning",
+ "noneBody": "Katalogen /var/backups/proxmenux/ finns inte eller innehåller inga interfaces_backup_*-filer. Kör Skapa nätverksbackup minst en gång eller en guidad reparation som tar en säkerhetskopia automatiskt. Bekräfta med ls /var/backups/proxmenux/.",
+ "unreachTitle": "Omstart av nätverket lyckas men värden är fortfarande onåbar",
+ "unreachBody": "Den nya konfigurationen är fel eller tilldelar inte din IP-adress för administration. Återställ från konsolen (se ovan). Använd sedan brygganalys och konfigurationsanalys för att förstå felet innan du tillämpar den igen.",
+ "emptyTitle": "Förhandsvisningen för återställning visar en tom fil",
+ "emptyBody": "Säkerhetskopian är tom (0 byte). Det händer om en kopiering misslyckats utan felmeddelande under en tidigare körning. Välj en äldre säkerhetskopia eller kör Skapa nätverksbackup igen nu om den aktuella konfigurationen fungerar."
+ },
+ "related": {
+ "heading": "Relaterat",
+ "items": [
+ {
+ "label": "Brygganalys och guidad reparation",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — Den vanligaste orsaken till att en säkerhetskopia hamnar här."
+ },
+ {
+ "label": "Konfigurationsanalys och guidad rensning",
+ "href": "/docs/network/config-analysis",
+ "tailRich": " - skriver också till /var/backups/proxmenux/ automatiskt."
+ },
+ {
+ "label": "Diagnostik",
+ "href": "/docs/network/diagnostics",
+ "tail": " — för att verifiera det aktuella tillståndet efter en återställning."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sv/docs/network/bridge-analysis.json b/web/messages/sv/docs/network/bridge-analysis.json
new file mode 100644
index 00000000..24d477a6
--- /dev/null
+++ b/web/messages/sv/docs/network/bridge-analysis.json
@@ -0,0 +1,132 @@
+{
+ "meta": {
+ "title": "Brygganalys och guidad reparation | ProxMenux-dokumentation",
+ "description": "Upptäcker vmbrX-bryggor med saknade eller ogiltiga fysiska portar, vanligen efter omnumrering av PCI-enheter. Rapporterar dem med föreslagna skalkommandon och erbjuder guidad reparation i 5 steg med obligatorisk säkerhetskopia.",
+ "ogTitle": "Brygganalys och guidad reparation | ProxMenux-dokumentation",
+ "ogDescription": "Granska och reparera Proxmox bryggportar efter maskinvaruändringar med ett guidat flöde som ger säker återställning."
+ },
+ "header": {
+ "title": "Brygganalys och guidad reparation",
+ "description": "Granskar varje vmbrX-brygga i /etc/network/interfaces, kontrollerar att dess fysiska portar finns och erbjuder stegvis reparation om de saknas. Analysen är skrivskyddad; reparationen kräver godkännande, visar en förhandsvisning och tar en säkerhetskopia.",
+ "section": "Nätverk"
+ },
+ "intro": {
+ "title": "Vad detta gör",
+ "body": "Läser varje brygga i /etc/network/interfaces, granskar dess bridge-ports-rad och kontrollerar att varje deklarerad port, till exempel enp3s0, finns på värden. Om en port saknas föreslås en ersättning och ändringen tillämpas med uttryckligt samtycke i flödet säkerhetskopiera, förhandsvisa, tillämpa, verifiera."
+ },
+ "when": {
+ "heading": "När du behöver detta",
+ "intro": "Linux tilldelar förutsägbara gränssnittsnamn från PCI topologi och slot order. Flera händelser blandar dem och lämnar /etc/network/interfaces med hänvisning till namn som inte längre finns:",
+ "items": [
+ "Lägga till eller ta bort ett PCIe-kort (en NIC, en GPU, en HBA, en NVMe-bärare).",
+ "Flytta ett befintligt kort till en annan PCIe slot.",
+ "BIOS-/UEFI-uppdateringar som numrerar om PCI-enheter.",
+ "Flytta startdisken till annan maskinvara."
+ ],
+ "outro": "Efter nästa start försöker bryggan ansluta till en port som inte längre finns. Den kan inte aktiveras och värden förlorar nätverksanslutningen. Beständiga gränssnittsnamn förhindrar att detta händer igen. Om du redan är utelåst visar den här sidan hur du återställer åtkomsten."
+ },
+ "bigPicture": {
+ "heading": "Överblick",
+ "diagram1": {
+ "arrowLabel": "Steg 1",
+ "nodes": {
+ "sourceLabel": "/etc/network/interfaces",
+ "sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
+ "bridgeLabel": "Analysera (skrivskyddat)",
+ "bridgeDetail": "ip link show enp3s0\n→ finns inte",
+ "targetLabel": "Rapport + förslag",
+ "targetDetail": "❌ enp3s0: HITTADES INTE\nErsätt med: eno1\n(inga ändringar ännu)"
+ }
+ },
+ "diagram2": {
+ "arrowLabel": "tillämpa med säkerhetskopia",
+ "nodes": {
+ "sourceLabel": "Guidad reparation",
+ "sourceDetail": "1. Säkerhetskopiera\n2. Visa aktuell konfiguration\n3. Förhandsvisa ändringar\n4. Tillämpa\n5. Verifiera",
+ "targetLabel": "/etc/network/interfaces (ny)",
+ "targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
+ }
+ }
+ },
+ "step1": {
+ "heading": "Steg 1: analys (skrivskyddad)",
+ "intro": "När du väljer Analysera bryggkonfiguration avbryts verktyget direkt om värden inte använder den klassiska Debian/Proxmox-stacken. Annars granskas varje brygga och följande rapporteras:",
+ "items": [
+ "Bryggnamn, aktuell status (UP / DOWN), tilldelad IP.",
+ "Varje deklarerad port och om den för närvarande finns (ip link show <port>).",
+ "För varje ogiltig port: en föreslagen ersättning (det första tillgängliga fysiska gränssnittet) och det exakta sed-kommandot för att tillämpa ändringen manuellt.",
+ "Broar utan bridge-ports alls och föräldralösa auto-poster (ingen matchande iface-block)."
+ ],
+ "readonlyTitle": "Garanti för skrivskyddad analys",
+ "readonlyBody": "Fram till denna punkt har skriptet inte kört ett enda kommando som ändrar systemet. Du kan lämna analysen öppen, kopiera de föreslagna sed-kommandona och tillämpa dem manuellt om du vill, eller godkänna nästa fråga för att gå vidare till den guidade reparationen."
+ },
+ "step2": {
+ "heading": "Steg 2: guidad reparation (5 steg)",
+ "intro": "Startas bara om du godkänner frågan i slutet av analysen. Varje steg visar vad som kommer att ske och ber om bekräftelse innan flödet fortsätter.",
+ "steps": [
+ {
+ "title": "1. Säkerhetskopia",
+ "body": "Kopierar /etc/network/interfaces till /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Den exakta sökvägen visas före och efter kopieringen, tillsammans med återställningskommandot.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Granska nuvarande konfiguration",
+ "body": "Öppnar live /etc/network/interfaces i en rullningsbar dialog så att du kan se exakt vad som ska ändras.",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Förhandsgranska föreslagna ändringar",
+ "body": "Listar exakt vilka bryggor som berörs och vilka portbyten som planeras. Om ingen reparation längre behövs eftersom porten har dykt upp igen mellan kontrollerna avslutas flödet med ”Inga ändringar behövs.”",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Tillämpa ändringarna",
+ "body": "För varje drabbad bro kör sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\" mot /etc/network/interfaces. Om en bro inte hade någon giltig ersättning tillgänglig, är ersättningen hoppad och rapporterad i steg 5.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Verifiering",
+ "body": "Läser filen igen och bekräftar att varje bryggas nya port finns. Skriver ut återställningskommandot (cp <backup> /etc/network/interfaces). Erbjuder slutligen Starta om nätverket — godkänn bara om du har konsolåtkomst som reserv.",
+ "tone": "emerald"
+ }
+ ],
+ "restartTitle": "Omstart av nätverket ≠ riskfri återställning",
+ "restartBody": "Reparationen skrivs till disk oavsett om du startar om tjänsten. systemctl restart networking tillämpar ändringen nu, vilket kan bryta SSH-sessionen om den nya porten är fel. Om du avböjer börjar ändringen ändå gälla vid nästa omstart — kontrollera först den nya konfigurationen eller återställ med det utskrivna kommandot."
+ },
+ "edits": {
+ "heading": "Vad blir redigerat (exakt)",
+ "body": "Endast bridge-ports-raden för varje berörd brygga. Andra direktiv (address, netmask, gateway, bridge-stp, …) lämnas orörda. Skriptet skapar eller tar aldrig bort iface-block i detta flöde — det sköts av konfigurationsanalys & rensning."
+ },
+ "troubleshoot": {
+ "heading": "Felsökning",
+ "unsupportedTitle": "Analysen avbryts med ”Nätverksstacken stöds inte”",
+ "unsupportedBody": "Värden kör netplan, systemd-networkd eller NetworkManager. Verktyget stöder endast /etc/network/interfaces. Byt först till den klassiska stacken eller redigera konfigurationen med nätverkshanterarens egna verktyg, till exempel netplan apply.",
+ "noSuggestTitle": "Inget förslag trycks för en ogiltig port",
+ "noSuggestBody": "Värden har noll fria fysiska gränssnitt (allt är antingen redan i en annan bro eller inte existerar). Analysen faller tillbaka för att föreslå bridge-ports none så att bron åtminstone kan komma upp utan en port. Lägg till en NIC eller migrera portar mellan broar manuellt innan du kör.",
+ "stillDownTitle": "Reparationen slutförs men bron är fortfarande DOWN",
+ "stillDownBody": "sed uppdaterade filen men systemctl restart networking avböjdes. Kör kommandot manuellt när den nya konfigurationen har kontrollerats eller starta om. Om omstarten godkändes och bryggan fortfarande är DOWN, kör ip link show för att kontrollera att den nya porten finns och granska sedan journalctl -u networking för det verkliga felet: urkopplad kabel, länk som inte förhandlats fram eller port som redan tillhör en annan brygga.",
+ "lostSshTitle": "Jag förlorade SSH-åtkomst direkt efter att ha startat om nätverk",
+ "lostSshIntro": "Använd konsol / IPMI / iKVM för att nå värden. Återställ backup:",
+ "lostSshOutro": "Kör sedan analysen igen från konsolen för att ta reda på varför förslaget inte fungerade, oftast för att ersättningsporten inte är ansluten."
+ },
+ "related": {
+ "heading": "Relaterat",
+ "items": [
+ {
+ "label": "Beständiga gränssnittsnamn",
+ "href": "/docs/network/persistent-names",
+ "tail": " — binder namn till MAC-adresser så att problemet inte återkommer."
+ },
+ {
+ "label": "Konfigurationsanalys och guidad rensning",
+ "href": "/docs/network/config-analysis",
+ "tailRich": " — för föräldralösa iface block (den andra hälften av samma problem)."
+ },
+ {
+ "label": "Säkerhetskopiering och omstart av gränssnitt",
+ "href": "/docs/network/backup-restore",
+ "tail": " — manuella ögonblicksbilder och bläddring bland säkerhetskopior för återställning."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sv/docs/network/config-analysis.json b/web/messages/sv/docs/network/config-analysis.json
new file mode 100644
index 00000000..213f14af
--- /dev/null
+++ b/web/messages/sv/docs/network/config-analysis.json
@@ -0,0 +1,122 @@
+{
+ "meta": {
+ "title": "Konfigurationsanalys och guidad rensning | ProxMenux-dokumentation",
+ "description": "Upptäcker iface-block i /etc/network/interfaces som refererar till fysiska nätverkskort som inte längre finns på värden. Rapporterar dem och erbjuder guidad borttagning i 5 steg med obligatorisk säkerhetskopiering och förhandsvisning av varje block.",
+ "ogTitle": "Konfigurationsanalys och guidad rensning | ProxMenux-dokumentation",
+ "ogDescription": "Hitta och ta bort föräldralösa gränssnittsblock kvar av hårdvaruförändringar, med full förhandsgranskning och återgång."
+ },
+ "header": {
+ "title": "Konfigurationsanalys och guidad rensning",
+ "description": "Går igenom varje iface-block i /etc/network/interfaces och kontrollerar att det underliggande fysiska nätverkskortet finns kvar. Rapporterar överblivna block efter maskinvaruändringar och erbjuder guidad borttagning med säkerhetskopia, förhandsvisning och bekräftelse för varje block.",
+ "section": "Nätverk"
+ },
+ "intro": {
+ "title": "Vad detta gör",
+ "body": "Identifierar iface-deklarationer vars stödjande NIC inte längre finns på värden (vanligtvis efter att ett nätverkskort har bytts ut eller tagits bort). Erbjuder sedan en guidad rensning som endast tar bort de föräldralösa blocken, med en säkerhetskopia, en förhandsgranskning per sektion och en explicit slutlig bekräftelse."
+ },
+ "differs": {
+ "heading": "Hur det skiljer sig från brygganalys",
+ "headerAspect": "Aspekt",
+ "headerBridge": "Brygganalys",
+ "headerConfig": "Konfigurationsanalys",
+ "rows": [
+ {
+ "aspect": "Granskar",
+ "bridge": "Bryggor (vmbrX) och deras bridge-ports linje",
+ "config": "Varje iface-block utom loopback, bryggor och bondgränssnitt"
+ },
+ {
+ "aspect": "Detekterar",
+ "bridge": "Bryggor som refererar till en port som inte finns",
+ "config": "Fristående gränssnittsblock för nätverkskort som inte finns"
+ },
+ {
+ "aspect": "Reparationsåtgärder",
+ "bridge": "Ersätter portnamnet i bridge-ports",
+ "config": "Ta bort hela iface-blocket"
+ },
+ {
+ "aspect": "Exkluderar",
+ "bridge": "Ingenting – varje bro analyseras",
+ "config": "Bryggor (vmbrX) och bondgränssnitt (bondX) behålls alltid eftersom de är virtuella och det kan vara normalt att de saknas under start"
+ }
+ ],
+ "outro": "I praktiken kör du ofta båda i denna ordning: först konfigurationsanalys för att ta bort överblivna block, sedan brygganalys för att ändra portkopplingen för bryggor som använde det borttagna gränssnittet."
+ },
+ "step1": {
+ "heading": "Steg 1: analys (skrivskyddad)",
+ "intro": "Avbryter omedelbart om värden inte använder den klassiska stacken. Annars listas alla konfigurerade gränssnitt utom loopback med sina tillstånd:",
+ "virtTitle": "Virtuella gränssnitt skyddas",
+ "virtBody": "Bryggor (vmbrX) och bondgränssnitt (bondX) är virtuella konstruktioner. De kan av giltiga skäl saknas vid inspektionen, till exempel en brygga som ännu saknar portar. Analysen föreslår därför aldrig att de tas bort, bara fysiska nätverkskort."
+ },
+ "step2": {
+ "heading": "Steg 2: guidad rensning (5 steg)",
+ "intro": "Startas bara om du godkänner frågan i slutet av analysen. Varje steg kräver bekräftelse; om du avbryter avslutas flödet utan att skriva.",
+ "steps": [
+ {
+ "title": "1. Säkerhetskopia",
+ "body": "Kopierar /etc/network/interfaces till /var/backups/proxmenux/interfaces_backup_<TIMESTAMP>. Sökvägen visas före och efter.",
+ "tone": "blue"
+ },
+ {
+ "title": "2. Bekräfta borttagningslistan",
+ "body": "Listar exakt vilka fysiska gränssnittsblock som ska tas bort. Om nätverkskorten har dykt upp igen mellan analys och rensning, till exempel efter att ett kort satts i igen, avslutas flödet med ”Ingen rensning behövs.”",
+ "tone": "blue"
+ },
+ {
+ "title": "3. Förhandsvisa de exakta blocken",
+ "body": "Öppnar en rullningsbar vy av varje iface-block som skulle raderas, exakt som det står i filen. Här kan du till exempel upptäcka en viktig up-hook som du vill behålla.",
+ "tone": "blue"
+ },
+ {
+ "title": "4. Tillämpa borttagningen",
+ "body": "För varje föräldralös gränssnitt, kör sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces. Det tar bort från matchande iface linje upp till nästa tomma rad.",
+ "tone": "amber"
+ },
+ {
+ "title": "5. Verifiering",
+ "body": "Läser filen igen, listar det som togs bort och kontrollerar återstående gränssnitt. Skriver ut återställningskommandot. Startar inte om nätverket automatiskt — borttagning av ett oanvänt block kan säkert tillämpas vid nästa omstart utan att ändra det aktuella tillståndet.",
+ "tone": "emerald"
+ }
+ ],
+ "noRestartTitle": "Startar inte om nätverket automatiskt",
+ "noRestartBody": "Till skillnad från bryggreparation erbjuder rensningen ingen omstart av tjänsten. Att ta bort ett oanvänt gränssnittsblock påverkar inte den aktiva konfigurationen direkt, så en omstart är onödig och skulle innebära en onödig risk för anslutningen. Ändringen börjar gälla vid nästa manuella systemctl restart networking eller vid nästa systemomstart."
+ },
+ "caveats": {
+ "heading": "Viktiga förbehåll",
+ "boundaryTitle": "Blockgränsen är den första tomma linjen",
+ "boundaryBody": "sed-mönstret raderar från iface <name> till nästa tomma rad. Om /etc/network/interfaces saknar tomma rader mellan block, vilket är ovanligt men möjligt efter manuell redigering, kan även nästa block tas bort. Därför är steg 3 obligatoriskt: granska förhandsvisningen innan du bekräftar.",
+ "tandemTitle": "Ett överblivet iface-block som används av en brygga upptäcks här, inte i brygganalysen",
+ "tandemBody": "Om vmbr0 deklarerar bridge-ports enp3s0 och enp3s0 också har ett eget block iface enp3s0 inet manual lämnar borttagning av enp3s0 en ogiltig referens i vmbr0. Kör brygganalys efter rensningen för att ändra eller ta bort bryggporten. De två flödena är avsedda att användas tillsammans."
+ },
+ "troubleshoot": {
+ "heading": "Felsökning",
+ "notFoundTitle": "Analysen visar mitt nya nätverkskort som ”HITTADES INTE”",
+ "notFoundBody": "Kärnan ser enheten under ett annat namn än det som står i filen. Kör ip link show för att se det verkliga namnet. Det här är precis ett sådant fall där beständiga gränssnittsnamn skulle förhindra problemet framöver.",
+ "tooMuchTitle": "Städningen tog bort för mycket (ett block jag ville behålla)",
+ "tooMuchBody": "Återställ från backupen tryckt i steg 5:",
+ "tooMuchOutro": "Redigera filen för hand för att lägga till en tydlig tom linje mellan block innan du kör rengöring, eller ta bort problematiskt block manuellt.",
+ "bridgeBreakTitle": "En bro slutar fungera efter rengöring",
+ "bridgeBreakBody": "Bryggan använde en port vars iface-block just togs bort. Kör brygganalys så föreslås ett befintligt fysiskt gränssnitt för bryggan."
+ },
+ "related": {
+ "heading": "Relaterat",
+ "items": [
+ {
+ "label": "Brygganalys och guidad reparation",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — Den naturliga uppföljningen efter en rengöring."
+ },
+ {
+ "label": "Beständiga gränssnittsnamn",
+ "href": "/docs/network/persistent-names",
+ "tail": " — stoppar föräldralösa block från att ackumulera efter varje hårdvaruförändring."
+ },
+ {
+ "label": "Säkerhetskopiering och omstart av gränssnitt",
+ "href": "/docs/network/backup-restore",
+ "tail": " — manuella ögonblicksbilder och bläddring bland säkerhetskopior för återställning."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sv/docs/network/diagnostics.json b/web/messages/sv/docs/network/diagnostics.json
new file mode 100644
index 00000000..4baf1157
--- /dev/null
+++ b/web/messages/sv/docs/network/diagnostics.json
@@ -0,0 +1,94 @@
+{
+ "meta": {
+ "title": "Diagnostik | ProxMenux Dokumentation",
+ "description": "Tre enstaka skrivskyddade diagnostikkontroller: Visa routningstabell, Testa anslutning och Avancerad diagnostik. Ren inspektion — skriver aldrig till /etc/network/interfaces och kör aldrig kommandon som ändrar systemet, med ett uttryckligt undantag: fullständig borttagning av NetworkManager, om det upptäcks, kräver ditt samtycke.",
+ "ogTitle": "Diagnostik | ProxMenux Dokumentation",
+ "ogDescription": "Skrivskyddad nätverksdiagnostik för Proxmox-värden: routning, nåbarhet och avancerad statistik."
+ },
+ "header": {
+ "title": "Diagnostik",
+ "description": "Tre enstaka skrivskyddade kontroller av nätverkets aktuella tillstånd: routningstabell, anslutningstest och avancerad statistik. Ingen skriver till /etc/network/interfaces — säkra att använda när som helst, även via SSH. För interaktiv övervakning i realtid, se Övervakningsverktyg i realtid.",
+ "section": "Nätverk"
+ },
+ "intro": {
+ "title": "Vad detta gör",
+ "body": "Visar information om routning, nåbarhet och samlad statistik utan att ändra något. Använd verktyget för att kontrollera att nätverket fungerar eller identifiera dubbla IP-adresser. För kontinuerlig trafikövervakning, se Övervakningsverktyg i realtid; för att visa den obearbetade konfigurationsfilen, se Säkerhetskopiering och omstart av gränssnitt."
+ },
+ "routing": {
+ "heading": "Visa routningstabell",
+ "body": "Listar alla rutter som kärnan använder för tillfället (ip route show) och markerar standardgatewayen. Användbart för att kontrollera att internettrafiken går genom rätt gränssnitt och att inga kvarvarande gamla rutter har företräde."
+ },
+ "connectivity": {
+ "heading": "Testa anslutning",
+ "intro": "Skickar två ICMP-sonder till vart och ett av tre mål i tur och ordning och rapporterar resultatet för varje mål. Kör sedan nslookup google.com för att verifiera DNS-uppslagning oberoende av ICMP.",
+ "headerTest": "Test",
+ "headerTarget": "Mål",
+ "headerConfirms": "Vad den bekräftar",
+ "rows": [
+ {
+ "test": "Google DNS",
+ "target": "8.8.8.8",
+ "confirms": "Extern nåbarhet via en välkänd anycast-IP-adress"
+ },
+ {
+ "test": "Cloudflare DNS",
+ "target": "1.1.1.1",
+ "confirms": "Oberoende andra åsikt om Google blockerar ICMP"
+ },
+ {
+ "test": "Gateway",
+ "target": "(standardrutt)",
+ "confirms": "L2 / L3-anslutning till den lokala routern"
+ },
+ {
+ "test": "DNS-upplösning",
+ "target": "google.com",
+ "confirms": "DNS server är tillgänglig och svarar"
+ }
+ ],
+ "readingTitle": "Läsa resultatet",
+ "readingBody": "Om gatewaytestet lyckas men de offentliga DNS-målen inte svarar har du lokal anslutning men inget internet — kontrollera gatewayens anslutning uppströms. Om DNS-uppslagning misslyckas men ping till 8.8.8.8 fungerar ligger problemet i DNS-resolvern, inte i nätverket: kontrollera /etc/resolv.conf."
+ },
+ "advanced": {
+ "heading": "Avancerad diagnostik",
+ "intro": "Sammanställer statistik för hela nätverket och utför en serie kontroller av vanliga problem. Rapporterar antalet aktiva anslutningar, lyssnande portar och totalt antal gränssnitt samt pekar uttryckligen ut två problematiska konfigurationer:",
+ "items": [
+ "NetworkManager körs på en Proxmox-värd. NetworkManager och Proxmox ifupdown står i konflikt: båda försöker hantera gränssnitten, vilket gör att bryggor växlar mellan aktivt och inaktivt tillstånd eller inte kan aktiveras. Om NetworkManager upptäcks erbjuder verktyget en interaktiv bekräftelse för att stoppa, inaktivera och ta bort det helt (detta är den enda diagnostik som kan ändra systemet, och bara efter uttryckligt samtycke).",
+ "Dubbla IP-adresser på olika gränssnitt. Två gränssnitt med samma IPv4-adress orsakar intermittenta anslutningsproblem som är mycket svåra att felsöka inifrån en VM. Upptäcks via ip -4 addr show | sort | uniq -d."
+ ],
+ "nmTitle": "NetworkManager-prompten är den enda modifierande åtgärden här",
+ "nmBody": "Alla andra kontroller i Avancerad diagnostik är skrivskyddade. Borttagning av NetworkManager kräver en ja/nej-bekräftelse och kör systemctl stop / disable + apt-get purge -y network-manager. Om du avböjer ändras ingenting."
+ },
+ "troubleshoot": {
+ "heading": "Felsökning",
+ "gwTitle": "Testa anslutning rapporterar ett gatewayfel men värden har internetåtkomst",
+ "gwBody": "Vissa routrar svarar inte på ICMP via sitt interna gränssnitt även om de vidarebefordrar trafiken korrekt. Testa med traceroute 8.8.8.8 från en konsol: om det andra hoppet är din internetleverantör och det offentliga DNS-testet lyckades fungerar gatewayen trots att ping misslyckades.",
+ "dupTitle": "Avancerad diagnostik fortsätter att rapportera dubbla IP-adresser efter att jag tagit bort en",
+ "dupBody": "Kontrollen granskar kärnans aktuella tillstånd, inte konfigurationsfilen. Kör ip -4 addr show för att kontrollera. Om dubbletten finns kvar har ett gränssnitt fortfarande adressen. Använd ip addr del <IP>/<mask> dev <iface> för att ta bort den från det aktuella tillståndet och redigera sedan /etc/network/interfaces om den också är beständigt konfigurerad."
+ },
+ "related": {
+ "heading": "Relaterat",
+ "items": [
+ {
+ "label": "Övervakningsverktyg i realtid",
+ "href": "/docs/network/monitoring",
+ "tail": " — interaktiva iftop / iptraf-ng / iperf3-startare."
+ },
+ {
+ "label": "Brygganalys och guidad reparation",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — när en vmbrX saknar sin fysiska port."
+ },
+ {
+ "label": "Konfigurationsanalys och guidad rensning",
+ "href": "/docs/network/config-analysis",
+ "tail": " — när ett gammalt nätverkskort fortfarande deklareras men inte längre finns."
+ },
+ {
+ "label": "Säkerhetskopiering och omstart av gränssnitt",
+ "href": "/docs/network/backup-restore",
+ "tail": " — för att ta en ögonblicksbild av konfigurationen före varje ändring."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sv/docs/network/index.json b/web/messages/sv/docs/network/index.json
new file mode 100644
index 00000000..f8a424ea
--- /dev/null
+++ b/web/messages/sv/docs/network/index.json
@@ -0,0 +1,107 @@
+{
+ "meta": {
+ "title": "Nätverkshantering i Proxmox — Bryggor, bondning, diagnostik, reparation | ProxMenux",
+ "description": "Skrivskyddad diagnostik, analyser med efterföljande förslag och guidade reparationer för nätverksstacken i Debian / Proxmox (/etc/network/interfaces). Inspektera bryggor och bondgränssnitt, starta övervakningsverktyg i realtid, ge gränssnitt beständiga namn, säkerhetskopiera och starta om nätverket säkert — med obligatoriska säkerhetskopior och förhandsvisning steg för steg.",
+ "ogTitle": "Nätverkshantering i Proxmox — Bryggor, bondning, diagnostik, reparation",
+ "ogDescription": "Diagnostik, analys och guidade reparationer för Proxmox nätverksstack med obligatoriska säkerhetskopior och förhandsvisning steg för steg.",
+ "twitterTitle": "Nätverkshantering i Proxmox | ProxMenux",
+ "twitterDescription": "Bryggor, bondning, diagnostik och guidade reparationer för Proxmox nätverksstack med obligatoriska säkerhetskopior."
+ },
+ "header": {
+ "title": "Nätverkshantering",
+ "description": "Skrivskyddad diagnostik, analysrapporter med efterföljande förslag och guidade reparationer för den klassiska nätverksstacken i Debian/Proxmox. Varje destruktiv åtgärd tar först en säkerhetskopia och visar de exakta ändringarna innan de tillämpas.",
+ "section": "Nätverk"
+ },
+ "intro": {
+ "title": "Vad menyn används till",
+ "body": "Inspektera, diagnostisera och vid behov reparera Proxmox-värdens nätverkskonfiguration utan att förlora fjärråtkomsten. Verktygen följer en princip: läs först, föreslå sedan och tillämpa endast med uttryckligt samtycke och en säkerhetskopia. Det finns ingen knapp som automatiskt åtgärdar allt."
+ },
+ "openingMenu": {
+ "heading": "Öppna menyn",
+ "intro": "Välj Nätverk i ProxMenux huvudmeny. Då visas följande:",
+ "imageAlt": "Nätverkshanteringsmenyn med alternativ för diagnostik, övervakning, analys, reparation, beständiga namn och säkerhetskopiering"
+ },
+ "safety": {
+ "heading": "Säkerhetsmodellen",
+ "body": "Att redigera nätverkskonfigurationen på en fjärransluten Proxmox-värd är ett av de enklaste sätten att låsa sig ute. ProxMenux tar hänsyn till det vid varje åtgärd. Verktygen delas in i tre nivåer efter hur de fungerar — välj det kort som motsvarar ditt mål:"
+ },
+ "tiers": {
+ "readOnly": {
+ "title": "Skrivskyddad",
+ "body": "Ren inspektion. Kan inte ändra systemet under några omständigheter.",
+ "items": [
+ "Routningstabell, anslutningstester, avancerad statistik",
+ "Trafikövervakning i realtid (iftop, iptraf-ng)",
+ "Bandbreddstest (iperf3)"
+ ]
+ },
+ "analyze": {
+ "title": "Analysera, sedan föreslå",
+ "body": "Upptäcker problem, skriver ut en rapport med föreslagna skalkommandon och stannar sedan. Du avgör om du vill gå vidare till den guidade reparationen.",
+ "items": [
+ "Analys av bryggkonfiguration",
+ "Nätverkskonfigurationsanalys"
+ ]
+ },
+ "apply": {
+ "title": "Tillämpa med säkerhetskopia",
+ "body": "Ändrar systemet. Tar alltid först en tidsstämplad säkerhetskopia av den berörda filen och visar en förhandsvisning innan den skriver.",
+ "items": [
+ "Beständiga gränssnittsnamn (.link-filer)",
+ "Manuell säkerhetskopiering, återställning och omstart av tjänsten"
+ ]
+ }
+ },
+ "classicTitle": "Endast den klassiska stacken",
+ "classicBody": "Varje analys- och reparationsfunktion kontrollerar den aktiva nätverkshanteraren innan något ändras. Om värden kör netplan, systemd-networkd eller NetworkManager avbryts verktyget omedelbart med ett tydligt meddelande — menyn stöder endast den klassiska Debian/Proxmox-stacken i /etc/network/interfaces. Det är avsiktligt: att redigera en netplan-fil enligt regler för ifupdown skulle skada konfigurationen utan att det märks.",
+ "backups": {
+ "heading": "Var säkerhetskopiorna sparas",
+ "intro": "Varje guidad reparation, återställning eller manuell säkerhetskopia skriver en tidsstämplad kopia av /etc/network/interfaces till /var/backups/proxmenux/:",
+ "rollbackIntro": "Så återställer du manuellt från en konsol:"
+ },
+ "readOnlySection": {
+ "heading": "Skrivskyddad inspektion",
+ "body": "Börja här när något verkar fel. Ren inspektion — skriver aldrig till /etc/network/interfaces och kör aldrig kommandon som ändrar systemet, med ett uttryckligt undantag: fullständig borttagning av NetworkManager, om det upptäcks, kräver ditt samtycke. Kan användas säkert via SSH när som helst.",
+ "options": [
+ {
+ "title": "Diagnostik",
+ "description": "Tre enstaka skrivskyddade kontroller: Visa routningstabell, Testa anslutning och Avancerad diagnostik. Ren inspektion — skriver aldrig till systemet."
+ },
+ {
+ "title": "Övervakningsverktyg i realtid",
+ "description": "Tre interaktiva verktygsstartare: iftop (bandbredd i realtid per värdpar), iptraf-ng (trafikövervakning med flera lägen) och iperf3 (bandbreddstest i server- eller klientläge)."
+ }
+ ]
+ },
+ "analyzeSection": {
+ "heading": "Analysera, sedan föreslå",
+ "body": "Används när en inspektion eller ett verkligt avbrott pekar på ett konfigurationsproblem. Varje verktyg granskar den relevanta delen av /etc/network/interfaces, skriver ut en detaljerad rapport med det exakta skalkommando som skulle åtgärda varje problem och stannar. Om du därefter godkänner den valfria guidade reparationen säkerhetskopieras och förhandsvisas varje ändring innan den skrivs.",
+ "options": [
+ {
+ "title": "Brygganalys och guidad reparation",
+ "description": "Upptäcker vmbrX-bryggor med saknade eller ogiltiga portar, vilket är vanligt efter omnumrering av PCI-enheter. Visar först en rapport och reparerar endast om du godkänner det guidade flödet med 5 steg."
+ },
+ {
+ "title": "Konfigurationsanalys och guidad rensning",
+ "description": "Hittar fysiska gränssnitt som deklareras i /etc/network/interfaces men inte längre finns, alltså överblivna konfigurationer efter maskinvaruändringar. Rapporterar dem och erbjuder guidad borttagning."
+ }
+ ]
+ },
+ "applySection": {
+ "heading": "Tillämpa med säkerhetskopia",
+ "body": "Dessa verktyg är avsedda att skriva till disk. Varje verktyg tar först en tidsstämplad säkerhetskopia av den berörda filen, och destruktiva alternativ som återställning och omstart kräver ett uttryckligt ja/nej-svar. Beständiga gränssnittsnamn börjar gälla vid nästa omstart, inte omedelbart, så inställningen kan planeras säkert även på en fjärransluten värd.",
+ "options": [
+ {
+ "title": "Beständiga gränssnittsnamn",
+ "description": "Binder gränssnittsnamn (eno1, enp3s0, …) till MAC-adresser via systemds .link-filer. Namnen består när PCI-kort byter plats, kärnan uppgraderas och andra nätverkskort läggs till eller tas bort."
+ },
+ {
+ "title": "Säkerhetskopiering och omstart av gränssnitt",
+ "description": "Ta en manuell ögonblicksbild av /etc/network/interfaces, bläddra bland och återställ tidigare säkerhetskopior, visa den aktuella konfigurationen och starta om nätverkstjänsten vid behov."
+ }
+ ]
+ },
+ "consoleTitle": "Ha konsolåtkomst redo",
+ "consoleSubTitle": "Före varje reparation på en fjärransluten värd",
+ "consoleBody": "Om du är ansluten via SSH och bara har en åtkomstväg till värden bör du ha en reservväg redo innan du ändrar nätverket: fysisk konsol / IPMI / iKVM eller en annan dator i samma LAN. De guidade reparationerna är säkra och erbjuder alltid ett kommando för att återställa ändringarna, men en felkonfigurerad brygga eller en bruten länk kan ändå låsa dig ute tills du kommer åt konsolen."
+}
diff --git a/web/messages/sv/docs/network/monitoring.json b/web/messages/sv/docs/network/monitoring.json
new file mode 100644
index 00000000..6ef3b059
--- /dev/null
+++ b/web/messages/sv/docs/network/monitoring.json
@@ -0,0 +1,136 @@
+{
+ "meta": {
+ "title": "Övervakningsverktyg i realtid | ProxMenux-dokumentation",
+ "description": "Tre interaktiva startare för nätverksverktyg: iftop (bandbredd i realtid per värdpar), iptraf-ng (trafikövervakning med flera lägen) och iperf3 (bandbreddstest i server- eller klientläge). Varje verktyg installeras vid första användningen.",
+ "ogTitle": "Övervakningsverktyg i realtid | ProxMenux-dokumentation",
+ "ogDescription": "Interaktiv nätverksövervakning och bandbreddstestning för Proxmox värd: iftop, iptraf-ng, iperf3."
+ },
+ "header": {
+ "title": "Övervakningsverktyg i realtid",
+ "description": "Tre interaktiva verktygsstartare för nätverksövervakning i realtid och bandbreddsmätning: iftop, iptraf-ng och iperf3. Varje verktyg installeras automatiskt via apt vid första användningen, körs i förgrunden och avslutas med den angivna tangenten. De ändrar inte värdens nätverkskonfiguration; iperf3 genererar testtrafik.",
+ "section": "Nätverk"
+ },
+ "intro": {
+ "title": "Vad detta gör",
+ "body": "Tre interaktiva övervakningsverktyg, var och en bakom sin egen meny. Första gången du startar ett installeras paketet tyst via apt-get. Efterföljande lanseringar börjar omedelbart. Inget av dessa verktyg ändrar värdnätverkskonfigurationen."
+ },
+ "when": {
+ "heading": "När du ska använda vilken",
+ "headerQuestion": "Fråga",
+ "headerUse": "Använd",
+ "rows": [
+ {
+ "question": "Vem mättar länken just nu?",
+ "use": "iftop"
+ },
+ {
+ "question": "Hur ser fördelningen per protokoll, paketstorlekarna och TCP-flödena ut?",
+ "use": "iptraf-ng"
+ },
+ {
+ "question": "Hur mycket bandbredd är faktiskt tillgänglig mellan två värdar?",
+ "use": "iperf3"
+ }
+ ]
+ },
+ "iftop": {
+ "heading": "Nätverksanvändning i realtid (iftop)",
+ "body": "Bandbredd i realtid per värdpar (källa ↔ destination) — som top för trafik. Visar de största flödena överst med glidande medelvärden över 2/10/40 sekunder. Bästa verktyget för frågan ”Varför är min upplänk mättad?”.",
+ "exit": "Avsluta: tryck på q. ProxMenux visar en påminnelse före start.",
+ "keysTitle": "Användbara tangenter i iftop",
+ "keysBody": "n växlar DNS-uppslagning, p visar portnummer, P pausar visningen, t växlar radens riktning (skickat / mottaget / båda), 1/2/3 sorterar efter medelvärdet över 2 s / 10 s / 40 s. Se man iftop för hela listan."
+ },
+ "iptraf": {
+ "heading": "Nätverksövervakningsverktyg (iptraf-ng)",
+ "intro": "En menystyrd trafikövervakare med flera lägen. iftop svarar på ”vem”, medan iptraf-ng svarar på ”vad”: antal byte och paket per protokoll, spårning av TCP-anslutningars tillstånd, histogram över paketstorlekar och LAN-aktivitet per station.",
+ "menuIntro": "Vid start visas en meny med fem alternativ:",
+ "headerMode": "Läge",
+ "headerUseFor": "Använd den för",
+ "rows": [
+ {
+ "mode": "IP trafikövervakning",
+ "useFor": "Lista i realtid över TCP-/UDP-/ICMP-/övriga IP-flöden med byteräknare och anslutningstillstånd"
+ },
+ {
+ "mode": "Allmän gränssnittsstatistik",
+ "useFor": "Samlat antal IPv4-/IPv6-/TCP-/UDP-/ICMP-/icke-IP-paket per nätverkskort"
+ },
+ {
+ "mode": "Detaljerad gränssnittsstatistik",
+ "useFor": "Samma som ovan men för ett gränssnitt, med paketstorlek och hastighetsdetalj"
+ },
+ {
+ "mode": "Statistisk fördelning",
+ "useFor": "Histogram över paketstorleksfördelningen per TCP-/UDP-port"
+ },
+ {
+ "mode": "Övervakning av LAN-stationer",
+ "useFor": "Per-MAC trafikstatistik för den lokala sändningsdomänen"
+ }
+ ],
+ "exit": "Avsluta: tryck på x i valfri vy eller Q i huvudmenyn. ProxMenux visar en påminnelse före start.",
+ "logTitle": "Logga insamlade data till fil",
+ "logBody": "Varje läge erbjuder loggning av insamlad statistik till /var/log/iptraf-ng/. Om du behöver dokumentera en trafikspik kan du låta verktyget köra, logga till fil och granska filen efteråt i stället för att försöka läsa skärmen i realtid."
+ },
+ "iperf3": {
+ "heading": "Bandbreddstest (iperf3)",
+ "intro1": "Mäter den faktiska TCP-genomströmningen mellan två värdar. Till skillnad från iftop / iptraf-ng, som observerar befintlig trafik, genererar iperf3 syntetisk trafik för att belastningstesta länken. Oumbärligt för frågor som ”Når min 10 GbE-länk verkligen 10 GbE?” eller ”Är nätverkskortet, switchen eller lagringen flaskhalsen?”.",
+ "intro2": "iperf3 är ett verktyg för två värdar: den ena kör som server och lyssnar på TCP-port 5201, den andra som klient som ansluter, skickar data och skriver ut hastigheten. ProxMenux-startaren frågar vilket läge du vill använda:",
+ "headerMode": "Läge",
+ "headerBehaviour": "Beteende",
+ "headerCli": "Motsvarande CLI-kommando",
+ "rows": [
+ {
+ "mode": "Server",
+ "behaviour": "Lyssnar på TCP 5201 och skriver ut resultat för varje inkommande test. Slutar på Ctrl+C.",
+ "cli": "iperf3 -s"
+ },
+ {
+ "mode": "Klient",
+ "behaviour": "Frågar efter serverns IP-adress eller värdnamn, ansluter, kör standardtestet på 10 sekunder och skriver ut rapporten.",
+ "cli": "iperf3 -c "
+ }
+ ],
+ "workflowIntro": "Typiskt arbetsflöde för att testa en 10 GbE länk mellan två Proxmox värdar:",
+ "workflow": [
+ "Öppna nätverksmenyn på värd A → Bandbreddstest (iperf3) → välj Server.",
+ "Öppna samma menyalternativ på värd B → välj Klient → ange IP-adressen för värd A.",
+ "Vänta 10 sekunder. Jämför den rapporterade hastigheten med länkens teoretiska maximum."
+ ],
+ "sample": "Exempel på klientutdata:",
+ "flagsTitle": "Användbara manuella flaggor (kör från ett skal)",
+ "flagsBody": "-t 60 längre test (60 s i stället för 10 s), -P 4 4 parallella strömmar (mättar länken snabbare), -R omvänd riktning (server → klient), -u -b 100M UDP-test med 100 Mbit/s (mätning av jitter och paketförlust), -p 5202 annan port (flera tester parallellt). Se man iperf3 för hela listan.",
+ "firewallTitle": "Öppna brandväggsporten på servern",
+ "firewallBody": "Servern lyssnar på TCP 5201 som standard. Om du kör servern i en Proxmox-värd med en strikt brandvägg (datacenter eller värdnivå), låt inkommande TCP 5201 från klientens IP för testets varaktighet, stäng sedan den igen. Samma gäller för nftables / iptables på bara värdar."
+ },
+ "install": {
+ "heading": "Första lanseringen installerar paketet",
+ "body": "Alla tre startare kontrollerar om programmet finns och kör annars apt-get update -qq && apt-get install -y <pkg>. Installationen sker utan utdata: menyn kan verka frusen i 10–30 sekunder första gången. Senare starter sker omedelbart."
+ },
+ "troubleshoot": {
+ "heading": "Felsökning",
+ "hangTitle": "Installationen fastnar vid första start",
+ "hangBody": "Värden har inget internet eller apt repos är oåtkomliga. Avbryt med Ctrl+C, kör apt-get update manuellt för att se det faktiska felet (DNS, repo signatur, proxy ...), sedan komma tillbaka till menyn.",
+ "refusedTitle": "iperf3-klient: ”unable to connect to server: Connection refused”",
+ "refusedBody": "Antingen körs inte servern eller så blockerar dess brandvägg TCP 5201. Kontrollera på servern med ss -tlnp | grep 5201 — det ska visa att iperf3 lyssnar. Om den lyssnar men klienten fortfarande misslyckas, kontrollera brandväggarna på vägen mellan de två värdarna.",
+ "slowTitle": "iperf3 rapporterar mycket lägre hastighet än förväntat för länken",
+ "slowBody": "Vanliga orsaker i sannolikhetsordning: (1) en av värdarnas CPU begränsar hastigheten — prova iperf3 -c <target> -P 4 för att använda flera kärnor; (2) trafiken passerar en långsammare länk, till exempel en gigabitswitch mellan två 10 GbE-kort; (3) olika MTU — kontrollera ip link show i båda ändarna; (4) avstängd NIC offloading — se communityskriptet Disable NIC Offloading om du har ett Intel e1000e-kort.",
+ "noTrafficTitle": "iftop / iptraf-ng visar ingen trafik för en upptagen värd",
+ "noTrafficBody": "Standardfångst är på det första upptäckta gränssnittet. Ange rätt från skalet: iftop -i vmbr0 eller iptraf-ng -i vmbr0. Menyn launcher använder standarden; för icke-standardgränssnitt, kör från en konsol."
+ },
+ "related": {
+ "heading": "Relaterat",
+ "items": [
+ {
+ "label": "Diagnostik",
+ "href": "/docs/network/diagnostics",
+ "tail": " — de enstaka skrivskyddade kontrollerna (routning, anslutning och avancerad statistik)."
+ },
+ {
+ "label": "Brygganalys och guidad reparation",
+ "href": "/docs/network/bridge-analysis",
+ "tail": " — när övervakningen visar att ett gränssnitt eller en brygga inte fungerar som det ska."
+ }
+ ]
+ }
+}
diff --git a/web/messages/sv/docs/network/persistent-names.json b/web/messages/sv/docs/network/persistent-names.json
new file mode 100644
index 00000000..adaf92cf
--- /dev/null
+++ b/web/messages/sv/docs/network/persistent-names.json
@@ -0,0 +1,130 @@
+{
+ "meta": {
+ "title": "Beständiga gränssnittsnamn | ProxMenux-dokumentation",
+ "description": "Bind Proxmox-gränssnittsnamn (eno1, enp3s0, …) till MAC-adresser via systemds .link-filer så att namnen består vid omnumrering av PCI-enheter, kärnuppgraderingar och när andra nätverkskort läggs till eller tas bort.",
+ "ogTitle": "Beständiga gränssnittsnamn | ProxMenux-dokumentation",
+ "ogDescription": "Förhindra att Proxmox gränssnittsnamn ändras när du ändrar maskinvaran. Använder systemds .link-filer med matchning på MAC-adress."
+ },
+ "header": {
+ "title": "Beständiga gränssnittsnamn",
+ "description": "Skapar en .link-fil för systemd per fysiskt nätverkskort som binder det kärntilldelade namnet till kortets MAC-adress. När detta tillämpats efter nästa omstart förblir gränssnittsnamnen stabila när du lägger till, tar bort eller flyttar PCIe-kort.",
+ "section": "Nätverk"
+ },
+ "intro": {
+ "title": "Vad detta gör",
+ "body": "För varje fysisk NIC på värden, skriver en liten fil under /etc/systemd/network/10-<iface>.link som säger: \"enheten med denna MAC måste alltid kallas detta namn\" . systemd-udevd tillämpar regeln vid varje start, innan ifupdown läser /etc/network/interfaces."
+ },
+ "problem": {
+ "heading": "Problemet detta löser",
+ "intro": "Linux härleder standardnamn för gränssnitt från PCI-topologin — eno1 = inbyggt nätverkskort, enp3s0 = kortet på PCI-buss 3, plats 0 osv. Namnschemat är deterministiskt vid samma maskinvaruplacering. Ändras placeringen kan namnen ändras:",
+ "items": [
+ "Lägg till en GPU före ett befintligt nätverkskort → nätverkskortets bussnummer kan ändras → namnet ändras.",
+ "Flytta ett kort till en annan PCIe slot → namnändringar.",
+ "BIOS-/UEFI-uppdatering som numrerar om enheter → namnen kan ändras.",
+ "Ersätt ett felaktigt kort med samma modell i en annan slot → namnändringar."
+ ],
+ "outro": "Efter en sådan ändring refererar /etc/network/interfaces fortfarande till det gamla namnet. Bryggan kan inte aktiveras och värden förlorar nätverksanslutningen. Beständiga namn förhindrar att detta händer igen."
+ },
+ "howWorks": {
+ "heading": "Hur det fungerar",
+ "arrowLabel": "per nätverkskort",
+ "nodes": {
+ "detectLabel": "Identifiera fysiska nätverkskort",
+ "detectDetail": "ls /sys/class/net/\nuteslut vmbr / bond /\ndocker / veth / wireguard …",
+ "readLabel": "Läs varje MAC",
+ "readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
+ "writeLabel": "Skriv .link-fil",
+ "writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
+ },
+ "minimalIntro": "Varje genererad fil är avsiktligt minimal:",
+ "minimalOutro": "Vid start matchar systemd-udevd enheten på MAC-adress och tilldelar det begärda namnet innan andra komponenter (ifupdown, kärnans standardnamngivning) kommer åt den. Filprefixet 10- ser till att reglerna läses in tidigt, före standardfilen 99-default.link."
+ },
+ "scope": {
+ "heading": "Vad som skrivs och vad som hoppas över",
+ "headerType": "Typ",
+ "headerBehaviour": "Beteende",
+ "headerWhy": "Varför",
+ "rows": [
+ {
+ "type": "Inbyggt nätverkskort / PCIe-nätverkskort",
+ "behaviour": ".link-fil skrivs",
+ "why": "Motsvarar en verklig PCI-enhet — det fall verktyget är avsett för"
+ },
+ {
+ "type": "Wi-Fi (phy80211)",
+ "behaviour": ".link-fil skrivs",
+ "why": "Har en verklig MAC-adress och gynnas av ett stabilt namn"
+ },
+ {
+ "type": "Bryggor (vmbrX)",
+ "behaviour": "Överhoppad",
+ "why": "Virtuell; namn kommer från /etc/network/interfaces"
+ },
+ {
+ "type": "Bondgränssnitt (bondX)",
+ "behaviour": "Överhoppad",
+ "why": "Virtuellt; bondgränssnittets namn anges av ifupdown"
+ },
+ {
+ "type": "veth / docker0 / br-XXXX",
+ "behaviour": "Överhoppad",
+ "why": "Skapas vid behov av Docker / LXC — ingen beständig maskinvara"
+ },
+ {
+ "type": "tap / fwpr / fwln",
+ "behaviour": "Överhoppad",
+ "why": "Skapas vid behov av Proxmox för varje VM/CT"
+ },
+ {
+ "type": "WireGuard / Cilium / Tailscale",
+ "behaviour": "Överhoppad",
+ "why": "Programvarugränssnitt som hanteras av sina egna daemoner"
+ }
+ ]
+ },
+ "safety": {
+ "heading": "Säkerhetsnät: tidigare .link-filer backas upp",
+ "intro": "Om /etc/systemd/network/ redan innehåller .link-filer från en tidigare körning eller andra verktyg kopieras de till en tidsstämplad säkerhetskopieringskatalog innan de nya skapas:",
+ "outro": "För att rulla tillbaka: kopiera filerna tillbaka från backupkatalogen och starta om.",
+ "rebootTitle": "Börjar gälla vid nästa omstart, inte omedelbart",
+ "rebootBody": "Ändringar i .link-filer tillämpas endast vid start, när udev räknar upp enheterna på nytt. Därför rapporterar verktyget ”Ändringarna tillämpas efter omstart”. Namnbyte på ett aktivt gränssnitt är riskabelt och försöks inte: en aktiv vmbr0 med medlemsgränssnitt skulle behöva konfigureras om atomärt. Åtgärden skjuts därför upp till nästa rena start."
+ },
+ "afterReboot": {
+ "heading": "Efter omstarten",
+ "intro": "När namnen är beständigt bundna är arbetsflödet för framtida maskinvaruändringar enkelt:",
+ "items": [
+ "Stäng av, ändra maskinvaran (lägg till kort, byt plats, …) och starta.",
+ "Varje NIC håller sitt tidigare namn eftersom dess MAC matchar en .link-fil.",
+ "Om ett nätverkskort ersätts med ett som har en annan MAC-adress får det ett standardnamn från kärnan (enp<bus>s<slot>). Kör menyn igen för att lägga till en .link-post för det nya kortets MAC-adress."
+ ]
+ },
+ "troubleshoot": {
+ "heading": "Felsökning",
+ "emptyTitle": "\"Inga fysiska gränssnitt hittades\" efter att ha kört verktyget",
+ "emptyBody": "Kärnan ser inga gränssnitt som bygger på PCI / phy80211 på värden. Kontrollera med ls -l /sys/class/net/ — varje post ska ha antingen en symbolisk länk device (PCI) eller en post phy80211 (Wi-Fi). Om båda saknas för ett verkligt nätverkskort är drivrutinen inte inläst.",
+ "noChangeTitle": "Efter omstarten ändrades inte namnen som förväntat.",
+ "noChangeBody": "Kontrollera att filen finns och är korrekt formaterad: cat /etc/systemd/network/10-<iface>.link. Kontrollera sedan udev-loggarna: journalctl -u systemd-udevd -b | grep -i link. En vanlig orsak är en kvarvarande kärnparameter net.ifnames=0 som helt inaktiverar förutsägbara namn — ta bort den från /etc/default/grub, kör update-grub och starta om.",
+ "undoTitle": "Jag vill ångra beständig namngivning",
+ "undoBody": "Radera antingen .link-filerna (rm /etc/systemd/network/10-*.link) eller återställ dem från säkerhetskopieringskatalogen som skapades vid föregående körning. Starta om för att tillämpa ändringen."
+ },
+ "related": {
+ "heading": "Relaterat",
+ "items": [
+ {
+ "label": "Brygganalys och guidad reparation",
+ "href": "/docs/network/bridge-analysis",
+ "tailRich": " — återställningsvägen när namnen redan har ändrats."
+ },
+ {
+ "label": "Konfigurationsanalys och guidad rensning",
+ "href": "/docs/network/config-analysis",
+ "tail": " — för att ta bort föräldralösa block kvar efter namnskiften."
+ },
+ {
+ "label": "Diagnostik",
+ "href": "/docs/network/diagnostics",
+ "tailRich": " — bekräfta de nya namnen med Visa routningstabell efter omstart."
+ }
+ ]
+ }
+}