Ausgangslage und Ziel
Teil 1 hat den Bareos-Server mit Director, Storage Daemon, PostgreSQL-Katalog, bconsole und WebUI aufgebaut. Jetzt wird client01.example.test als getrenntes Debian-13-System angebunden. Der Client soll nur die ausdrücklich ausgewählten Testdaten liefern und über das private Lab-Netz mit Director und Storage kommunizieren.
Ein installierter File Daemon ist noch kein erfolgreich angebundener Client. Erst übereinstimmende Ressourcennamen und Secrets, eine erreichbare private Adresse, eine gültige Director-Konfiguration sowie ein ausgeführter Backup-Job ergeben einen belastbaren Nachweis.
- Bareos-Server: bareos01.example.test, private Adresse 192.168.77.10.
- Client: client01.example.test, private Adresse 192.168.77.11.
- Bareos: Community-Build 25.1.2~pre49.d5742f640 aus dem offiziellen Debian-13-Repository.
- Administrativer SSH-Benutzer im Lab: fone-rumboldm mit fone-admins.
- Testumfang: Verbindung, Schätzung und Full-Backup eines isolierten Testverzeichnisses.
1. Repository einbinden und File Daemon installieren
Client und Server sollten aus einem zueinander passenden Bareos-Kanal stammen. Das Lab verwendet deshalb auf beiden Hosts dasselbe offizielle current-Repository. Prüfen Sie das Installationsskript vor der Ausführung und dokumentieren Sie den tatsächlich installierten Paketstand.
sudo apt-get updatesudo apt-get install -y ca-certificates curl gnupgcurl -fsSLo /tmp/add_bareos_repositories.sh https://download.bareos.org/current/Debian_13/add_bareos_repositories.shless /tmp/add_bareos_repositories.shsudo sh /tmp/add_bareos_repositories.shsudo apt-get updatesudo apt-get install -y bareos-filedaemondpkg-query -W bareos-filedaemon bareos-common
2. Client-Identität und Director-Zugriff konfigurieren
Die Client-Ressource des File Daemons erhält einen eindeutigen Namen und bindet im Lab ausschließlich an die private Adresse. Plugin Names bleibt bewusst leer, weil dieser Test keine Plugins benötigt. Damit wird kontrolliert, welche Erweiterungen der File Daemon laden darf.
Die Director-Ressource autorisiert bareos-dir mit einem eigenen zufälligen Secret. Dasselbe Secret muss in der Client-Ressource auf dem Director hinterlegt sein. Es gehört in eine Secret-Verwaltung und wird hier nur als Platzhalter gezeigt. Aktuelle Bareos-Versionen verwenden bei dieser Konstellation TLS-PSK; der reale Lauf handelte TLS 1.3 mit CHACHA20-POLY1305 aus.
sudoedit /etc/bareos/bareos-fd.d/client/myself.confClient {Name = client01-fdFD Address = 192.168.77.11Plugin Names = ""}sudoedit /etc/bareos/bareos-fd.d/director/bareos-dir.confDirector {Name = bareos-dirPassword = "<SECRET_FROM_SECRET_MANAGEMENT>"}
3. Client-Ressource auf dem Director anlegen
Der Director benötigt das Gegenstück zur File-Daemon-Konfiguration. Name, Adresse und Secret müssen exakt zusammenpassen. Verwenden Sie eine auflösbare interne Adresse oder eine feste private IP und vermeiden Sie localhost für entfernte Clients.
sudoedit /etc/bareos/bareos-dir.d/client/client01-fd.confClient {Name = client01-fdAddress = 192.168.77.11Password = "<SAME_SECRET_AS_ON_CLIENT>"Maximum Concurrent Jobs = 5}
4. Ein begrenztes FileSet definieren
Für die erste Abnahme wird nicht sofort das gesamte System gesichert. Ein kleines, kontrolliertes Verzeichnis macht sichtbar, welche Dateien erwartet werden, und reduziert das Risiko eines falsch gesetzten Include-Pfads. ACL- und Extended-Attribute-Unterstützung werden ausdrücklich aktiviert.
sudo install -d -m 0755 /srv/bareos-test/subdirectoryprintf "%s\n" "ForgeOne Bareos client onboarding test" | sudo tee /srv/bareos-test/README.txtsudoedit /etc/bareos/bareos-dir.d/fileset/client01-test.confFileSet {Name = "client01-test"Include {Options {Signature = XXH128Acl Support = yesXattr Support = yes}File = /srv/bareos-test}}
5. Backup-Job mit bestehendem JobDefs verbinden
Der Job verwendet die geprüfte Paketressource DefaultJob und überschreibt Client, FileSet und Full-Pool. Dadurch bleiben gemeinsame Einstellungen an einer Stelle, während der konkrete Schutzumfang lesbar bleibt. Ein produktiver Zeitplan wird erst nach Festlegung von RPO, Wartungsfenster und Retention aktiviert.
sudoedit /etc/bareos/bareos-dir.d/job/backup-client01.confJob {Name = "backup-client01"JobDefs = "DefaultJob"Client = "client01-fd"FileSet = "client01-test"Pool = "Full"}
6. Beide Konfigurationen vor dem Neustart prüfen
Prüfen Sie zuerst den File Daemon und anschließend den Director. Ein Dienst darf nur mit fehlerfreier Konfiguration neu gestartet oder geladen werden. Deprecated-Warnungen sind ebenfalls zu bereinigen; im Lab wurde eine veraltete File-Daemon-Direktive entfernt, bevor die Abnahme fortgesetzt wurde.
sudo bareos-fd -tsudo systemctl restart bareos-filedaemonsystemctl is-active bareos-filedaemon# Auf dem Directorsudo -u bareos bareos-dir -tsudo systemctl reload bareos-director
7. Verbindung und Auswahl mit bconsole prüfen
status client beweist Authentifizierung, Protokoll und Erreichbarkeit. estimate lässt den Client das FileSet auswerten, ohne bereits einen Backup-Job zu schreiben. Im Lab meldete der Client Bareos 25.1.2 auf Debian 13; die Verbindung nutzte Immediate TLS mit TLS 1.3. Die Schätzung ergab fünf Dateisystemeinträge und 135 Byte Nutzdaten.
sudo -u bareos bconsolestatus client=client01-fdestimate job=backup-client01 level=Fullquit
8. Full-Backup ausführen und Ergebnis lesen
Der erste Full-Job wurde interaktiv und ohne produktive Daten gestartet. Bareos legte das Volume Full-0001 an, schrieb fünf Einträge und beendete File Daemon und Storage Daemon jeweils mit Status OK. Die Jobtabelle zeigt Status T für Terminated successfully.
Ein erfolgreicher Backup-Job beweist noch keine Wiederherstellbarkeit. Er bestätigt aber den vollständigen Pfad Director zu Client, Client zu Storage und Storage zum Catalog. Der nächste Serienteil führt deshalb einen isolierten Restore mit Inhalts- und Metadatenvergleich durch.
sudo -u bareos bconsolerun job=backup-client01 level=Full yeswaitmessageslist jobs client=client01-fd lastquit
Typische Fehler systematisch eingrenzen
Authentication failed weist meist auf abweichende Ressourcennamen oder Secrets hin. Connection refused spricht eher für einen inaktiven File Daemon, eine falsche Bind-Adresse oder eine Firewall-Regel. Ein erfolgreicher Director-Kontakt bei scheiterndem Job kann auf den separaten Datenpfad zum Storage Daemon hinweisen.
- Name und Password in Director- und File-Daemon-Ressource zeichengetreu vergleichen.
- Mit ss prüfen, ob der File Daemon auf der erwarteten privaten Adresse und Port 9102 lauscht.
- Namensauflösung und Routing von Director zum Client sowie vom Client zum Storage getrennt testen.
- bareos-fd -t und bareos-dir -t ausführen, bevor Logs interpretiert werden.
- Director-, File-Daemon- und Storage-Meldungen anhand derselben Job-ID zusammenführen.
- Keine TLS-Warnung durch Abschalten der Verschlüsselung umgehen; Vertrauens- und Namensproblem beheben.
Technische Abnahme des Client-Onboardings
Diese Abnahme bestätigt Installation, Authentifizierung und einen real ausgeführten Full-Backup-Job. Ein Restore wird bewusst erst nach seinem eigenen Test als bestanden markiert.
- File Daemon und Director verwenden eindeutige, übereinstimmende Ressourcennamen.
- Das Client-Secret liegt nicht im Artikel oder Repository und ist auf beiden Seiten identisch.
- Der File Daemon bindet an die dokumentierte private Adresse 192.168.77.11:9102.
- bareos-fd -t und bareos-dir -t laufen ohne Fehler oder Deprecated-Warnungen.
- status client bestätigt Immediate TLS und TLS 1.3.
- estimate bestätigt fünf ausgewählte Einträge und 135 Byte im Test-FileSet.
- Full-Job 2 endet mit Status Success beziehungsweise T, null Fehlern und Volume Full-0001.
- Desktop- und Mobile-Ansicht der realen WebUI wurden mit Playwright ohne Console-Fehler geprüft.
- Noch offen und nicht behauptet: Restore, produktiver Zeitplan, Retention, Offsite und Disaster Recovery.







