Skip to main content

Newt Agent installieren

Newt ist ein Reverse-Proxy-Agent von Pangolin, der Remote-Zugriff und Monitoring für Server ermöglicht. Diese Anleitung zeigt die Installation des Newt-Agents auf einem Linux-System. Für erhöhte Sicherheit empfehlen wir die Installation in einem dedizierten LXC LXC-Container auf Proxmox.

Voraussetzungen

  • Linux-System (Debian/Ubuntu empfohlen)
  • Root- oder sudo-Zugriff
  • Aktive Internetverbindung
  • Agent-ID und Secret aus dem Pangolin-Dashboard
ℹ️ Sicherheitshinweis: NewtDer Newt-Agent läuft mit root-Rechten und gibt Pangolinermöglicht Remote-Zugriff auf das System. DaherWir wirdempfehlen dringend die Installation in einem isolierten LXC Container dringend empfohlen.LXC-Container.

InhaltsverzeichnisInstallation


Was ist Newt?

Newt ist ein Agent-basiertes Monitoring- und Management-Tool, entwickelt von Pangolin. Es ermöglicht:

  • Remote-Zugriff auf Server ohne offene Firewall-Ports
  • System-Monitoring (CPU, RAM, Disk, Netzwerk)
  • Log-Aggregation und zentrale Überwachung
  • Remote-Befehlsausführung über das Pangolin Dashboard
  • Automatisierte Wartungsaufgaben

Architekturvorbereiten

System aktualisieren:

apt update && apt upgrade -y

Schritt 2: Newt arbeitetherunterladen

als

Automatische Reverse-ProxyInstallation (empfohlen):

┌─────────────┐curl HTTPS-fsSL (ausgehend)https://static.pangolin.net/get-newt.sh ┌──────────────────┐| │ Dein Server │ ──────────────────────────────────> │ Pangolin Backend │
│  (Newt)     │ <────────────────────────────────── │ app.pangolin.net │
└─────────────┘     Befehle/Monitoring-Daten       └──────────────────┘
bash

VorteileOder diesermanueller Architektur:Download:

    wget 
  • -O Keinenewt Firewall-Änderungen"https://github.com/fosrl/newt/releases/latest/download/newt_linux_amd64" notwendig
  • &&
  • chmod Keine+x offenen./newt Portssudo aufmv newt /usr/local/bin/newt
  • Schritt 3: Verbindung testen

    Vor dem ServerEinrichten

  • des VerschlüsselteServices die Verbindung (HTTPS)
  • manuell
  • testen. FunktioniertErsetze auchdie hinterWerte NAT
  • mit
deiner

Funktionsweise

Verbindungsaufbau

  1. Newt startetAgent-ID und verbindetSecret sichaus ausgehenddem zuPangolin-Dashboard:

    newt \
      --id DEINE_AGENT_ID \
      --secret DEIN_SECRET_KEY \
      --endpoint https://app.pangolin.net
  2. Authentifizierung

    Bei erfolgt über Agent-ID und Secret

  3. Verbindung bleibt permanent bestehen (Long-Polling/WebSocket)
  4. Pangolin kann über dieseerfolgreicher Verbindung Befehlemit senden
  5. Ctrl+C
beenden.

Datenfluss

Schritt 4:
RichtungDatenZweck
Server → PangolinMetriken (CPU, RAM, Disk)Monitoring/Dashboards
Server → PangolinLog-EinträgeZentrale Log-Verwaltung
Server → PangolinHeartbeat/StatusVerfügbarkeitsüberwachung
Pangolin → ServerShell-BefehleRemote-Management
Pangolin → ServerKonfigurationsänderungenAutomatisierung

Vorbereitung: LXC Container erstellen

⚠️ Wichtig: Newt sollte in einem dedizierten LXC Container laufen, um das Host-System zu schützen.

Container über Proxmox Web-GUISystemd-Service erstellen

    Service-Datei

  1. Imerstellen:

    Proxmox-Interface:
    nano Create/etc/systemd/system/newt.service
    CT
  2. Folgende

  3. General:Konfiguration
      einfügen
    • Hostname:(Werte anpassen):

      [Unit]
      Description=Pangolin Newt Agent
      After=network-online.target
      Wants=network-online.target
      
      [Service]
      Type=simple
      User=root
      ExecStart=/usr/local/bin/newt --id DEINE_AGENT_ID --secret DEIN_SECRET_KEY --endpoint https://app.pangolin.net
      Restart=always
      RestartSec=10
      
      [Install]
      WantedBy=multi-user.target

      Speichern und schließen (Ctrl+X, dann pangolin-newtY

    • ,
    • Unprivileged container: ✅ (empfohlen)
    • Password: Sicheres Root-Passwort vergeben
  4. Template:
    • Storage: Dein Template-Storage
    • Template:dann debian-12-standardEnter oder ubuntu-22.04-standard
  5. Disks:
    • Disk size: 8 GB (ausreichend für Newt)
    • Storage: Dein bevorzugter Storage
  6. CPU:
    • Cores: 1 (Newt benötigt wenig CPU)
  7. Memory:
    • Memory: 512 MB
    • Swap: 256 MB
  8. Network:
    • Bridge: vmbr0
    • IPv4: DHCP oder statische IP
    • IPv6: Nach Bedarf
).

ContainerSchritt über5: CLIService erstellen (Alternative)aktivieren

# TemplateSystemd herunterladenneu (fallsladen
nochsystemctl nicht vorhanden)
pveam update
pveam download local debian-12-standard_12.2-1_amd64.tar.zstdaemon-reload

# Service aktivieren
systemctl enable newt

# Service starten
systemctl start newt

# Status prüfen
systemctl status newt

Schritt 6: Überprüfen

Logs anzeigen:

journalctl -u newt -f

Der Agent sollte im Pangolin-Dashboard als online erscheinen.

LXC-Container erstellen (optional, empfohlen)

Für erhöhte Sicherheit einen dedizierten Container auf Proxmox erstellen:

pct create 200 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
  --hostname pangolin-newt \
  --memory 512 \
  --swap 256 \
  --cores 1 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --storage local-lvm \
  --rootfs local-lvm:8 \
  --unprivileged 1

\
  --features nesting=0

# Container starten
pct start 200
pct enter 200

Dann die Schritte 1-6 im Container durchführen.

Snapshot erstellen (empfohlen)

Vor der Newt-Installation einen Snapshot anlegen:

# Im Proxmox Host
pct snapshot 200 before-newt --description "CleanVor state before Pangolin Newt installation"
Newt-Installation"

So kannst du bei Problemen einfach zum sauberen Zustand zurückkehren.


Installation von NewtTroubleshooting

1.Service Instartet den Container einloggennicht

# Vom Proxmox Host
pct enter 200

# Oder per SSH (falls konfiguriert)
ssh root@<container-ip>

2. System aktualisieren

# Debian/Ubuntu
apt update && apt upgrade -y

# Optional: Basis-Tools installieren
apt install -y curl wget nano htop net-tools

3. Newt Binary herunterladen

Die Newt-Binary erhältst du vom Pangolin Dashboard nach der Registrierung.

4. Binary installieren

# Binary nach /usr/local/bin verschieben
mv /tmp/newt /usr/local/bin/newt

# Ausführbar machen
chmod +x /usr/local/bin/newt

# Besitzer setzen
chown root:root /usr/local/bin/newt

# Installation verifizieren
/usr/local/bin/newt --version

5. Erstmaliger Test-Start

Vor der systemd-Integration solltest du Newt einmal manuell testen:

/usr/local/bin/newt \
  --id 31frd0uzbjvp721 \
  --secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
  --endpoint https://app.pangolin.net
✅ Erfolgreiche Verbindung:
[INFO] Connected to Pangolin endpoint
[INFO] Agent registered successfully
[INFO] Awaiting commands...
❌ Fehler bei Verbindung:
  • ID/Secret falsch → Im Pangolin Dashboard überprüfen
  • Network unreachable → Firewall/Internet-Verbindung prüfen
  • Certificate error → System-Zeit prüfen (date)

Mit Ctrl+C beenden, wenn der Test erfolgreich war.


Systemd Service einrichten

1. Service-Datei erstellen

nano /etc/systemd/system/newt.service

2. Service-Konfiguration

Folgende Konfiguration einfügen (Werte anpassen!):

[Unit]
Description=Pangolin Newt Agent
Documentation=https://docs.pangolin.net
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
Group=root

# Newt-Binary mit deinen Credentials
ExecStart=/usr/local/bin/newt \
  --id 31frd0uzbjvp721 \
  --secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
  --endpoint https://app.pangolin.net

# Restart-Verhalten
Restart=always
RestartSec=10
StartLimitInterval=0

# Sicherheits-Optionen (optional, aber empfohlen)
NoNewPrivileges=false
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/log /tmp

# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=newt

[Install]
WantedBy=multi-user.target

Parameter-Erklärung

ParameterBeschreibung
--idAgent-ID aus dem Pangolin Dashboard
--secretSecret-Key zur Authentifizierung
--endpointPangolin Backend-URL (Standard: app.pangolin.net)
Restart=alwaysAutomatischer Neustart bei Crashes
RestartSec=1010 Sekunden warten vor Neustart
After=network-online.targetErst starten wenn Netzwerk verfügbar

3. Service aktivieren und starten

# Systemd neu laden
systemctl daemon-reload

# Service beim Boot aktivieren
systemctl enable newt

# Service starten
systemctl start newt

# Status prüfen
systemctl status newt 

4. Erfolgreiche Installation verifizieren

# Service läuft?
systemctl is-active newt
# Ausgabe: active

# Logs anzeigen
journalctl -u newt -f

# Letzte 50 Zeilenl
journalctl -u newt -n 50

Erwartete Log-Ausgabe

Feb 08 12:34:56 pangolin-newt systemd[1]: Started Pangolin Newt Agent.
Feb 08 12:34:56 pangolin-newt newt[1234]: [INFO] Starting Newt agent v1.2.3
Feb 08 12:34:57 pangolin-newt newt[1234]: [INFO] Connecting to https://app.pangolin.net
Feb 08 12:34:58 pangolin-newt newt[1234]: [INFO] Connected successfully
Feb 08 12:34:58 pangolin-newt newt[1234]: [INFO] Agent ID: 31frd0uzbjvp721
Feb 08 12:34:58 pangolin-newt newt[1234]: [INFO] Awaiting commands...

Monitoring und Wartung

Service-Status überwachen

# Aktueller Status
systemctl status newt

# Ist der Service aktiviert?
systemctl is-enabled newt

# Läuft der Service?
systemctl is-active newt

# Service neu starten
systemctl restart newt

# Service stoppen
systemctl stop newt

Logs analysieren

# Live-Logs verfolgen
journalctl -u newt -f

# Logs der letzten Stunde
journalctl -u newt --since "1 hour ago"

# Logs seit letztem Boot
journalctl -u newt -b

# Nur Fehler anzeigen
journalctl -u newt -p err

# Logs exportieren
journalctl -u newt > /tmp/newt-logs.txt

Netzwerk-Verbindungen prüfen

# Aktive Verbindungen von Newt
ss -tulpn | grep newt

# Alternativ mit netstat
netstat -tulpn | grep newt

# Beispiel-Ausgabe (eine ausgehende HTTPS-Verbindung):
# tcp   ESTAB   0   0   10.0.0.100:45678   1.2.3.4:443   users:(("newt",pid=1234))

Ressourcen-Verbrauch überwachen

# CPU und RAM von Newt-Prozess
ps aux | grep newt

# Detaillierte Prozess-Info
top -p $(pidof newt)

# Oder mit htop (interaktiv)
htop -p $(pidof newt)

Automatische Benachrichtigungen (optional)

Systemd kann dich benachrichtigen, wenn der Service fehlschlägt:

# In /etc/systemd/system/newt.service ergänzen:
[Unit]
OnFailure=notify-email@%n.service

# Erfordert Einrichtung von notify-email Service

Sicherheitsaspekte

Risikobewertung

⚠️ Kritische Punkte

  • Root-Zugriff: Newt läuft mit vollen root-Rechten
  • Remote-Kontrolle: Pangolin kann Befehle auf dem System ausführen
  • Datenübertragung: System-Metriken werden an Pangolin gesendet
  • Secret-Speicherung: Credentials sind in Klartext in der Service-Datei

Sicherheitsmaßnahmen

1. Container-Isolation (wichtigste Maßnahme!)

# Container-Konfiguration überprüfen
pct config 200

# Sicherstellen dass unprivileged aktiviert ist
pct set 200 -unprivileged 1

# Nesting deaktivieren (verhindert Container-in-Container)
pct set 200 -features nesting=0

# Optional: AppArmor-Profil setzen
pct set 200 -protection 1

2. Ressourcen-Limits setzen

# CPU-Limit (verhindert DoS durch hohe CPU-Last)
pct set 200 -cpulimit 1

# RAM-Limit
pct set 200 -memory 512 -swap 256

# Disk-I/O-Limit
pct set 200 -iops_rd 2000 -iops_wr 2000

3. Netzwerk-Isolation

Optionale Firewall-Regeln im Container:

# UFW installieren und konfigurieren
apt install -y ufw

# Nur ausgehende HTTPS-Verbindungen zu Pangolin erlauben
ufw default deny incoming
ufw default deny outgoing
ufw allow out 443/tcp to app.pangolin.net

# Firewall aktivieren
ufw enable

4. Secrets schützen

Service-Datei-Rechte einschränken:

# Nur root darf Service-Datei lesen
chmod 600 /etc/systemd/system/newt.service
chown root:root /etc/systemd/system/newt.service

# Systemd neu laden
systemctl daemon-reload

5. Audit-Logging aktivieren

# Auditd installieren
apt install -y auditd

# Newt-Prozess überwachen
auditctl -w /usr/local/bin/newt -p x -k newt-execution

# Logs anzeigen
ausearch -k newt-execution

Regelmäßige Sicherheitschecks

CheckBefehlFrequenz
Service-Statussystemctl status newtTäglich
Ungewöhnliche Aktivitätjournalctl -u newt -p warningWöchentlich
Netzwerk-Verbindungenss -tulpn | grep newtWöchentlich
Updates verfügbarPangolin Dashboard prüfenMonatlich
Container-Backuppct backup 200Monatlich

GDPR/Datenschutz-Überlegungen

📋 Datenschutz-Checkliste

  • ❓ Welche Daten werden an Pangolin übertragen?
  • ❓ Wo werden die Daten gespeichert (EU/USA)?
  • ❓ Gibt es einen Data Processing Agreement (DPA)?
  • ❓ Sind personenbezogene Daten im Container?
  • ❓ Ist dies in der Datenschutzerklärung dokumentiert?

Für kommerzielle Nutzung (z.B. Nyrux-Kunden) diese Punkte klären!


Troubleshooting

Problem: Service startet nicht

# Detaillierte Fehlerinfo
systemctl status newt -l

# Service-Datei auf Syntaxfehler prüfen
systemd-analyze verify /etc/systemd/system/newt.service

# Manuell starten für detaillierte Fehler
/usr/local/bin/newt --id ... --secret ... --endpoint ...

Häufige Ursachen:

  • Binary fehlt in /usr/local/bin/newt
  • Keine Ausführungsrechte: chmod +x /usr/local/bin/newt
  • ❌ Tippfehler in ID/Secret
  • Falsche ZeilenumbrücheAgent-ID inoder Service-DateiSecret

Problem: Verbindung zu Pangolin schlägt fehlfehlgeschlagen

# Netzwerk-Konnektivität testen
ping -c 4 app.pangolin.net

# HTTPS-Verbindung testen
curl -I https://app.pangolin.net

# DNS-Auflösung prüfen
nslookup app.pangolin.net
dig app.pangolin.net

Häufige Ursachen:

  • Keine Internet-Verbindung im ContainerInternetverbindung
  • DNS-Probleme DNS-Server nicht konfiguriert:(prüfe /etc/resolv.conf prüfen)
  • Firewall blockiert Port 443
  • Falsche System-ZeitSystemzeit (Zertifikatsprobleme):verursacht timedatectlZertifikatsfehler)

Problem: Agent wirdoffline im Dashboard als offline angezeigt

# Service läuft lokal?
systemctl is-active newt

# Logs auf Connection-Errors prüfen
journalctl -u newt | grep -i error

# Netzwerk-Verbindung aktiv?
ss -tulpn | grep newt

MöglicheAgent-ID Ursachen:

und
  • ❌ ID/Secret stimmt nicht mit Dashboard überein
  • ❌ Agent wurde im Dashboard gelöscht/deaktiviert
  • ❌ Netzwerk-Unterbrechung
  • ❌ Pangolin-Backend hat Probleme (Status-Page prüfen)

Problem: Hoher Ressourcen-Verbrauch

# Prozess-Details anzeigen
ps aux | grep newt

# Netzwerk-Traffic messen
iftop -i eth0
# oder
nethogs

# Disk-I/O überwachen
iotop

Mögliche Lösungen:überprüfen.

  • Container-Ressourcen erhöhen (RAM/CPU)
  • Monitoring-Intervall in Pangolin anpassen
  • Log-Level reduzieren
  • Support bei Pangolin kontaktieren

Problem: Service startet nach Reboot nicht automatisch

# Service-Status prüfen
systemctl is-enabled newt

# Falls disabled, aktivieren:
systemctl enable newt

# Verify dependency chain
systemctl list-dependencies newt

Notfall: Container zurücksetzen

Falls Newt Probleme macht, zum Snapshot zurückkehren:

# Vom Proxmox Host
pct stop 200
pct rollback 200 before-newt
pct start 200

Zusätzliche Ressourcen

Offizielle Dokumentation

Proxmox Dokumentation

Systemd Dokumentation


Wartungs-Checkliste

AufgabeFrequenzBefehl/Aktion
Service-Status prüfenTäglichsystemctl status newt
Logs durchsehenWöchentlichjournalctl -u newt -p warning
Ressourcen überwachenWöchentlichhtop -p $(pidof newt)
System-UpdatesMonatlichapt update && apt upgrade -y
Newt-UpdatesMonatlichPangolin Dashboard prüfen
Container-BackupMonatlichpct backup 200 oder Proxmox Backup Jobs
Sicherheits-AuditQuartalsweiseLogs, Netzwerk, Berechtigungen prüfen

Deinstallation

Falls du Newt wieder entfernen möchtest:

# Service stoppen und deaktivieren
systemctl stop newt
systemctl disable newt

# Service-Datei entfernen
rm /etc/systemd/system/newt.service
systemctl daemon-reload
# Binary entfernen
rm /usr/local/bin/newt
#

Bei Optional:LXC-Container:

Container komplett löschen # (Vom Proxmox Host)
pct stop 200
pct destroy 200
💡

Nächste Tipp:Schritte

Beim

Nach Löschenerfolgreicher desInstallation Agentskannst du:

  • Public Resources im Pangolin Pangolin-Dashboard wirderstellen
  • dieser
  • Private automatischResources alsfür offlineVPN-Zugriff markiert.konfigurieren
  • Der
  • Monitoring lokaleund ServiceAlerts musseinrichten
  • separat
  • Weitere deaktiviertSites werden.
hinzufügen

Weitere Informationen in der Pangolin-Dokumentation.