Zum Hauptinhalt springen

Linux Agent

Installieren Sie den NetRecon Agent auf Linux-Endgeräten für kontinuierliche Überwachung und Inventarberichte.

Voraussetzungen

  • Ubuntu 20.04+ / Debian 11+ / RHEL 8+ / Fedora 36+ (oder kompatibel)
  • Root- oder sudo-Zugriff (für die Installation)
  • Netzwerkverbindung zur Probe (direkt oder über Cloudflare Tunnel)
  • Ein Registrierungstoken vom Probe-Dashboard
  • systemd (für die Dienstverwaltung)

Manuelle Installation

Debian/Ubuntu (DEB)

Schritt 1: Paket herunterladen

# Vom Probe-Dashboard herunterladen oder curl verwenden:
curl -O https://probe.netreconapp.com/downloads/netrecon-agent-linux-amd64.deb

Für ARM64-Systeme:

curl -O https://probe.netreconapp.com/downloads/netrecon-agent-linux-arm64.deb

Schritt 2: Installieren

sudo dpkg -i netrecon-agent-linux-amd64.deb

Schritt 3: Konfigurieren und starten

sudo netrecon-agent configure \
--server-url "https://probe.netreconapp.com" \
--enrollment-token "your-token-here"

sudo systemctl enable --now netrecon-agent

RHEL/Fedora (RPM)

Schritt 1: Paket herunterladen

curl -O https://probe.netreconapp.com/downloads/netrecon-agent-linux-amd64.rpm

Schritt 2: Installieren

sudo rpm -i netrecon-agent-linux-amd64.rpm
# oder mit dnf:
sudo dnf install ./netrecon-agent-linux-amd64.rpm

Schritt 3: Konfigurieren und starten

sudo netrecon-agent configure \
--server-url "https://probe.netreconapp.com" \
--enrollment-token "your-token-here"

sudo systemctl enable --now netrecon-agent

CLI-Setup-Assistent

Der Agent enthält einen interaktiven Setup-Assistenten für die manuelle Konfiguration:

sudo netrecon-agent setup

Der Assistent fragt nach:

  1. Server-URL — die HTTPS-URL der Probe
  2. Registrierungstoken — fügen Sie Ihren Token ein
  3. Heartbeat-Intervall — Häufigkeit der Check-ins (Standard: 30s)
  4. Berichtsintervall — Häufigkeit des vollständigen Daten-Uploads (Standard: 15m)
  5. Log-Level — debug, info, warn, error (Standard: info)

Nach Abschluss des Assistenten startet der Agent automatisch.

Automatisierte Bereitstellung

Einzeiler-Installationsskript

Für die schnelle Bereitstellung auf mehreren Servern:

curl -fsSL https://probe.netreconapp.com/install-agent.sh | sudo bash -s -- \
--server-url "https://probe.netreconapp.com" \
--enrollment-token "your-fleet-token"

Das Skript:

  1. Erkennt die Linux-Distribution und Architektur
  2. Lädt das passende Paket herunter (DEB oder RPM)
  3. Installiert das Paket
  4. Konfiguriert den Agent mit den bereitgestellten Parametern
  5. Startet den Dienst

Ansible Playbook

Für Konfigurationsmanagement im großen Maßstab:

---
- name: Deploy NetRecon Agent
hosts: all
become: true
vars:
netrecon_server_url: "https://probe.netreconapp.com"
netrecon_enrollment_token: "your-fleet-token"
netrecon_agent_version: "2.2.0"

tasks:
- name: Download agent package (Debian)
get_url:
url: "{{ netrecon_server_url }}/downloads/netrecon-agent-linux-{{ ansible_architecture }}.deb"
dest: /tmp/netrecon-agent.deb
when: ansible_os_family == "Debian"

- name: Install agent (Debian)
apt:
deb: /tmp/netrecon-agent.deb
when: ansible_os_family == "Debian"

- name: Download agent package (RedHat)
get_url:
url: "{{ netrecon_server_url }}/downloads/netrecon-agent-linux-{{ ansible_architecture }}.rpm"
dest: /tmp/netrecon-agent.rpm
when: ansible_os_family == "RedHat"

- name: Install agent (RedHat)
dnf:
name: /tmp/netrecon-agent.rpm
state: present
when: ansible_os_family == "RedHat"

- name: Configure agent
command: >
netrecon-agent configure
--server-url "{{ netrecon_server_url }}"
--enrollment-token "{{ netrecon_enrollment_token }}"

- name: Enable and start agent
systemd:
name: netrecon-agent
enabled: true
state: started

Shell-Skript für mehrere Server

#!/bin/bash
SERVERS="server1.example.com server2.example.com server3.example.com"
TOKEN="your-fleet-token"
SERVER_URL="https://probe.netreconapp.com"

for server in $SERVERS; do
echo "Deploying to $server..."
ssh root@$server "curl -fsSL ${SERVER_URL}/install-agent.sh | bash -s -- --server-url ${SERVER_URL} --enrollment-token ${TOKEN}"
done

Agent-Verwaltung

Konfigurationsdatei

/etc/netrecon/agent.yaml
server_url: "https://probe.netreconapp.com"
heartbeat_interval: 30
report_interval: 900
log_level: "info"
log_file: "/var/log/netrecon/agent.log"

Dienst-Befehle

# Status prüfen
sudo systemctl status netrecon-agent

# Stoppen
sudo systemctl stop netrecon-agent

# Starten
sudo systemctl start netrecon-agent

# Neu starten
sudo systemctl restart netrecon-agent

# Protokolle anzeigen
sudo journalctl -u netrecon-agent -f

Deinstallation

Debian/Ubuntu:

sudo systemctl stop netrecon-agent
sudo apt remove netrecon-agent

RHEL/Fedora:

sudo systemctl stop netrecon-agent
sudo dnf remove netrecon-agent

SELinux-Konfiguration

Auf RHEL/Fedora-Systemen mit erzwingendem SELinux benötigt der Agent ein Policy-Modul:

# Das Agent-Paket enthält eine SELinux-Policy, aber falls nötig:
sudo semanage fcontext -a -t bin_t '/usr/local/bin/netrecon-agent'
sudo restorecon -v /usr/local/bin/netrecon-agent

Falls SELinux den Netzwerkzugriff blockiert:

sudo setsebool -P netrecon_agent_can_network_connect 1

Firewall-Konfiguration

Der Agent benötigt nur ausgehendes HTTPS (Port 443). Keine eingehenden Regeln erforderlich.

# UFW (Ubuntu)
sudo ufw allow out 443/tcp

# firewalld (RHEL/Fedora)
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Fehlerbehebung

Agent startet nicht

# Dienststatus prüfen
sudo systemctl status netrecon-agent

# Protokolle prüfen
sudo journalctl -u netrecon-agent --no-pager -n 50

# Konfigurationsdatei-Syntax überprüfen
netrecon-agent validate-config

Zugriff verweigert

  • Stellen Sie sicher, dass die Agent-Binärdatei Ausführungsberechtigung hat: ls -la /usr/local/bin/netrecon-agent
  • SELinux-Verweigerungen prüfen: sudo ausearch -m AVC -ts recent

Verbindung verweigert

  • Konnektivität testen: curl -I https://probe.netreconapp.com/api/health
  • DNS-Auflösung prüfen: dig probe.netreconapp.com
  • Überprüfen, ob kein Proxy stört; ggf. no_proxy setzen

FAQ

F: Funktioniert der Agent auf Alpine Linux oder anderen musl-basierten Distributionen? A: Der Agent ist gegen glibc kompiliert. Alpine Linux und andere musl-basierte Distributionen werden derzeit nicht unterstützt.

F: Kann ich den Agent in einem Docker-Container ausführen? A: Obwohl technisch möglich, ist der Agent dafür konzipiert, das Host-System zu überwachen. Die Ausführung in einem Container schränkt seine Fähigkeit ein, Host-Level-Daten zu sammeln. Installieren Sie ihn stattdessen direkt auf dem Host.

F: Unterstützt der Agent ARM (32-Bit)? A: Der Linux Agent ist für amd64 (x86_64) und arm64 (aarch64) verfügbar. 32-Bit ARM wird nicht unterstützt.

Für weitere Hilfe kontaktieren Sie [email protected].